package com.xisc.pm.domain.entity;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.xisc.pm.infra.constant.Constants;
import com.xisc.pm.infra.util.Utils;
import io.choerodon.mybatis.annotation.ModifyAudit;
import io.choerodon.mybatis.annotation.VersionAudit;
import io.choerodon.mybatis.domain.AuditDomain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 组板板坯表(PmPdSlab)实体类
 *
 * @author 纪文桃 wentao.ji01@hand-china.com
 * @since 2024-07-31 16:30:30
 */

@Getter
@Setter
@ApiModel("组板板坯表")
@VersionAudit
@ModifyAudit
@JsonInclude(value = JsonInclude.Include.NON_NULL)
@Table(name = "PM_PD_SLAB")
public class PmPdSlab extends AuditDomain implements Serializable {
    private static final long serialVersionUID = -57890867299467439L;

    public static final String FIELD_PM_PD_SLAB_ID = "pmPdSlabId";
    public static final String FIELD_VIRTUAL_SLAB_NO = "virtualSlabNo";
    public static final String FIELD_MAT_DESIGN_KIND = "matDesignKind";
    public static final String FIELD_SLAB_NO = "slabNo";
    public static final String FIELD_PONO = "pono";
    public static final String FIELD_SLAB_DIV_NO = "slabDivNo";
    public static final String FIELD_PD_STATUS_HP = "pdStatusHp";
    public static final String FIELD_PD_RESP = "pdResp";
    public static final String FIELD_FORM_PLATE_MODE = "formPlateMode";
    public static final String FIELD_PICK_MODE_LEN_DIR = "pickModeLenDir";
    public static final String FIELD_PICK_MODE_WID_DIR = "pickModeWidDir";
    public static final String FIELD_FUR_TYPE = "furType";
    public static final String FIELD_IG_MAT_DESIGN_KIND = "igMatDesignKind";
    public static final String FIELD_INGOT_TYPE = "ingotType";
    public static final String FIELD_AUTO_MANUAL_FLAG = "autoManualFlag";
    public static final String FIELD_ORDER_REMAIN_DIV = "orderRemainDiv";
    public static final String FIELD_CAN_DEL_FLAG = "canDelFlag";
    public static final String FIELD_ORDER_NUM_IN_PLATE = "orderNumInPlate";
    public static final String FIELD_TOT_SMALL_PLATE_NUM = "totSmallPlateNum";
    public static final String FIELD_AD_TYPE_CODE = "adTypeCode";
    public static final String FIELD_AD_MODE_CODE = "adModeCode";
    public static final String FIELD_ULT_CODE = "ultCode";
    public static final String FIELD_ULT_DETECT_METHOD_CODE = "ultDetectMethodCode";
    public static final String FIELD_COOL_CODE = "coolCode";
    public static final String FIELD_CTRL_ROLL_CODE = "ctrlRollCode";
    public static final String FIELD_WITH_SIDE_FLAG = "withSideFlag";
    public static final String FIELD_CUT_MODE_CODE = "cutModeCode";
    public static final String FIELD_HEAD_CUT = "headCut";
    public static final String FIELD_TAIL_CUT = "tailCut";
    public static final String FIELD_URG_ORDER_FLAG = "urgOrderFlag";
    public static final String FIELD_SG_SIGN = "sgSign";
    public static final String FIELD_ST_NO = "stNo";
    public static final String FIELD_ST_NO1 = "stNo1";
    public static final String FIELD_ST_NO2 = "stNo2";
    public static final String FIELD_ST_NO3 = "stNo3";
    public static final String FIELD_ST_NO4 = "stNo4";
    public static final String FIELD_ST_NO5 = "stNo5";
    public static final String FIELD_ST_NO6 = "stNo6";
    public static final String FIELD_ST_NO7 = "stNo7";
    public static final String FIELD_ST_NO8 = "stNo8";
    public static final String FIELD_ST_NO9 = "stNo9";
    public static final String FIELD_OUT_SG_NO = "outSgNo";
    public static final String FIELD_SG_DECIDE_TIME = "sgDecideTime";
    public static final String FIELD_TWO_ROLL_INTERIM_FLAG = "twoRollInterimFlag";
    public static final String FIELD_PRE_CLEAN_SLAB_THICK = "preCleanSlabThick";
    public static final String FIELD_PRE_CLEAN_SLAB_WIDTH = "preCleanSlabWidth";
    public static final String FIELD_PRE_CLEAN_SLAB_LEN = "preCleanSlabLen";
    public static final String FIELD_PRE_CLEAN_SLAB_MAX_LEN = "preCleanSlabMaxLen";
    public static final String FIELD_PRE_CLEAN_SLAB_MIN_LEN = "preCleanSlabMinLen";
    public static final String FIELD_PRE_CLEAN_SLAB_WT = "preCleanSlabWt";
    public static final String FIELD_PRE_CLEAN_SLAB_MAX_WT = "preCleanSlabMaxWt";
    public static final String FIELD_PRE_CLEAN_SLAB_MIN_WT = "preCleanSlabMinWt";
    public static final String FIELD_INFUR_SLAB_THICK = "infurSlabThick";
    public static final String FIELD_INFUR_SLAB_WID = "infurSlabWid";
    public static final String FIELD_INFUR_SLAB_LEN = "infurSlabLen";
    public static final String FIELD_INFUR_SLAB_MAX_LEN = "infurSlabMaxLen";
    public static final String FIELD_INFUR_SLAB_MIN_LEN = "infurSlabMinLen";
    public static final String FIELD_INFUR_SLAB_WT = "infurSlabWt";
    public static final String FIELD_INFUR_SLAB_MAX_WT = "infurSlabMaxWt";
    public static final String FIELD_INFUR_SLAB_MIN_WT = "infurSlabMinWt";
    public static final String FIELD_NEED_SLAB_LEN = "needSlabLen";
    public static final String FIELD_NEED_SLAB_WT = "needSlabWt";
    public static final String FIELD_FIX_SLAB_LEN_FLAG = "fixSlabLenFlag";
    public static final String FIELD_FIX_SLAB_LEN = "fixSlabLen";
    public static final String FIELD_SLAB_CLEAN_WT_LOSS_RATE_ST = "slabCleanWtLossRateSt";
    public static final String FIELD_SLAB_CLEAN_WT_LOSS_RATE_FR = "slabCleanWtLossRateFr";
    public static final String FIELD_HP_FLAME_CLEAN_DIV = "hpFlameCleanDiv";
    public static final String FIELD_SLAB_FINISH_CODE = "slabFinishCode";
    public static final String FIELD_SLAB_PLACE_CODE = "slabPlaceCode";
    public static final String FIELD_ROLL_AIM_THICK = "rollAimThick";
    public static final String FIELD_ROLL_AIM_WIDTH = "rollAimWidth";
    public static final String FIELD_ROLL_AIM_LEN = "rollAimLen";
    public static final String FIELD_ORDER_THICK_AXIS = "orderThickAxis";
    public static final String FIELD_COMBINE_PLATE_WIDTH = "combinePlateWidth";
    public static final String FIELD_COMBINE_PLATE_LEN = "combinePlateLen";
    public static final String FIELD_ROLL_WT_HP = "rollWtHp";
    public static final String FIELD_ROLL_THICK_TOL_MAX = "rollThickTolMax";
    public static final String FIELD_ROLL_THICK_TOL_MIN = "rollThickTolMin";
    public static final String FIELD_NORM_YIELD = "normYield";
    public static final String FIELD_COMMAND_YIELD = "commandYield";
    public static final String FIELD_ROLL_YIELD = "rollYield";
    public static final String FIELD_EDGER_USE_FLAG = "edgerUseFlag";
    public static final String FIELD_BROAD_MAS_USE_FLAG = "broadMasUseFlag";
    public static final String FIELD_FORM_MAS_USE_FLAG = "formMasUseFlag";
    public static final String FIELD_ROLL_DIRECT_CODE = "rollDirectCode";
    public static final String FIELD_SAMPLE_LEN_HEAD = "sampleLenHead";
    public static final String FIELD_SAMPLE_LEN_TAIL = "sampleLenTail";
    public static final String FIELD_SAMPLE_LEN_MID = "sampleLenMid";
    public static final String FIELD_RS_CODE = "rsCode";
    public static final String FIELD_BROAD_FLAG = "broadFlag";
    public static final String FIELD_ORDER_NO_AXIS = "orderNoAxis";
    public static final String FIELD_MSC_LINE_NO = "mscLineNo";
    public static final String FIELD_LAST_SLAB_FLAG = "lastSlabFlag";
    public static final String FIELD_ADD_SLAB_FLAG = "addSlabFlag";
    public static final String FIELD_SHP_CODE = "shpCode";
    public static final String FIELD_TAPER_ROLL_THICK1 = "taperRollThick1";
    public static final String FIELD_TAPER_ROLL_THICK_MAX1 = "taperRollThickMax1";
    public static final String FIELD_TAPER_ROLL_THICK_MIN1 = "taperRollThickMin1";
    public static final String FIELD_TAPER_ROLL_THICK2 = "taperRollThick2";
    public static final String FIELD_TAPER_ROLL_THICK_MAX2 = "taperRollThickMax2";
    public static final String FIELD_TAPER_ROLL_THICK_MIN2 = "taperRollThickMin2";
    public static final String FIELD_TAPER_ROLL_THICK3 = "taperRollThick3";
    public static final String FIELD_TAPER_ROLL_THICK_MAX3 = "taperRollThickMax3";
    public static final String FIELD_TAPER_ROLL_THICK_MIN3 = "taperRollThickMin3";
    public static final String FIELD_TAPER_ROLL_WIDTH = "taperRollWidth";
    public static final String FIELD_TAPER_ROLL_LEN1 = "taperRollLen1";
    public static final String FIELD_TAPER_ROLL_LEN2 = "taperRollLen2";
    public static final String FIELD_TAPER_ROLL_LEN3 = "taperRollLen3";
    public static final String FIELD_TAPER_ROLL_LEN4 = "taperRollLen4";
    public static final String FIELD_TAPER_ROLL_THICK4 = "taperRollThick4";
    public static final String FIELD_TAPER_ROLL_THICK_MAX4 = "taperRollThickMax4";
    public static final String FIELD_TAPER_ROLL_THICK_MIN4 = "taperRollThickMin4";
    public static final String FIELD_TAPER_ROLL_THICK5 = "taperRollThick5";
    public static final String FIELD_TAPER_ROLL_THICK_MAX5 = "taperRollThickMax5";
    public static final String FIELD_TAPER_ROLL_THICK_MIN5 = "taperRollThickMin5";
    public static final String FIELD_TAPER_ROLL_THICK6 = "taperRollThick6";
    public static final String FIELD_TAPER_ROLL_THICK_MAX6 = "taperRollThickMax6";
    public static final String FIELD_TAPER_ROLL_THICK_MIN6 = "taperRollThickMin6";
    public static final String FIELD_TAPER_ROLL_THICK7 = "taperRollThick7";
    public static final String FIELD_TAPER_ROLL_THICK_MAX7 = "taperRollThickMax7";
    public static final String FIELD_TAPER_ROLL_THICK_MIN7 = "taperRollThickMin7";
    public static final String FIELD_TAPER_ROLL_LEN6 = "taperRollLen6";
    public static final String FIELD_TAPER_ROLL_LEN7 = "taperRollLen7";
    public static final String FIELD_TENANT_ID = "tenantId";
    public static final String FIELD_OBJECT_VERSION_NUMBER = "objectVersionNumber";
    public static final String FIELD_CREATION_DATE = "creationDate";
    public static final String FIELD_CREATED_BY = "createdBy";
    public static final String FIELD_LAST_UPDATED_BY = "lastUpdatedBy";
    public static final String FIELD_LAST_UPDATE_DATE = "lastUpdateDate";
    public static final String FIELD_ATTRIBUTE1 = "attribute1";
    public static final String FIELD_ATTRIBUTE2 = "attribute2";
    public static final String FIELD_ATTRIBUTE3 = "attribute3";
    public static final String FIELD_ATTRIBUTE4 = "attribute4";
    public static final String FIELD_ATTRIBUTE5 = "attribute5";

//
// 业务方法(按public protected private顺序排列)
// ------------------------------------------------------------------------------

//
// 数据库字段
// ------------------------------------------------------------------------------

