package com.sy.coinage.workshop.req;

import javax.validation.Valid;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;

import com.sy.coinage.core.interceptor.Create;
import com.sy.coinage.workshop.req.vo.SerialNumberVO;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.List;

import lombok.Data;

/**
 * -车间出库单据（库房解缴|返检单据|）添加请求bean
 */
@Data
public class WorkshopOutboundReq implements Serializable {

    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "品名ID", required = true)
    @NotNull(message = "品名ID不能为空", groups = {Create.class})
    private Integer securitiesId;
//
//    @ApiModelProperty(value = "计划录入数量", required = true)
//    @NotNull(message = "计划录入数量不能为空")
//    private Integer planNum;
//
//
//    @ApiModelProperty(value = "整拍子数量, 外部出库必填")
//    @Min(1)
//    private Integer racketNum;

    @ApiModelProperty(value = "解缴单号，外部出库必填")
    @NotBlank(message = "解缴单号不能为空", groups = {Create.class})
    private String orderNo;

    @ApiModelProperty(value = "操作人ID", required = true)
    @NotNull(message = "操作人ID不能为空")
    private Integer operatorId;

    @ApiModelProperty(value = "checkId", required = true)
    @NotNull(message = "checkId不能为空")
    private Integer checkId;

    @ApiModelProperty(value = "扫描的rfid列表")
    private List<@Valid SerialNumberVO> autoLs;

    @ApiModelProperty(value = "手动录入rfid列表")
    private List<SerialNumberVO> manualLs;

    // 内部出库参数

    @ApiModelProperty(value = "临时库id")
    private Integer wareId;

    @ApiModelProperty(value = "零箱数")
    private Integer boxNum;

    @ApiModelProperty(value = "零枚数量")
    private Integer piecesTotal;

    @ApiModelProperty(value = "零箱冠字号起始值")
    private String crownFrom;

    @ApiModelProperty(value = "零箱冠字号结束值")
    private String crownTo;

}
