package com.sy.coinage.workshop.req;

import com.sy.coinage.core.interceptor.Create;
import com.sy.coinage.core.interceptor.Update;

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

import org.hibernate.validator.constraints.Length;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import org.hibernate.validator.constraints.Range;
import lombok.Data;

/**
 * -添加请求bean
 */
@Data
public class WorkshopTransferDetailReq implements Serializable {

    private static final long serialVersionUID = 1L;
    /**
     * -id -10
     */
    @NotNull(message = "id不能为空", groups = {Update.class})
    @Range(min = 1, groups = {Update.class})
    private Integer id;
    /**
     * -迁移主表ID -10
     */
    @ApiModelProperty(value = "迁移主表ID", required = true)
    @NotNull(message = "迁移主表ID不能为空")
    private Integer transferId;
    /**
     * -明细类型（每个拍子一条记录；零箱,零枚可能有一条记录） 1: 整拍 2: 零箱 3:零枚 -10
     */
    @ApiModelProperty(value = "明细类型（每个拍子一条记录；零箱,零枚可能有一条记录） 1: 整拍 2: 零箱 3:零枚", required = true)
    @NotNull(message = "明细类型（每个拍子一条记录；零箱,零枚可能有一条记录） 1: 整拍 2: 零箱 3:零枚不能为空")
    private Integer type;
    /**
     * -rfid -12
     */
    @ApiModelProperty(value = "rfid", required = true)
    @NotBlank(message = "rfid不能为空")
    @Length(max = 12, message = "rfid长度12不正确")
    private String rfid;
    /**
     * -产品编号 -20
     */
    @ApiModelProperty(value = "产品编号", required = true)
    @NotBlank(message = "产品编号不能为空")
    @Length(max = 20, message = "产品编号长度20不正确")
    private String serialNumber;
    /**
     * -容器数量（拍子类型就是1，零箱类型是几箱，零枚就是总枚数） -10
     */
    @ApiModelProperty(value = "容器数量（拍子类型就是1，零箱类型是几箱，零枚就是总枚数）", required = true)
    @NotNull(message = "容器数量（拍子类型就是1，零箱类型是几箱，零枚就是总枚数）不能为空")
    private Integer qty;
    /**
     * -枚数总数 -10
     */
    @ApiModelProperty(value = "枚数总数", required = true)
    @NotNull(message = "枚数总数不能为空")
    private Integer qtyTotal;
    /**
     * -将rfid对应的冠字号范围，拼装成字符串，保存在此字端，用于页面展示 -100
     */
    @ApiModelProperty(value = "将rfid对应的冠字号范围，拼装成字符串，保存在此字端，用于页面展示", required = true)
    @NotBlank(message = "将rfid对应的冠字号范围，拼装成字符串，保存在此字端，用于页面展示不能为空")
    @Length(max = 100, message = "将rfid对应的冠字号范围，拼装成字符串，保存在此字端，用于页面展示长度100不正确")
    private String crownBetweenStr;

}