    @ApiModelProperty("主键ID")
    @Id
    @GeneratedValue
    private Long pmPdSlabId;
    @ApiModelProperty(value = "虚拟板坯号", required = true)
    @NotBlank
    private String virtualSlabNo;
    @ApiModelProperty(value = "材料设计种类")
    private String matDesignKind;
    @ApiModelProperty(value = "板坯号")
    private String slabNo;
    @ApiModelProperty(value = "制造命令号")
    private String pono;
    @ApiModelProperty(value = "板坯分割号")
    private BigDecimal slabDivNo;
    @ApiModelProperty(value = "厚板组板状态")
    private String pdStatusHp;
    @ApiModelProperty(value = "组板责任者")
    private String pdResp;
    @ApiModelProperty(value = "组板方式")
    private String formPlateMode;
    @ApiModelProperty(value = "取板方式_长度方向")
    private BigDecimal pickModeLenDir;
    @ApiModelProperty(value = "取板方式_宽度方向")
    private BigDecimal pickModeWidDir;
    @ApiModelProperty(value = "加热炉类型")
    private String furType;
    @ApiModelProperty(value = "钢锭材料设计种类", required = true)
    @NotBlank
    private String igMatDesignKind;
    @ApiModelProperty(value = "锭坯型", required = true)
    @NotBlank
    private String ingotType;
    @ApiModelProperty(value = "自动人工标记")
    private String autoManualFlag;
    @ApiModelProperty(value = "合同材/预备材区分")
    private String orderRemainDiv;
    @ApiModelProperty(value = "可否删除标记")
    private String canDelFlag;
    @ApiModelProperty(value = "板内合同个数")
    private BigDecimal orderNumInPlate;
    @ApiModelProperty(value = "大板内成品小板总块数")
    private BigDecimal totSmallPlateNum;
    @ApiModelProperty(value = "AD类型代码")
    private String adTypeCode;
    @ApiModelProperty(value = "AD控制模式代码")
    private String adModeCode;
    @ApiModelProperty(value = "超声探伤代码")
    private String ultCode;
    @ApiModelProperty(value = "探伤方式代码")
    private String ultDetectMethodCode;
    @ApiModelProperty(value = "钢板缓冷代码")
    private String coolCode;
    @ApiModelProperty(value = "控轧代码")
    private String ctrlRollCode;
    @ApiModelProperty(value = "毛边切边标记")
    private String withSideFlag;
    @ApiModelProperty(value = "切断方式代码")
    private String cutModeCode;
    @ApiModelProperty(value = "头部切舍量")
    private BigDecimal headCut;
    @ApiModelProperty(value = "尾部切舍量")
    private BigDecimal tailCut;
    @ApiModelProperty(value = "紧急合同标记")
    private String urgOrderFlag;
    @ApiModelProperty(value = "牌号（钢级）")
    private String sgSign;
    @ApiModelProperty(value = "出钢记号")
    private String stNo;
    @ApiModelProperty(value = "副出钢记号1")
    private String stNo1;
    @ApiModelProperty(value = "副出钢记号2")
    private String stNo2;
    @ApiModelProperty(value = "副出钢记号3")
    private String stNo3;
    @ApiModelProperty(value = "副出钢记号4")
    private String stNo4;
    @ApiModelProperty(value = "副出钢记号5")
    private String stNo5;
    @ApiModelProperty(value = "副出钢记号6")
    private String stNo6;
    @ApiModelProperty(value = "副出钢记号7")
    private String stNo7;
    @ApiModelProperty(value = "副出钢记号8")
    private String stNo8;
    @ApiModelProperty(value = "副出钢记号9")
    private String stNo9;
    @ApiModelProperty(value = "输出出钢记号")
    private String outSgNo;
    @ApiModelProperty(value = "出钢记号决定时间")
    private String sgDecideTime;
    @ApiModelProperty(value = "二次开坯标记", required = true)
    @NotNull
    private Long twoRollInterimFlag;
    @ApiModelProperty(value = "清理前板坯厚度")
    private BigDecimal preCleanSlabThick;
    @ApiModelProperty(value = "清理前板坯宽度")
    private BigDecimal preCleanSlabWidth;
    @ApiModelProperty(value = "清理前板坯长度")
    private BigDecimal preCleanSlabLen;
    @ApiModelProperty(value = "清理前板坯最大长度")
    private BigDecimal preCleanSlabMaxLen;
    @ApiModelProperty(value = "清理前板坯最小长度")
    private BigDecimal preCleanSlabMinLen;
    @ApiModelProperty(value = "清理前板坯重量")
    private BigDecimal preCleanSlabWt;
    @ApiModelProperty(value = "清理前板坯最大重量")
    private BigDecimal preCleanSlabMaxWt;
    @ApiModelProperty(value = "清理前板坯最小重量")
    private BigDecimal preCleanSlabMinWt;
    @ApiModelProperty(value = "进加热炉板坯厚度")
    private BigDecimal infurSlabThick;
    @ApiModelProperty(value = "进加热炉板坯宽度")
    private BigDecimal infurSlabWid;
    @ApiModelProperty(value = "进加热炉板坯长度")
    private BigDecimal infurSlabLen;
    @ApiModelProperty(value = "进加热炉板坯最大长度")
    private BigDecimal infurSlabMaxLen;
    @ApiModelProperty(value = "进加热炉板坯最小长度")
    private BigDecimal infurSlabMinLen;
    @ApiModelProperty(value = "进加热炉板坯重量")
    private BigDecimal infurSlabWt;
    @ApiModelProperty(value = "进加热炉板坯最大重量")
    private BigDecimal infurSlabMaxWt;
    @ApiModelProperty(value = "进加热炉板坯最小重量")
    private BigDecimal infurSlabMinWt;
    @ApiModelProperty(value = "必要板坯长度")
    private BigDecimal needSlabLen;
    @ApiModelProperty(value = "必要板坯重量")
    private BigDecimal needSlabWt;
    @ApiModelProperty(value = "固定板坯长度标记")
    private Long fixSlabLenFlag;
    @ApiModelProperty(value = "固定板坯长度")
    private BigDecimal fixSlabLen;
    @ApiModelProperty(value = "板坯清理重量减少率_静态表")
    private BigDecimal slabCleanWtLossRateSt;
    @ApiModelProperty(value = "板坯清理重量减少率_画面")
    private BigDecimal slabCleanWtLossRateFr;
    @ApiModelProperty(value = "厚板板坯火焰清理区分")
    private String hpFlameCleanDiv;
    @ApiModelProperty(value = "板坯精整基准代码")
    private String slabFinishCode;
    @ApiModelProperty(value = "板坯位置代码")
    private String slabPlaceCode;
    @ApiModelProperty(value = "轧制目标厚度")
    private BigDecimal rollAimThick;
    @ApiModelProperty(value = "轧制目标宽度")
    private BigDecimal rollAimWidth;
    @ApiModelProperty(value = "轧制目标长度")
    private BigDecimal rollAimLen;
    @ApiModelProperty(value = "轴合同订货厚度")
    private BigDecimal orderThickAxis;
    @ApiModelProperty(value = "组合板宽度")
    private BigDecimal combinePlateWidth;
    @ApiModelProperty(value = "组合板长度")
    private BigDecimal combinePlateLen;
    @ApiModelProperty(value = "厚板轧制重量")
    private BigDecimal rollWtHp;
    @ApiModelProperty(value = "轧制厚度公差上限")
    private BigDecimal rollThickTolMax;
    @ApiModelProperty(value = "轧制厚度公差下限")
    private BigDecimal rollThickTolMin;
    @ApiModelProperty(value = "基准收得率")
    private BigDecimal normYield;
    @ApiModelProperty(value = "命令收得率")
    private BigDecimal commandYield;
    @ApiModelProperty(value = "轧制收得率")
    private BigDecimal rollYield;
    @ApiModelProperty(value = "立辊使用标记")
    private String edgerUseFlag;
    @ApiModelProperty(value = "展宽MAS使用标记")
    private String broadMasUseFlag;
    @ApiModelProperty(value = "成形MAS使用标记")
    private String formMasUseFlag;
    @ApiModelProperty(value = "轧制方向代码")
    private String rollDirectCode;
    @ApiModelProperty(value = "头部试材长度")
    private BigDecimal sampleLenHead;
    @ApiModelProperty(value = "尾部试材长度")
    private BigDecimal sampleLenTail;
    @ApiModelProperty(value = "中部试材长度")
    private BigDecimal sampleLenMid;
    @ApiModelProperty(value = "RS代码")
    private String rsCode;
    @ApiModelProperty(value = "展宽标记")
    private String broadFlag;
    @ApiModelProperty(value = "轴合同号", required = true)
    @NotBlank
    private String orderNoAxis;
    @ApiModelProperty(value = "产线号", required = true)
    @NotBlank
    private String mscLineNo;
    @ApiModelProperty(value = "最后短板坯标记")
    private Long lastSlabFlag;
    @ApiModelProperty(value = "附加板坯标记")
    private String addSlabFlag;
    @ApiModelProperty(value = "钢板形状代码")
    private String shpCode;
    @ApiModelProperty(value = "特殊形状板轧制厚度1")
    private BigDecimal taperRollThick1;
    @ApiModelProperty(value = "特殊形状板轧制厚度上限1")
    private BigDecimal taperRollThickMax1;
    @ApiModelProperty(value = "特殊形状板轧制厚度下限1")
    private BigDecimal taperRollThickMin1;
    @ApiModelProperty(value = "特殊形状板轧制厚度2")
    private BigDecimal taperRollThick2;
    @ApiModelProperty(value = "特殊形状板轧制厚度上限2")
    private BigDecimal taperRollThickMax2;
    @ApiModelProperty(value = "特殊形状板轧制厚度下限2")
    private BigDecimal taperRollThickMin2;
    @ApiModelProperty(value = "特殊形状板轧制厚度3")
    private BigDecimal taperRollThick3;
    @ApiModelProperty(value = "特殊形状板轧制厚度上限3")
    private BigDecimal taperRollThickMax3;
    @ApiModelProperty(value = "特殊形状板轧制厚度下限3")
    private BigDecimal taperRollThickMin3;
    @ApiModelProperty(value = "特殊形状板轧制宽度")
    private BigDecimal taperRollWidth;
    @ApiModelProperty(value = "特殊形状板轧制长度1")
    private BigDecimal taperRollLen1;
    @ApiModelProperty(value = "特殊形状板轧制长度2")
    private BigDecimal taperRollLen2;
    @ApiModelProperty(value = "特殊形状板轧制长度3")
    private BigDecimal taperRollLen3;
    @ApiModelProperty(value = "特殊形状板轧制长度4")
    private BigDecimal taperRollLen4;
    @ApiModelProperty(value = "特殊形状板轧制厚度4")
    private BigDecimal taperRollThick4;
    @ApiModelProperty(value = "特殊形状板轧制厚度上限4")
    private BigDecimal taperRollThickMax4;
    @ApiModelProperty(value = "特殊形状板轧制厚度下限4")
    private BigDecimal taperRollThickMin4;
    @ApiModelProperty(value = "特殊形状板轧制厚度5")
    private BigDecimal taperRollThick5;
    @ApiModelProperty(value = "特殊形状板轧制厚度上限5")
    private BigDecimal taperRollThickMax5;
    @ApiModelProperty(value = "特殊形状板轧制厚度下限5")
    private BigDecimal taperRollThickMin5;
    @ApiModelProperty(value = "特殊形状板轧制厚度6")
    private BigDecimal taperRollThick6;
    @ApiModelProperty(value = "特殊形状板轧制厚度上限6")
    private BigDecimal taperRollThickMax6;
    @ApiModelProperty(value = "特殊形状板轧制厚度下限6")
    private BigDecimal taperRollThickMin6;
    @ApiModelProperty(value = "特殊形状板轧制厚度7")
    private BigDecimal taperRollThick7;
    @ApiModelProperty(value = "特殊形状板轧制厚度上限7")
    private BigDecimal taperRollThickMax7;
    @ApiModelProperty(value = "特殊形状板轧制厚度下限7")
    private BigDecimal taperRollThickMin7;
    @ApiModelProperty(value = "特殊形状板轧制长度6")
    private BigDecimal taperRollLen6;
    @ApiModelProperty(value = "特殊形状板轧制长度7")
    private BigDecimal taperRollLen7;
    @ApiModelProperty(value = "租户ID")
    private Long tenantId;
    @ApiModelProperty(value = "行版本号，用来处理锁", required = true)
    @NotNull
    private Long objectVersionNumber;

