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

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

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

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

    private static final long serialVersionUID = 2431375249127535418L;

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

    @ApiParam("操作人")
    private String userInfo;

    @ApiParam("操作人ID")
    private String userId;

    @ApiParam("返回信息")
    private String msg;

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

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

    @ApiParam("产量统计ID")
    private Long id;

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

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

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

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

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

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

    @ApiParam("作业时间")
    private String workTime;

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

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

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

    @ApiParam("班次完工数量")
    private Double completeQty;

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

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

    @ApiParam("当前检验类型名称")
    private String curOqcTypeName;

    @ApiParam("当前检验类型")
    private Integer curOqcType;

    @ApiParam("当前抽检数量")
    private Double curSpotCheckQty;

    @ApiParam("当前批次范围")
    private Double curBatchLimit;

    @ApiParam("当前检验结果")
    private String curCheckResultName;

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

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

    @ApiParam("批次范围")
    private Map<Integer, Double> batchLimitMap = new HashMap<>();

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

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

    @ApiParam("抽检数量框只读状态")
    private Map<Integer, Boolean> spotCheckQtyReadOnlyMap = new HashMap<>();

    @ApiParam("批次范围只读状态")
    private Map<Integer, Boolean> batchLimitReadOnlyMap = new HashMap<>();

    @ApiParam("生成检验单只读状态")
    private Map<Integer, Boolean> genOqcReadOnlyMap = new HashMap<>();

    @ApiParam("条码框只读状态")
    private Boolean snReadOnly = false;

    @ApiParam("切换只读状态")
    private Boolean changeReadOnly = false;

    @ApiParam("合格只读状态")
    private Boolean qcReadOnly = true;

    @ApiParam("不合格只读状态")
    private Boolean unQcReadOnly = true;

    @ApiParam("重制只读状态")
    private Boolean resetReadOnly = false;

    @ApiParam("重载检验项只读状态")
    private Boolean reloadCheckReadOnly = true;

}
