package com.prolog.rdc.tms.app.model.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 扫描调度商品信息查询
 *
 * @author lhb
 * @since 2022/4/11 14:17
 */
@Data
@ApiModel("扫描调度商品信息查询DTO")
public class ScanDispatchDetailDTO implements Serializable {

	private static final long serialVersionUID = 143259325234539797L;

	@ApiModelProperty(value = "主键")
	private String id;

	@ApiModelProperty(value = "订单号")
	private String orderNo;

	@ApiModelProperty(value = "运单ID")
	private String shipbillId;

	@ApiModelProperty(value = "运单编号")
	private String shipbillNo;

	@ApiModelProperty(value = "明细行号")
	private Integer seqno;

	@ApiModelProperty(value = "商品品类编码")
	private String itemCategoryCode;

	@ApiModelProperty(value = "商品ID")
	private Long itemId;

	@ApiModelProperty(value = "商品编码")
	private String itemCode;

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

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

	@ApiModelProperty(value = "包装类型  数据字典PACK_TYPE:1纸箱  2包装袋")
	private Integer packType;

	@ApiModelProperty(value = "包装类型名称  数据字典PACK_TYPE:1纸箱  2包装袋")
	private String packTypeName;

	@ApiModelProperty(value = "货物温层  数据字典CARGO_THERMOSPHERE:1常温 2冷藏 3冷冻")
	private Integer cargoThermosphere;

	@ApiModelProperty(value = "货物温层名称  数据字典CARGO_THERMOSPHERE:1常温 2冷藏 3冷冻")
	private String cargoThermosphereName;

	@ApiModelProperty(value = "件数")
	private BigDecimal pcs;

	@ApiModelProperty(value = "申请件数")
	private BigDecimal applyPcs;

	@ApiModelProperty(value = "体积")
	private BigDecimal volume;

	@ApiModelProperty(value = "重量")
	private BigDecimal weight;

	@ApiModelProperty(value = "备注")
	private String memo;

	@ApiModelProperty(value = "字符属性扩展1")
	private String extStr1;

	@ApiModelProperty(value = "字符属性扩展2")
	private String extStr2;

	@ApiModelProperty(value = "字符属性扩展3")
	private String extStr3;

	@ApiModelProperty(value = "字符属性扩展4")
	private String extStr4;

	@ApiModelProperty(value = "字符属性扩展5")
	private String extStr5;

	@ApiModelProperty(value = "数值属性扩展1")
	private BigDecimal extNum1;

	@ApiModelProperty(value = "数值属性扩展2")
	private BigDecimal extNum2;

	@ApiModelProperty(value = "数值属性扩展3")
	private BigDecimal extNum3;

	@ApiModelProperty(value = "数值属性扩展4")
	private BigDecimal extNum4;

	@ApiModelProperty(value = "数值属性扩展5")
	private BigDecimal extNum5;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "日期属性扩展1")
	private Date extDate1;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "日期属性扩展2")
	private Date extDate2;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "日期属性扩展3")
	private Date extDate3;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "日期属性扩展4")
	private Date extDate4;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "日期属性扩展5")
	private Date extDate5;

	@ApiModelProperty(value = "货主ID")
	private Long cargoOwnerId;

	@ApiModelProperty(value = "货主编码")
	private String cargoOwnerCode;

	@ApiModelProperty(value = "货主名称")
	private String cargoOwnerName;

	@ApiModelProperty(value = "默认存放仓库ID")
	private Long branchId;

	@ApiModelProperty(value = "默认存放仓库编码")
	private String branchCode;

	@ApiModelProperty(value = "默认存放仓库名称")
	private String branchName;

	@ApiModelProperty(value = "库存数量")
	private Integer inventoryPcs;

	@ApiModelProperty(value = "暂存位")
	private String stagingLocation;

	@ApiModelProperty(value = "单位体积")
	private BigDecimal unitVolume;

	@ApiModelProperty(value = "单位重量")
	private BigDecimal unitWeight;

	@ApiModelProperty(value = "计划发运日期")
	private Date planDeliveryDate;

	@ApiModelProperty(value = "计划入库日期")
	private Date planWarehousingDate;

	@ApiModelProperty(value = "实际入库日期")
	private Date actualWarehousingDate;
}