    @ApiModelProperty(value = "转置标记")
    private BigDecimal transFlag;
    
    @ApiModelProperty(value = "")
    private String attribute1;
    @ApiModelProperty(value = "")
    private String attribute2;
    @ApiModelProperty(value = "")
    private String attribute3;
    @ApiModelProperty(value = "")
    private String attribute4;
    @ApiModelProperty(value = "")
    private String attribute5;
    
    @ApiModelProperty(value = "板坯类型")
    @Transient
    private String slabType ;

    public void setPreCleanSlabThick(BigDecimal preCleanSlabThick) {
        this.preCleanSlabThick = Utils.conversionDecimal(preCleanSlabThick, Constants.ConversionType.THICKNESS);
    }

    public void setPreCleanSlabWidth(BigDecimal preCleanSlabWidth) {
        this.preCleanSlabWidth = Utils.conversionDecimal(preCleanSlabWidth, Constants.ConversionType.WIDTH);
    }

    public void setPreCleanSlabLen(BigDecimal preCleanSlabLen) {
        this.preCleanSlabLen = Utils.conversionDecimal(preCleanSlabLen, Constants.ConversionType.LENGTH);
    }

    public void setPreCleanSlabMaxLen(BigDecimal preCleanSlabMaxLen) {
        this.preCleanSlabMaxLen = Utils.conversionDecimal(preCleanSlabMaxLen, Constants.ConversionType.LENGTH);
    }

