package cn.estsh.i3plus.pojo.wms.dto;

import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn;
import cn.estsh.i3plus.pojo.base.enumutil.WmsEnumUtil;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.GeneratedValue;
import javax.persistence.Id;

/**
 * @Description : 发运计划任务跟踪
 * @Reference :
 * @Author :QianHuaSheng
 * @CreateDate : 2020-04-27 4:37 下午
 * @Modify:
 **/
@Data
public class AssignmentDto {

    @Id
    @GeneratedValue(generator = "IDGenerator")
    @GenericGenerator(name = "IDGenerator", strategy = "assigned")
    @ApiParam(value = "主键", example = "0")
    public Long id;

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

    @ApiParam(value = "时间")
    private String createDatetime;

    @ApiParam(value = "零件号")
    private String partNo;

    @ApiParam(value = "零件号名称")
    private String partNameRdd;

    @ApiParam(value = "源存储区")
    private String srcZoneNo;

    @ApiParam(value = "客户编码")
    private String custNo;

    @ApiParam(value = "状态", example = "1")
    @AnnoOutputColumn(refClass = WmsEnumUtil.ORDER_DETAILS_STATUS.class, refForeignKey = "value", value = "description")
    private Integer itemStatus;

    @ApiParam(value = "状态中文描述", example = "1")
    private String itemStatusStr;

    @ApiParam(value = "出库数量")
    private Double outQty;

    public AssignmentDto(String orderNo, String createDatetime, String partNameRdd,
                         String srcZoneNo, String custNo, Integer itemStatus, Double outQty, String partNo) {
        this.orderNo = orderNo;
        this.createDatetime = createDatetime;
        this.partNameRdd = partNameRdd;
        this.srcZoneNo = srcZoneNo;
        this.custNo = custNo;
        this.itemStatus = itemStatus;
        this.outQty = outQty;
        this.partNo = partNo;
    }

    public AssignmentDto() {
    }

}
