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

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

    /**
     * 扫码器ID
     */
    @NotBlank(message = "扫码ID不能为空")
    @JsonProperty(value = "scanId")
    private String scanId;

    /**
     * 扫码器名称
     */
    @NotBlank(message = "扫码名称不能为空")
    @JsonProperty(value = "scanName")
    private String scanName;

    /**
     * 扫码器状态
     */
    @NotNull(message = "扫码状态不能为空")
    @JsonProperty(value = "scanStatus")
    private Integer scanStatus;

    /**
     * 扫码器类型
     */
    @NotNull(message = "扫码类型不能为空")
    @JsonProperty(value = "scanType")
    private Integer scanType;

    /**
     * 扫码器方法
     */
    @JsonProperty(value = "scanMethod")
    private String scanMethod;

    /**
     * 扫码器参数1
     */
    @JsonProperty(value = "param1")
    private String param1;

    /**
     * 扫码器参数2
     */
    @JsonProperty(value = "param2")
    private String param2;

    /**
     * 扫码器参数3
     */
    @JsonProperty(value = "param3")
    private String param3;

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

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

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

    /**
     * LED屏编号
     */
    @NotNull(message = "ledNo不能为空")
    @JsonProperty(value = "ledNo")
    private Integer ledNo;

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