    public void setPreCleanSlabMinLen(BigDecimal preCleanSlabMinLen) {
        this.preCleanSlabMinLen = Utils.conversionDecimal(preCleanSlabMinLen, Constants.ConversionType.LENGTH);
    }

    public void setPreCleanSlabWt(BigDecimal preCleanSlabWt) {
        this.preCleanSlabWt = Utils.conversionDecimal(preCleanSlabWt, Constants.ConversionType.WEIGHT);
    }

    public void setPreCleanSlabMaxWt(BigDecimal preCleanSlabMaxWt) {
        this.preCleanSlabMaxWt = Utils.conversionDecimal(preCleanSlabMaxWt, Constants.ConversionType.WEIGHT);
    }

    public void setPreCleanSlabMinWt(BigDecimal preCleanSlabMinWt) {
        this.preCleanSlabMinWt = Utils.conversionDecimal(preCleanSlabMinWt, Constants.ConversionType.WEIGHT);
    }

    public void setInfurSlabThick(BigDecimal infurSlabThick) {
        this.infurSlabThick = Utils.conversionDecimal(infurSlabThick, Constants.ConversionType.THICKNESS);
    }

    public void setInfurSlabWid(BigDecimal infurSlabWid) {
        this.infurSlabWid = Utils.conversionDecimal(infurSlabWid, Constants.ConversionType.WIDTH);
    }

