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

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

import java.io.Serializable;

/**
 * @author wangjie
 * @version 1.0
 * @date 2021/1/15 15:32
 **/
@Data
@ApiModel("BU出货检验结果明细报表 MODEL")
public class JxOqcCheckReportModel implements Serializable {

    private static final long serialVersionUID = -2157256311162608054L;

    @ApiParam("id")
    private Long id;

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

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

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

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

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

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

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

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

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

    @ApiParam("单据号")
    private String oqcNo;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    @ApiParam("不良分类明细编码")
    private String badnessClassifyDetailCode;

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

    @ApiParam("组织代码")
    private String organizeCode;

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

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

    @ApiParam("修改人")
    private String modifyUser;

    @ApiParam("修改时间")
    private String modifyDatetime;

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

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

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

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

    @ApiParam("创建日期开始")
    public String createDatetimeStart;

    @ApiParam("创建日期结束")
    public String createDatetimeEnd;

    @ApiParam("成品=10/组件=20")
    private Integer pageType;

    @ApiParam("抽检范围开始")
    public Integer batchLimitStart;

    @ApiParam("抽检范围结束")
    public Integer batchLimitEnd;

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

    public JxOqcCheckReportModel() {}

    //出货检验月报日报
    public JxOqcCheckReportModel(String workTime, String oqcNo, String workOrderNo, Integer workOrderType, String partNo, String partNameRdd, String workCenterCode, String shiftCode,
                                 Integer oqcNoType, String serialNumber, String packageNo, Double qty, Double spotCheckQty, Double oqcQty, Integer oqcType, Integer checkResult,
                                 String checkUser, String checkTime, String badnessTypeCode, String badnessClassifyCode, String badnessClassifyDetailName,
                                 String createUser, String createDatetime, String modifyUser, String modifyDatetime, String categoryCode3, String salesTo) {
        this.workTime = workTime;
        this.oqcNo = oqcNo;
        this.workOrderNo = workOrderNo;
        this.workOrderType = workOrderType;
        this.partNo = partNo;
        this.partNameRdd = partNameRdd;
        this.workCenterCode = workCenterCode;
        this.shiftCode = shiftCode;
        this.oqcNoType = oqcNoType;
        this.serialNumber = serialNumber;
        this.packageNo = packageNo;
        this.qty = qty;
        this.spotCheckQty = spotCheckQty;
        this.oqcQty = oqcQty;
        this.oqcType = oqcType;
        this.checkResult = checkResult;
        this.checkUser = checkUser;
        this.checkTime = checkTime;
        this.badnessTypeCode = badnessTypeCode;
        this.badnessClassifyCode = badnessClassifyCode;
        this.badnessClassifyDetailName = badnessClassifyDetailName;
        this.createUser = createUser;
        this.createDatetime = createDatetime;
        this.modifyUser = modifyUser;
        this.modifyDatetime = modifyDatetime;
        this.categoryCode3 = categoryCode3;
        this.salesTo = salesTo;
    }
}
