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

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

    @JsonProperty(value = "id")
    @NotBlank(message = "记录id不能为空")
    private String id;

    /**
     * 位置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 = "locationStatus")
    private Integer locationStatus;

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

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

    /**
     * 位置坐标
     */
    @JsonProperty(value = "locationXyz")
    private String locationXyz;

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

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

    /**
     * 写入状态地址
     */
    @JsonProperty(value = "writeTaskAddress")
    private String writeTaskAddress;

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