    public void setInfurSlabLen(BigDecimal infurSlabLen) {
        this.infurSlabLen = Utils.conversionDecimal(infurSlabLen, Constants.ConversionType.LENGTH);
    }

    public void setInfurSlabMaxLen(BigDecimal infurSlabMaxLen) {
        this.infurSlabMaxLen = Utils.conversionDecimal(infurSlabMaxLen, Constants.ConversionType.LENGTH);
    }

    public void setInfurSlabMinLen(BigDecimal infurSlabMinLen) {
        this.infurSlabMinLen = Utils.conversionDecimal(infurSlabMinLen, Constants.ConversionType.LENGTH);
    }

    public void setInfurSlabWt(BigDecimal infurSlabWt) {
        this.infurSlabWt = Utils.conversionDecimal(infurSlabWt, Constants.ConversionType.WEIGHT);
    }

    public void setInfurSlabMaxWt(BigDecimal infurSlabMaxWt) {
        this.infurSlabMaxWt = Utils.conversionDecimal(infurSlabMaxWt, Constants.ConversionType.WEIGHT);
    }

    public void setInfurSlabMinWt(BigDecimal infurSlabMinWt) {
        this.infurSlabMinWt = Utils.conversionDecimal(infurSlabMinWt, Constants.ConversionType.WEIGHT);
    }

