package com.prolog.eis.dto.shelves;

import com.prolog.eis.utils.GoodsPropertyUtils;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * @author zhanghan
 */
@Data
public class GoodsInfoDTO {

    @ApiModelProperty("任务明细Id")
    private String taskId;

    /*@ApiModelProperty("商品属性唯一Id")
    private Long bizPropertyId;*/

    @ApiModelProperty("商品id")
    private String wareHouse;

    @ApiModelProperty("商品id")
    private String goodsId;

    @ApiModelProperty("批次Id")
    private String lotId;

    @ApiModelProperty("货主id")
    private String ownerId;

    @ApiModelProperty("包装id")
    private String packId;

    @ApiModelProperty("站台号")
    private String stationNo;

    @ApiModelProperty("站台ID")
    private Long stationId;

    @ApiModelProperty("商品ABC属性")
    private String abcType;

    @ApiModelProperty("任务总数量")
    private BigDecimal qty;

    @ApiModelProperty("上架数量")
    private BigDecimal inQty;

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

    @ApiModelProperty("商品条码(最小包装)")
    private String pieceBarcode;

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

    @ApiModelProperty("商品规格说明")
    private String specification;

    @ApiModelProperty("生产商ID/生产商名称")
    private String manufacturerId;

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

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

    @ApiModelProperty("最小单位")
    private String pieceUom;

    @ApiModelProperty("最小单位")
    private BigDecimal singleVolume;

    @ApiModelProperty("最小单位规格")
    private BigDecimal pieceConversionRate;

    @ApiModelProperty("生产商批号")
    private String manufacturerLotNum;

    @ApiModelProperty("商品大类(数字)")
    private String itemHealthCategory;

    @ApiModelProperty("商品大类(中文)")
    private String itemHealthCategoryName;

    @ApiModelProperty("生产日期")
    private Date batchProductionDate;

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

    @ApiModelProperty("生产日期")
    private Date batchExpiredDate;

    @ApiModelProperty("显示用过期日期")
    private String batchExpiredDateShow;

    @ApiModelProperty("货架号")
    private String palletNo;

    @ApiModelProperty("提示货位号")
    private String palletLocation;

    @ApiModelProperty("入库货位号")
    private String inPalletLocation;

    @ApiModelProperty("货架面")
    private String planes;

    @ApiModelProperty("托盘号")
    private String containerNo;

    @ApiModelProperty("容器任务ID")
    private Long containerOrderId;

    @ApiModelProperty("库存数量")
    private BigDecimal storeQty;

    @ApiModelProperty("当前站台货位正在作业数量")
    private BigDecimal currentQty;

    @ApiModelProperty("出库任务id")
    private Long outboundId;

    @ApiModelProperty("货架状态")
    private int palletStatus;

    @ApiModelProperty("货架所在区域")
    private String palletSubArea;

    @ApiModelProperty("单据编号")
    private String billNo;

    @ApiModelProperty("任务挂起人")
    private String hangUpUser;

    @ApiModelProperty("任务创建时间")
    private Date createTime;

    @ApiModelProperty("任务挂起时间")
    private Date hangUpTime;

    /**
     * 业务属性（多属性拼接）
     */
    private String property;

    public String getProperty(){
        return GoodsPropertyUtils.getGoodsProperty(this.getGoodsId(),this.lotId,this.ownerId,this.packId);
    }
    
}