package cn.estsh.i3plus.pojo.mes.model;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.Data;

import java.util.HashMap;
import java.util.Map;

/**
 * @Description:
 * @Author: jokelin
 * @Date: 2020/3/20 9:02 下午
 * @Modify:
 */
@Data
@Api("JIT队列列表Model")
public class QueueJitActualModel {

    private Long id;
    @ApiParam("vin")
    private String vinCode;
    @ApiParam("排序号")
    private Double seq;
    @ApiParam("分组队列编号")
    private String queueGroupNo;
    @ApiParam("组内编号")
    private Integer groupNo;
    @ApiParam("JIT排序号")
    private String jitSeq;

    @ApiParam("队列编号")
    private String jisActualNo;

    @ApiParam("工单类型")
    public Integer workType;

    @ApiParam("工单类型")
    public String workTypeName;

    @ApiParam("客户产线代码")
    private String custPlantCode;

    @ApiParam("客户产线代码")
    private String custProdLineCode;

    @ApiParam("产品位置代码")
    private String produceCtgyCode;

    @ApiParam("产品条码")
    private String productSn;

    @ApiParam("明细状态名称")
    private Integer detailStatus;

    @ApiParam("明细状态名称")
    private String detailStatusName;

    @ApiParam("创建人")
    private String createUser;

    @ApiParam("创建时间")
    private String createDatetime;

    @ApiParam("产品条码")
    private String serialNumber;

    @ApiParam("用量")
    private Double qty = 0d;

    @ApiParam("物料号")
    private String partNo;

    @ApiParam("物料号")
    private String partName;

    @ApiParam("mgn标识")
    private String mgnFlag;

    @ApiParam("单元格编号")
    private Map<String, String> cellNoMap = new HashMap<>();

    public QueueJitActualModel() {

    }

    public QueueJitActualModel(Long id, String vinCode, String jisActualNo, Integer workType, String custPlantCode, String produceCtgyCode,
                               String productSn, Integer detailStatus, String createUser, String createDatetime) {
        this.id = id;
        this.vinCode = vinCode;
        this.jisActualNo = jisActualNo;
        this.workType = workType;
        this.custPlantCode = custPlantCode;
        this.produceCtgyCode = produceCtgyCode;
        this.productSn = productSn;
        this.detailStatus = detailStatus;
        this.createUser = createUser;
        this.createDatetime = createDatetime;
    }

    public QueueJitActualModel(Long id, String vinCode, String jisActualNo, String partNo, String partName, String produceCtgyCode, Double qty,
                               String createUser, String createDatetime) {
        this.id = id;
        this.vinCode = vinCode;
        this.jisActualNo = jisActualNo;
        this.partNo = partNo;
        this.partName = partName;
        this.produceCtgyCode = produceCtgyCode;
        this.qty = qty;
        this.createUser = createUser;
        this.createDatetime = createDatetime;
    }

    public QueueJitActualModel(Long id, String vinCode, String jisActualNo, String produceCtgyCode, String custPlantCode, String createDatetime) {
        this.id = id;
        this.vinCode = vinCode;
        this.jisActualNo = jisActualNo;
        this.produceCtgyCode = produceCtgyCode;
        this.custPlantCode = custPlantCode;
        this.createDatetime = createDatetime;
    }
}