    public void setNeedSlabLen(BigDecimal needSlabLen) {
        this.needSlabLen = Utils.conversionDecimal(needSlabLen, Constants.ConversionType.LENGTH);
    }

    public void setNeedSlabWt(BigDecimal needSlabWt) {
        this.needSlabWt = Utils.conversionDecimal(needSlabWt, Constants.ConversionType.WEIGHT);
    }

    public void setFixSlabLen(BigDecimal fixSlabLen) {
        this.fixSlabLen = Utils.conversionDecimal(fixSlabLen, Constants.ConversionType.LENGTH);
    }

    public void setRollAimThick(BigDecimal rollAimThick) {
        this.rollAimThick = Utils.conversionDecimal(rollAimThick, Constants.ConversionType.THICKNESS);
    }

    public void setRollAimWidth(BigDecimal rollAimWidth) {
        this.rollAimWidth = Utils.conversionDecimal(rollAimWidth, Constants.ConversionType.WIDTH);
    }

    public void setRollAimLen(BigDecimal rollAimLen) {
        this.rollAimLen = Utils.conversionDecimal(rollAimLen, Constants.ConversionType.LENGTH);
    }

    public void setOrderThickAxis(BigDecimal orderThickAxis) {
        this.orderThickAxis = Utils.conversionDecimal(orderThickAxis, Constants.ConversionType.THICKNESS);
    }

