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

import cn.estsh.i3plus.pojo.base.common.Pager;
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 JxOqcLastCheckDetailReportModel implements Serializable {

    private static final long serialVersionUID = -324922560305908655L;

    @ApiParam("工厂")
    private String organizeCode;

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

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

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

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

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

    @ApiParam("颜色")
    private String colorCode;

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

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

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

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

    @ApiParam("工单剩余未数量")
    private Double unFinishQty;

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

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

    @ApiParam("生产数量")
    private Double qty;

    @ApiParam("缺点数/不合格项目数")
    private Integer unQcQty;

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

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

    @ApiParam("检验结果背景颜色")
    private String checkResultColor;

    @ApiParam("总检测单号")
    private String checkNo;

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

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

    @ApiParam("备注")
    private String remark;

    @ApiParam("单据明细")
    private List<JxOqcLastCheckDetailReportModel> detailList;

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

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

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

    @ApiParam("包装条码")
    private String packageNo;

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

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

    @ApiParam("检验单类型")
    private String oqcNoTypeName;

    @ApiParam("检测数量")
    private Double oqcQty;

    @ApiParam("产品类型")
    private String snType;

    @ApiParam("产品类型")
    private String snTypeName;

    @ApiParam("检测方式")
    private Integer oqcType;

    @ApiParam("检测方式")
    private String oqcTypeName;

    @ApiParam("不良类型代码")
    private String badnessTypeCode;

    @ApiParam("不良类型名称")
    private String badnessTypeName;

    @ApiParam("不良分类代码")
    private String badnessClassifyCode;

    @ApiParam("不良分类名称")
    private String badnessClassifyName;

    @ApiParam("不良分类明细名称")
    private String badnessClassifyDetailName;

    @ApiParam("生产日期开始")
    private String workTimeStart;

    @ApiParam("生产日期结束")
    private String workTimeEnd;

    @ApiParam("pager")
    private Pager pager;

    public JxOqcLastCheckDetailReportModel() {}

    public JxOqcLastCheckDetailReportModel(String workTime, String workOrderNo, Integer workOrderType, String partNo, String partNameRdd,
                                           String workCenterCode, String shiftCode, Double planQty, Double spotCheckQty, Double checkLimit,
                                           Integer checkResult, String checkNo, String checkUser, String confirmTime, String remark, String colorCode) {
        this.workTime = workTime;
        this.workOrderNo = workOrderNo;
        this.workOrderType = workOrderType;
        this.partNo = partNo;
        this.partNameRdd = partNameRdd;
        this.workCenterCode = workCenterCode;
        this.shiftCode = shiftCode;
        this.planQty = planQty;
        this.spotCheckQty = spotCheckQty;
        this.checkLimit = checkLimit;
        this.checkResult = checkResult;
        this.checkNo = checkNo;
        this.checkUser = checkUser;
        this.confirmTime = confirmTime;
        this.remark = remark;
        this.colorCode = colorCode;
    }
}
