package com.prolog.cs.base.gsp.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @Description 不合格报损明细表 
 * @Author Xiong  
 * @Date 2021-05-11 
 */

@Data
@ApiModel
public class GspUnqualifiedDestroyDVO implements Serializable {
	private static final long serialVersionUID =  891134317433131503L;

	@ApiModelProperty(value = "行ID",required = true) 
	@NotBlank(message = "行ID can not blank!") 
	private String id;

	@ApiModelProperty(value = "行号",required = true) 
	@NotBlank(message = "行号 can not blank!") 
	private String code;

	@ApiModelProperty(value = "单据ID",required = true) 
	@NotBlank(message = "单据ID can not blank!") 
	private String lossId;

	@ApiModelProperty(value = "单据编号",required = true) 
	@NotBlank(message = "单据编号 can not blank!") 
	private String lossCode;

	@ApiModelProperty(value = "仓配中心ID",required = true) 
	@NotBlank(message = "仓配中心ID can not blank!") 
	private String dcId;

	@ApiModelProperty(value = "仓ID",required = true) 
	@NotBlank(message = "仓ID can not blank!") 
	private String warehouseId;

	@ApiModelProperty(value = "货主id",required = true) 
	@NotBlank(message = "货主id can not blank!") 
	private String cargoOwnerId;

	@ApiModelProperty(value = "货位ID",required = true) 
	@NotBlank(message = "货位ID can not blank!") 
	private String locatorId;

	@ApiModelProperty(value = "货位编号",required = true) 
	@NotBlank(message = "货位编号 can not blank!") 
	private String locatorCode;

	@ApiModelProperty(value = "商品ID",required = true) 
	@NotBlank(message = "商品ID can not blank!") 
	private String itemId;

	@ApiModelProperty(value = "商品编号",required = true) 
	@NotBlank(message = "商品编号 can not blank!") 
	private String itemCode;

	@ApiModelProperty(value = "批号",required = true) 
	@NotBlank(message = "批号 can not blank!") 
	private String lotNum;

	//@ApiModelProperty(value = "不合格数量，前端隐藏不显示，但破损提交接口需传给后台",required = true)
	@NotNull(message = "不合格数量 can not blank!") 
	private String unqualifiedQty;

	@ApiModelProperty(value = "不合格原因") 
	private String unqualifiedReason;

	@ApiModelProperty(value = "质量情况反映") 
	private String qualityStatus;

	@ApiModelProperty(value = "所在部门意见")
	private String opinion;

	@ApiModelProperty(value = "状态10初始，20已审批",required = true) 
	@NotNull(message = "状态10初始，20已审批 can not blank!") 
	private String status;

	@ApiModelProperty(value = "破损数量，前端页面隐藏不显示，销毁数量不能大于破损数量") 
	private String lossQty;
	
	@ApiModelProperty(value = "销毁数量") 
	private String destroyQty;


	@ApiModelProperty(value = "原单据Id")
	private String refBillId;

	@ApiModelProperty(value = "原单据编号")
	private String refBillCode;
	
	@ApiModelProperty(value = "原单据LINE编号")
	private String refLineId;
	
	@ApiModelProperty(value = "不合格品来源")
	private String refBillType;

	@ApiModelProperty(value = "数量")
	private String quantity;

	@ApiModelProperty(value = "商品名称")
	private String itemName;

	@ApiModelProperty(value = "生产厂家")
	private String manufacturerName;

	@ApiModelProperty(value = "助记码")
	private String itemAssistantCode;

	@ApiModelProperty(value = "是否监管")
	private String itemHealthSuperviseFlag;

	@ApiModelProperty(value = "商品规格")
	private String specification;

	@ApiModelProperty(value = "产地")
	private String countryOriginName;

	@ApiModelProperty(value = "上市许可持有人")
	private String itemHealthListedLicensor;

	@ApiModelProperty(value = "单位")
	private String caseUom;

	@ApiModelProperty(value = "包装数")
	private BigDecimal caseConversionRate;

	@ApiModelProperty(value = "批次")
	private String batchId;

	@ApiModelProperty(value = "已申请销毁数量")
	private String destroyingQty;

	@ApiModelProperty(value = "商品大类")
	private String itemHealthCategory;

	@ApiModelProperty(value = "批准文号")
	private String itemHealthApprovalNbr;

	@ApiModelProperty(value = "注册证号")
	private String itemHealthRegisterNbr;

	@ApiModelProperty(value = "显示生产日期")
	private String batchProductionDateShow;

	@ApiModelProperty(value = "显示有效期至日期")
	private String batchExpiredDateShow;

	@ApiModelProperty("库区名称")
	private String warehouseAreaName;

	@ApiModelProperty("库别名称")
	private String warehouseAreaCategoryName;
}
