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

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;

/**
 * 
 *
 * 商品资料分页查询DTO
 *
 * @className :ItemPagingQueryDTO
 * @author :fanzw
 * @creationTime :2022/02/25
 * @description :
 *
 * @modifier :fanzw
 * @modifyTime :2022/02/25
 * @reviseRemarks:
 *
 * @version :1.0.0
 *
 */
@Data
@ApiModel("商品资料分页查询DTO")
public class ItemPagingQueryDTO implements Serializable {

	private static final long serialVersionUID = 1L;

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

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

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

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

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

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

	@ApiModelProperty(value = "商品品类层级  数据字典ITEM_CATEGORY_LEVEL")
	private Integer itemCategoryLevel;

	@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 = "长(cm)")
	private BigDecimal length;

	@ApiModelProperty(value = "宽(cm)")
	private BigDecimal width;

	@ApiModelProperty(value = "高(cm)")
	private BigDecimal heigth;

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

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

	@ApiModelProperty(value = "货值")
	private BigDecimal cargoValue;

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

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

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

	@ApiModelProperty(value = "状态:0：停用 1：启用")
	private Integer status;

	@ApiModelProperty(value = "状态:0：停用 1：启用")
	private String statusName;

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

	@ApiModelProperty(value = "所属部门ID")
	private String departmentId;

	@ApiModelProperty(value = "所属部门编码")
	private String departmentCode;

	@ApiModelProperty(value = "所属部门名称")
	private String departmentName;

	@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;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "创建时间")
	private Date createtime;

	@ApiModelProperty(value = "创建人")
	private String createperson;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "修改时间")
	private Date updatetime;

	@ApiModelProperty(value = "修改人")
	private String updateperson;

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

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

	@ApiModelProperty(value = "仓库ID")
	private Long branchId;

	@ApiModelProperty(value = "仓库编码")
	private String branchCode;

	@ApiModelProperty(value = "仓库名称")
	private String branchName;

	@ApiModelProperty(value = "温控区间（上限）")
	private BigDecimal temperatureCtlUpperLimit;

	@ApiModelProperty(value = "温控区间（下限）")
	private BigDecimal temperatureCtlLowerLimit;

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

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "批准文号有效期")
	private Date symbolExpirationDate;

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

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

	@ApiModelProperty(value = "生产厂商")
	private String factory;

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

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

	@ApiModelProperty(value = "剂型 数据字典ITEM_DOSE_TYPE: 1胶囊 2药片")
	private Integer doseType;

	@ApiModelProperty(value = "剂型 数据字典ITEM_DOSE_TYPE: 1胶囊 2药片")
	private String doseTypeName;

}
