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

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

import java.io.Serializable;

/**
 * @Description : MES扭矩采集模型
 * @Reference :
 * @Author : siliter.yuan
 * @CreateDate : 2020-05-22 11:53
 * @Modify:
 **/
@Data
@NoArgsConstructor
public class TorqueCollectionModel implements Serializable {

    private static final long serialVersionUID = -6376845639746448495L;

    @ApiParam("Vin")
    private String vinCode;

    @ApiParam("项目代码")
    private String prodCfgTypeCode;

    @ApiParam("等级代码")
    private String gradeCode;

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

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

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

    @ApiParam("PEST编码1")
    private Integer pest1;

    @ApiParam("PEST编码2")
    private Integer pest2;

    @ApiParam("PEST编码3")
    private Integer pest3;

    @ApiParam("PEST编码4")
    private Integer pest4;

    @ApiParam("PEST编码5")
    private Integer pest5;

    @ApiParam("PEST编码6")
    private Integer pest6;

    @ApiParam("PEST编码7")
    private Integer pest7;

    @ApiParam("PEST编码8")
    private Integer pest8;

    @ApiParam("扭矩枪编号")
    private Integer torqueNo;

    @ApiParam("PEST号")
    private Integer pestNum;

    @ApiParam("PEST数量")
    private Integer pestCount;

    /**
     * 1-未采集， 2-已采集, 3-无需打扭矩
     */
    @ApiParam("扭矩采集状态")
    private Integer torqueStatus;

    /**
     * 1-未绑定，2-已绑定
     */
    @ApiParam("关键件绑定状态")
    private Integer bindKeyPartStatus;

    @ApiParam("扭矩值")
    private Integer torqueValue;

    @ApiParam("确认扫描次数")
    private Integer checkScanCount;

    @ApiParam("组合码发送顺序")
    private Integer sendSeq;

    @ApiParam("黄枪规则")
    private Integer yellowGunRule;

    @ApiParam("是否截至顺序号")
    private Integer isEndSeq;

    @ApiParam("组合码")
    private String groupCode;

    @ApiParam("是否黄枪")
    private Integer isYellowGun;

    /**
     * 大枪查询结果构造方法
     * @param vinCode
     * @param prodCfgTypeCode
     * @param gradeCode
     * @param colorCode
     * @param partNo
     * @param partName
     * @param torqueNo
     * @param checkScanCount
     * @param sendSeq
     * @param yellowGunRule
     * @param isEndSeq
     * @param groupCode
     */
    public TorqueCollectionModel(String vinCode, String prodCfgTypeCode, String gradeCode, String colorCode, String partNo,
                                 String partName, Integer torqueNo, Integer checkScanCount, Integer sendSeq,
                                 Integer yellowGunRule, Integer isEndSeq, String groupCode) {
        this.vinCode = vinCode;
        this.prodCfgTypeCode = prodCfgTypeCode;
        this.gradeCode = gradeCode;
        this.colorCode = colorCode;
        this.partNo = partNo;
        this.partName = partName;
        this.torqueNo = torqueNo;
        this.checkScanCount = checkScanCount;
        this.sendSeq = sendSeq;
        this.yellowGunRule = yellowGunRule;
        this.isEndSeq = isEndSeq;
        this.groupCode = groupCode;
    }

    /**
     * 小枪结果数据构造方法
     * @param vinCode
     * @param prodCfgTypeCode
     * @param gradeCode
     * @param colorCode
     * @param partNo
     * @param partName
     * @param pest1
     * @param pest2
     * @param pest3
     * @param pest4
     * @param pest5
     * @param pest6
     * @param pest7
     * @param pest8
     * @param torqueNo
     */
    public TorqueCollectionModel(String vinCode, String prodCfgTypeCode, String gradeCode,
                                 String colorCode, String partNo, String partName, Integer pest1, Integer pest2,
                                 Integer pest3, Integer pest4, Integer pest5, Integer pest6, Integer pest7, Integer pest8,
                                 Integer torqueNo) {
        this.vinCode = vinCode;
        this.prodCfgTypeCode = prodCfgTypeCode;
        this.gradeCode = gradeCode;
        this.colorCode = colorCode;
        this.partNo = partNo;
        this.partName = partName;
        this.pest1 = pest1;
        this.pest2 = pest2;
        this.pest3 = pest3;
        this.pest4 = pest4;
        this.pest5 = pest5;
        this.pest6 = pest6;
        this.pest7 = pest7;
        this.pest8 = pest8;
        this.torqueNo = torqueNo;
    }
}
