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

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

import java.io.Serializable;
import java.util.List;

/**
 * @author wangjie
 * @version 1.0
 * @date 2021/1/15 15:32
 **/
@Data
@ApiModel("出货检验单model")
public class OqcCheckModel implements Serializable {

    private static final long serialVersionUID = 5519259629128916874L;

    @ApiParam("id")
    private Long id;

    @ApiParam("检验单号")
    private String oqcNo;

    @ApiParam("检验类型")
    private Integer oqcType;

    @ApiParam("工单号")
    private String orderNo;

    @ApiParam("物料编码")
    private String partNo;

    @ApiParam("物料名称")
    private String partName;

    @ApiParam("产品类别")
    private String categoryCode3;

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

    @ApiParam("生产线")
    private String workCenterCode;

    @ApiParam("生产日期")
    private String workTime;

    @ApiParam("班次")
    private String shiftCode;

    @ApiParam("计划数量")
    private Double planQty;

    @ApiParam("抽检数量")
    private Double spotCheckQty;

    @ApiParam("批次范围")
    private Double batchLimit;

    @ApiParam("已检测范围")
    private Double checkLimit;

    @ApiParam("检验结果")
    private Integer checkResult;

    @ApiParam("检验人")
    private String checkUser;

    @ApiParam("检验时间")
    private String checkTime;

    @ApiParam("工单类型")
    private Integer workOrderType;

    @ApiParam("检验类型名称")
    private String oqcTypeName;

    @ApiParam("检验结果名称")
    private String checkResultName;

    @ApiParam("工单类型名称")
    private String workOrderTypeName;

    @ApiParam("销售向")
    private String salesTo;

    public OqcCheckModel() {}

    public OqcCheckModel(Long id, String oqcNo, Integer oqcType, String orderNo, String partNo, String partName,
                         String categoryCode3, String serialNumber, String workCenterCode, String workTime,
                         String shiftCode, Double planQty, Double spotCheckQty, Double batchLimit, Double checkLimit,
                         Integer checkResult, String checkUser, String checkTime, Integer workOrderType) {
        this.id = id;
        this.oqcNo = oqcNo;
        this.oqcType = oqcType;
        this.orderNo = orderNo;
        this.partNo = partNo;
        this.partName = partName;
        this.categoryCode3 = categoryCode3;
        this.serialNumber = serialNumber;
        this.workCenterCode = workCenterCode;
        this.workTime = workTime;
        this.shiftCode = shiftCode;
        this.planQty = planQty;
        this.spotCheckQty = spotCheckQty;
        this.batchLimit = batchLimit;
        this.checkLimit = checkLimit;
        this.checkResult = checkResult;
        this.checkUser = checkUser;
        this.checkTime = checkTime;
        this.workOrderType = workOrderType;
    }

    public OqcCheckModel(Long id, String oqcNo, Integer oqcType, String partNo, String serialNumber, String workTime,
                         Integer checkResult, String categoryCode3, String salesTo) {
        this.id = id;
        this.oqcNo = oqcNo;
        this.oqcType = oqcType;
        this.partNo = partNo;
        this.serialNumber = serialNumber;
        this.workTime = workTime;
        this.checkResult = checkResult;
        this.categoryCode3 = categoryCode3;
        this.salesTo = salesTo;
    }
}
