package org.wcs.model.dto.serve.convey;

import com.fasterxml.jackson.annotation.JsonProperty;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Getter;
import lombok.Setter;

/**
 * 添加输送点位请求
 */
@Getter
@Setter
public class AddConveyLocationReq {

    /**
     * 位置ID
     */
    @NotBlank(message = "位置ID不能为空")
    @JsonProperty(value = "locationId")
    private String locationId;

    /**
     * 业务位置ID
     */
    @NotBlank(message = "业务位置ID不能为空")
    @JsonProperty(value = "businessLocationId")
    private String businessLocationId;

    /**
     * 位置名称
     */
    @NotBlank(message = "位置名称不能为空")
    @JsonProperty(value = "locationName")
    private String locationName;

    /**
     * 位置类型
     */
    @NotNull(message = "位置类型不能为空")
    @JsonProperty(value = "locationType")
    private Integer locationType;

    /**
     * 位置状态
     */
    @NotNull(message = "位置状态不能为空")
    @JsonProperty(value = "locationStatus")
    private Integer locationStatus;

    /**
     * 路由ID
     */
    @NotNull(message = "路由ID不能为空")
    @JsonProperty(value = "locationRouter")
    private Integer locationRouter;

    /**
     * 区域ID
     */
    @NotNull(message = "区域ID不能为空")
    @JsonProperty(value = "areaId")
    private String areaId;

    /**
     * 所属plc
     */
    @NotNull(message = "所属plc不能为空")
    @JsonProperty(value = "plcId")
    private Integer plcId;

    /**
     * 读取状态地址
     */
    @JsonProperty(value = "readStatusAddress")
    private String readStatusAddress;

    /**
     * 写任务地址
     */
    @JsonProperty(value = "writeTaskAddress")
    private String writeTaskAddress;

    /**
     * 备注
     */
    @JsonProperty(value = "remark")
    private String remark;

}
