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

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 AddOrUpdateStackerStandReq {

    /**
     * 站台ID
     */
    @NotBlank( message = "站台ID不能为空")
    @JsonProperty(value = "standId")
    private String standId;

    /**
     * 堆垛机ID
     */
    @NotNull( message = "堆垛机ID不能为空")
    @JsonProperty(value = "stackerId")
    private Integer stackerId;

    /**
     * PLC ID
     */
    @NotNull( message = "PLC ID不能为空")
    @JsonProperty(value = "plcId")
    private Integer plcId;

    /**
     * 站台名称
     */
    @NotBlank( message = "站台名称不能为空")
    @JsonProperty(value = "standName")
    private String standName;

    /**
     * 站台状态
     */
    @NotNull( message = "站台状态不能为空")
    @JsonProperty(value = "standStatus")
    private Integer standStatus;

    /**
     * 巷道编号
     */
    @NotNull( message = "巷道编号不能为空")
    @JsonProperty(value = "laneId")
    private Integer laneId;

    /**
     * 站台位置
     */
    @NotNull( message = "站台位置不能为空")
    @JsonProperty(value = "standLocation")
    private String standLocation;

    /**
     * 站台坐标
     */
    @JsonProperty(value = "standXyz")
    private String standXyz;

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

    /**
     * 入站权限
     */
    @NotNull( message = "入站权限不能为空")
    @JsonProperty(value = "allowIn")
    private Integer allowIn;

    /**
     * 入站类型
     */
    @NotNull( message = "入站类型不能为空")
    @JsonProperty(value = "inType")
    private Integer inType;

    /**
     * 出站权限
     */
    @NotNull( message = "出站权限不能为空")
    @JsonProperty(value = "allowOut")
    private Integer allowOut;

    /**
     * 出站类型
     */
    @JsonProperty(value = "outType")
    private Integer outType;

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

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

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


}
