package com.xisc.pm.domain.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 质量模块订单信息
 * 
 * @author jun.zeng
 *
 */
@Data
public class QdOrderTechVO implements Serializable {

    private static final long serialVersionUID = -4605607533050658669L;

    @NotBlank(message = "合同号")
    private String orderNo;

    @NotBlank(message = "设计产线号")
    private String mscLineNo;

    @NotBlank(message = "全程工序途径码")
    private String wholeBacklog;

    @NotBlank(message = "出钢记号")
    private String stNo;

    @ApiModelProperty(value = "板坯位置充当标准")
    private String slabPlaceStd;

    @ApiModelProperty(value ="板坯精整基准代码")
    private String slabFinishCode;

    @ApiModelProperty(value = "厚板板坯火焰清理区分")
    private String flameCleanDiv;

    @NotBlank(message = "板坯去向")
    private String slabDest;

    @NotNull(message = "线膨胀系数")
    private BigDecimal expandQuot;

    @ApiModelProperty(value = "AD类型代码")
    private String adTypeCode;

    @NotBlank(message = "厚板流向代码")
    private String plateDtCode;

    @ApiModelProperty(value = "第一控轧点厚度下限倍数")
    private BigDecimal gaugeMulMin1;

    @ApiModelProperty(value = "第一控轧点厚度最小值")
    private BigDecimal minCr1Thick;

    @ApiModelProperty(value = "轧制方向代码")
    private String rollDirectCode;

    @ApiModelProperty(value = "控轧代码")
    private String ctrlRollCode;

    @ApiModelProperty(value ="控轧代码第一位")
    private String ctrlRollCode1;

    @ApiModelProperty(value = "控轧代码第34位")
    private String ctrlRollCode34;

    @ApiModelProperty(value = "AD控制模式代码")
    private String adModeCode;

    @ApiModelProperty(value = "AD控制模式代码第34位")
    private String adModeCode34;

    @NotBlank(message = "轧制方式")
    private String rollMode;

    @ApiModelProperty(value = "压缩比下限")
    private BigDecimal compressMin;

    @ApiModelProperty(value = "轧制倍尺可否标记")
    private String multiPlateFlag;

    @NotBlank(message = "精炼路径代码")
    private String rfPath;

    @NotBlank(message = "加热炉类型")
    private String furType;

    @ApiModelProperty(value ="展宽比下限")
    private BigDecimal widenMin;

    @ApiModelProperty(value = "中间冷却模式")
    private String middleCoolMode;

    @ApiModelProperty(value = "中间冷却最大冷却速度")
    private BigDecimal maxMiddleCoolSpeed;

    @NotBlank(message = "热矫可否")
    private String hotRectifyFlag;

    @ApiModelProperty(value = "热矫方法代码")
    private String hotRectifyMethodCode;

    @ApiModelProperty(value = "热送标记")
    private String hotSendDiv;

    @NotBlank(message = "热装标记")
    private String hotChargeFlag;

    @ApiModelProperty(value = "气切可否")
    private String gFlag;

    @ApiModelProperty(value = "CS可否")
    private String csFlag;

    @ApiModelProperty(value = "DSS可否")
    private String dssFlag;

    @ApiModelProperty(value = "SS可否")
    private String ssFlag;

    @ApiModelProperty(value = "DS可否")
    private String dsFlag;

    @ApiModelProperty(value = "头部切舍量")
    private BigDecimal headCut;

    @ApiModelProperty(value = "尾部切舍量")
    private BigDecimal tailCut;

    @ApiModelProperty(value = "探伤方式代码")
    private String ultDetectMethodCode;

    @ApiModelProperty(value = "超声探伤时期代码")
    private String ultStgCode;

    @ApiModelProperty(value = "超声探伤代码")
    private String ultCode;

    @ApiModelProperty(value = "钢板缓冷代码")
    private String coolCode;

    @ApiModelProperty(value = "切断方式代码")
    private String cutModeCode;

    @ApiModelProperty(value = "全程热处理类型")
    private String wholeHeatTreatmentType;
    
    @ApiModelProperty(value = "热处理模式")
    private String heatTreatMode;

    @ApiModelProperty(value = "板坯厚度下限")
    private String slabThkMin;

    @ApiModelProperty(value = "板坯厚度上限")
    private String slabThkMax;

    @NotBlank(message = "冷却方式")
    private String coolType;

    private String utPdCode;

    private String utStdName;

    private String utDetectMethodCode;

}