    public void setCombinePlateWidth(BigDecimal combinePlateWidth) {
        this.combinePlateWidth = Utils.conversionDecimal(combinePlateWidth, Constants.ConversionType.WIDTH);
    }

    public void setCombinePlateLen(BigDecimal combinePlateLen) {
        this.combinePlateLen = Utils.conversionDecimal(combinePlateLen, Constants.ConversionType.LENGTH);
    }

    public void setRollWtHp(BigDecimal rollWtHp) {
        this.rollWtHp = Utils.conversionDecimal(rollWtHp, Constants.ConversionType.WEIGHT);
    }

    public void setRollThickTolMax(BigDecimal rollThickTolMax) {
        this.rollThickTolMax = Utils.conversionDecimal(rollThickTolMax, Constants.ConversionType.THICKNESS);
    }

    public void setRollThickTolMin(BigDecimal rollThickTolMin) {
        this.rollThickTolMin = Utils.conversionDecimal(rollThickTolMin, Constants.ConversionType.THICKNESS);
    }

    public void setSampleLenHead(BigDecimal sampleLenHead) {
        this.sampleLenHead = Utils.conversionDecimal(sampleLenHead, Constants.ConversionType.LENGTH);
    }

    public void setSampleLenTail(BigDecimal sampleLenTail) {
        this.sampleLenTail = Utils.conversionDecimal(sampleLenTail, Constants.ConversionType.LENGTH);
    }

    public void setSampleLenMid(BigDecimal sampleLenMid) {
        this.sampleLenMid = Utils.conversionDecimal(sampleLenMid, Constants.ConversionType.LENGTH);
    }

    public void setTaperRollThick1(BigDecimal taperRollThick1) {
        this.taperRollThick1 = Utils.conversionDecimal(taperRollThick1, Constants.ConversionType.THICKNESS);
    }

    public void setTaperRollThickMax1(BigDecimal taperRollThickMax1) {
        this.taperRollThickMax1 = Utils.conversionDecimal(taperRollThickMax1, Constants.ConversionType.THICKNESS);
    }

    public void setTaperRollThickMin1(BigDecimal taperRollThickMin1) {
        this.taperRollThickMin1 = Utils.conversionDecimal(taperRollThickMin1, Constants.ConversionType.THICKNESS);
    }

    public void setTaperRollThick2(BigDecimal taperRollThick2) {
        this.taperRollThick2 = Utils.conversionDecimal(taperRollThick2, Constants.ConversionType.THICKNESS);
    }

    public void setTaperRollThickMax2(BigDecimal taperRollThickMax2) {
        this.taperRollThickMax2 = Utils.conversionDecimal(taperRollThickMax2, Constants.ConversionType.THICKNESS);
    }

    public void setTaperRollThickMin2(BigDecimal taperRollThickMin2) {
        this.taperRollThickMin2 = Utils.conversionDecimal(taperRollThickMin2, Constants.ConversionType.THICKNESS);
    }

    public void setTaperRollThick3(BigDecimal taperRollThick3) {
        this.taperRollThick3 = Utils.conversionDecimal(taperRollThick3, Constants.ConversionType.THICKNESS);
    }

    public void setTaperRollThickMax3(BigDecimal taperRollThickMax3) {
        this.taperRollThickMax3 = Utils.conversionDecimal(taperRollThickMax3, Constants.ConversionType.THICKNESS);
    }

    public void setTaperRollThickMin3(BigDecimal taperRollThickMin3) {
        this.taperRollThickMin3 = Utils.conversionDecimal(taperRollThickMin3, Constants.ConversionType.THICKNESS);
    }

    public void setTaperRollWidth(BigDecimal taperRollWidth) {
        this.taperRollWidth = Utils.conversionDecimal(taperRollWidth, Constants.ConversionType.WIDTH);
    }

    public void setTaperRollLen1(BigDecimal taperRollLen1) {
        this.taperRollLen1 = Utils.conversionDecimal(taperRollLen1, Constants.ConversionType.LENGTH);
    }

    public void setTaperRollLen2(BigDecimal taperRollLen2) {
        this.taperRollLen2 = Utils.conversionDecimal(taperRollLen2, Constants.ConversionType.LENGTH);
    }

    public void setTaperRollLen3(BigDecimal taperRollLen3) {
        this.taperRollLen3 = Utils.conversionDecimal(taperRollLen3, Constants.ConversionType.LENGTH);
    }

    public void setTaperRollLen4(BigDecimal taperRollLen4) {
        this.taperRollLen4 = Utils.conversionDecimal(taperRollLen4, Constants.ConversionType.LENGTH);
    }

    public void setTaperRollThick4(BigDecimal taperRollThick4) {
        this.taperRollThick4 = Utils.conversionDecimal(taperRollThick4, Constants.ConversionType.THICKNESS);
    }

    public void setTaperRollThickMax4(BigDecimal taperRollThickMax4) {
        this.taperRollThickMax4 = Utils.conversionDecimal(taperRollThickMax4, Constants.ConversionType.THICKNESS);
    }

    public void setTaperRollThickMin4(BigDecimal taperRollThickMin4) {
        this.taperRollThickMin4 = Utils.conversionDecimal(taperRollThickMin4, Constants.ConversionType.THICKNESS);
    }

    public void setTaperRollThick5(BigDecimal taperRollThick5) {
        this.taperRollThick5 = Utils.conversionDecimal(taperRollThick5, Constants.ConversionType.THICKNESS);
    }

    public void setTaperRollThickMax5(BigDecimal taperRollThickMax5) {
        this.taperRollThickMax5 = Utils.conversionDecimal(taperRollThickMax5, Constants.ConversionType.THICKNESS);
    }

    public void setTaperRollThickMin5(BigDecimal taperRollThickMin5) {
        this.taperRollThickMin5 = Utils.conversionDecimal(taperRollThickMin5, Constants.ConversionType.THICKNESS);
    }

    public void setTaperRollThick6(BigDecimal taperRollThick6) {
        this.taperRollThick6 = Utils.conversionDecimal(taperRollThick6, Constants.ConversionType.THICKNESS);
    }

    public void setTaperRollThickMax6(BigDecimal taperRollThickMax6) {
        this.taperRollThickMax6 = Utils.conversionDecimal(taperRollThickMax6, Constants.ConversionType.THICKNESS);
    }

    public void setTaperRollThickMin6(BigDecimal taperRollThickMin6) {
        this.taperRollThickMin6 = Utils.conversionDecimal(taperRollThickMin6, Constants.ConversionType.THICKNESS);
    }

    public void setTaperRollThick7(BigDecimal taperRollThick7) {
        this.taperRollThick7 = Utils.conversionDecimal(taperRollThick7, Constants.ConversionType.THICKNESS);
    }

    public void setTaperRollThickMax7(BigDecimal taperRollThickMax7) {
        this.taperRollThickMax7 = Utils.conversionDecimal(taperRollThickMax7, Constants.ConversionType.THICKNESS);
    }

}
