package com.xisc.pm.domain.entity;

import com.fasterxml.jackson.annotation.JsonInclude;
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.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 钢板信息表履历表(PmPdPlateInfoTra)实体类
 *
 * @author 纪文桃 wentao.ji01@hand-china.com
 * @since 2024-11-26 11:35:13
 */

@Getter
@Setter
@ApiModel("钢板信息表履历表")
@VersionAudit
@ModifyAudit
@JsonInclude(value = JsonInclude.Include.NON_NULL)
@Table(name = "PM_PD_PLATE_INFO_TRA")
public class PmPdPlateInfoTra extends AuditDomain {
    private static final long serialVersionUID = 640496476731596126L;

    public static final String FIELD_TRA_ID = "traId";
    public static final String FIELD_OPERATION_TYPE = "operationType";
    public static final String FIELD_OPERATION_USER = "operationUser";
    public static final String FIELD_OPERATION_TIME = "operationTime";
    public static final String FIELD_PM_PD_PLATE_INFO_ID = "pmPdPlateInfoId";
    public static final String FIELD_PLATE_NO = "plateNo";
    public static final String FIELD_SLAB_NO = "slabNo";
    public static final String FIELD_PONO = "pono";
    public static final String FIELD_WHOLE_BACKLOG_CODE = "wholeBacklogCode";
    public static final String FIELD_WHOLE_BACKLOG_SEQ = "wholeBacklogSeq";
    public static final String FIELD_NEXT_WHOLE_BACKLOG_CODE = "nextWholeBacklogCode";
    public static final String FIELD_NEXT_WHOLE_BACKLOG_SEQ = "nextWholeBacklogSeq";
    public static final String FIELD_WHOLE_BACKLOG_ACT = "wholeBacklogAct";
    public static final String FIELD_OU_BACKLOG_SEQ = "ouBacklogSeq";
    public static final String FIELD_OU_BACKLOG_CODE = "ouBacklogCode";
    public static final String FIELD_MAT_STATUS = "matStatus";
    public static final String FIELD_PD_STATUS_HP = "pdStatusHp";
    public static final String FIELD_AUTO_MANUAL_FLAG = "autoManualFlag";
    public static final String FIELD_PD_BEGIN_TIME = "pdBeginTime";
    public static final String FIELD_PD_END_TIME = "pdEndTime";
    public static final String FIELD_PD_PROGRAM = "pdProgram";
    public static final String FIELD_PD_RESP = "pdResp";
    public static final String FIELD_SG_STD = "sgStd";
    public static final String FIELD_SG_SIGN = "sgSign";
    public static final String FIELD_ST_NO = "stNo";
    public static final String FIELD_PSC = "psc";
    public static final String FIELD_APN = "apn";
    public static final String FIELD_MSC = "msc";
    public static final String FIELD_MSC_LINE_NO = "mscLineNo";
    public static final String FIELD_OLD_PSC = "oldPsc";
    public static final String FIELD_OLD_APN = "oldApn";
    public static final String FIELD_OLD_MSC = "oldMsc";
    public static final String FIELD_OLD_MSC_LINE = "oldMscLine";
    public static final String FIELD_CAN_ASSIGN_FLAG = "canAssignFlag";
    public static final String FIELD_REMAIN_CAUSE_CODE = "remainCauseCode";
    public static final String FIELD_STOCK_NO = "stockNo";
    public static final String FIELD_MAT_ACT_THICK = "matActThick";
    public static final String FIELD_MAT_ACT_WIDTH = "matActWidth";
    public static final String FIELD_MAT_ACT_LEN = "matActLen";
    public static final String FIELD_MAT_ACT_WT = "matActWt";
    public static final String FIELD_SHP_CODE = "shpCode";
    public static final String FIELD_THICK1 = "thick1";
    public static final String FIELD_THICK2 = "thick2";
    public static final String FIELD_THICK3 = "thick3";
    public static final String FIELD_LEN1 = "len1";
    public static final String FIELD_LEN2 = "len2";
    public static final String FIELD_LEN3 = "len3";
    public static final String FIELD_LEN4 = "len4";
    public static final String FIELD_LEN5 = "len5";
    public static final String FIELD_UOE_FLAG = "uoeFlag";
    public static final String FIELD_WITH_SIDE_FLAG = "withSideFlag";
    public static final String FIELD_BETTER_SURF_WARD_CODE = "betterSurfWardCode";
    public static final String FIELD_AD_MODE_CODE = "adModeCode";
    public static final String FIELD_CTRL_ROLL_CODE = "ctrlRollCode";
    public static final String FIELD_HEAT_TREAT_PLATE_FLAG = "heatTreatPlateFlag";
    public static final String FIELD_ACT_CUT_MODE = "actCutMode";
    public static final String FIELD_FUR_TYPE = "furType";
    public static final String FIELD_ROLL_DIRECT_CODE = "rollDirectCode";
    public static final String FIELD_ACT_PRESS_RATE = "actPressRate";
    public static final String FIELD_ACT_BROAD_RATIO = "actBroadRatio";
    public static final String FIELD_REMAIN_MIN_THICK = "remainMinThick";
    public static final String FIELD_REMAIN_MAX_THICK = "remainMaxThick";
    public static final String FIELD_PD_RESP_AUTO = "pdRespAuto";
    public static final String FIELD_PD_TIME_AUTO = "pdTimeAuto";
    public static final String FIELD_PD_AUTO_FLAG = "pdAutoFlag";
    public static final String FIELD_TENANT_ID = "tenantId";
    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";

    @ApiModelProperty("履历主键ID")
    @Id
    @GeneratedValue
    private Long traId;

    @ApiModelProperty(value = "操作类型(I:插入，U:修改，D:删除)", required = true)
    @NotBlank
    private String operationType;

    @ApiModelProperty(value = "操作者", required = true)
    @NotBlank
    private String operationUser;

    @ApiModelProperty(value = "操作时间", required = true)
    @NotNull
    private Date operationTime;

    @ApiModelProperty(value = "主键ID", required = true)
    @NotNull
    private Long pmPdPlateInfoId;

    @ApiModelProperty(value = "钢板号")
    private String plateNo;

    @ApiModelProperty(value = "板坯号")
    private String slabNo;

    @ApiModelProperty(value = "制造命令号")
    private String pono;

    @ApiModelProperty(value = "全程工序代码")
    private String wholeBacklogCode;

    @ApiModelProperty(value = "全程工序顺序号")
    private Long wholeBacklogSeq;

    @ApiModelProperty(value = "后全程工序代码")
    private String nextWholeBacklogCode;

    @ApiModelProperty(value = "后全程工序顺序号")
    private Long nextWholeBacklogSeq;

    @ApiModelProperty(value = "实际全程工序途径码")
    private String wholeBacklogAct;

    @ApiModelProperty(value = "组批工序顺序号")
    private Long ouBacklogSeq;

    @ApiModelProperty(value = "组批工序代码")
    private String ouBacklogCode;

    @ApiModelProperty(value = "材料状态码")
    private String matStatus;

    @ApiModelProperty(value = "厚板组板状态")
    private String pdStatusHp;

    @ApiModelProperty(value = "自动人工标记")
    private String autoManualFlag;

    @ApiModelProperty(value = "组批开始时间")
    private Date pdBeginTime;

    @ApiModelProperty(value = "组批结束时间")
    private Date pdEndTime;

    @ApiModelProperty(value = "组批程序")
    private String pdProgram;

    @ApiModelProperty(value = "组板责任者")
    private String pdResp;

    @ApiModelProperty(value = "标准")
    private String sgStd;

    @ApiModelProperty(value = "牌号")
    private String sgSign;

    @ApiModelProperty(value = "内部钢种")
    private String stNo;

    @ApiModelProperty(value = "产品规范码")
    private String psc;

    @ApiModelProperty(value = "产品最终用途码")
    private String apn;

    @ApiModelProperty(value = "冶金规范码")
    private String msc;

    @ApiModelProperty(value = "产线号")
    private String mscLineNo;

    @ApiModelProperty(value = "原产品规范码")
    private String oldPsc;

    @ApiModelProperty(value = "原产品用途码")
    private String oldApn;

    @ApiModelProperty(value = "原冶金规范码")
    private String oldMsc;

    @ApiModelProperty(value = "原产线号")
    private String oldMscLine;

    @ApiModelProperty(value = "可充当标记")
    private String canAssignFlag;

    @ApiModelProperty(value = "余材原因代码")
    private String remainCauseCode;

    @ApiModelProperty(value = "库号")
    private String stockNo;

    @ApiModelProperty(value = "材料实际厚度")
    private Long matActThick;

    @ApiModelProperty(value = "材料实际宽度")
    private Long matActWidth;

    @ApiModelProperty(value = "材料实际长度")
    private Long matActLen;

    @ApiModelProperty(value = "材料实际重量")
    private Long matActWt;

    @ApiModelProperty(value = "钢板形状代码")
    private String shpCode;

    @ApiModelProperty(value = "钢板厚度1")
    private Long thick1;

    @ApiModelProperty(value = "钢板厚度2")
    private Long thick2;

    @ApiModelProperty(value = "钢板厚度3")
    private Long thick3;

    @ApiModelProperty(value = "钢板长度1")
    private Long len1;

    @ApiModelProperty(value = "钢板长度2")
    private Long len2;

    @ApiModelProperty(value = "钢板长度3")
    private Long len3;

    @ApiModelProperty(value = "钢板长度4")
    private Long len4;

    @ApiModelProperty(value = "钢板长度5")
    private Long len5;

    @ApiModelProperty(value = "UOE合同标记")
    private String uoeFlag;

    @ApiModelProperty(value = "毛边切边标记")
    private String withSideFlag;

    @ApiModelProperty(value = "好面朝向代码")
    private String betterSurfWardCode;

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

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

    @ApiModelProperty(value = "热处理板标记")
    private String heatTreatPlateFlag;

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

    @ApiModelProperty(value = "加热炉类型")
    private String furType;

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

    @ApiModelProperty(value = "实际压下比")
    private Long actPressRate;

    @ApiModelProperty(value = "实际展宽比")
    private Long actBroadRatio;

    @ApiModelProperty(value = "余材最小厚度")
    private Long remainMinThick;

    @ApiModelProperty(value = "余材最大厚度")
    private Long remainMaxThick;

    @ApiModelProperty(value = "收小池责任者")
    private String pdRespAuto;

    @ApiModelProperty(value = "收小池时间")
    private Date pdTimeAuto;

    @ApiModelProperty(value = "正在自动组板中标记")
    private String pdAutoFlag;

    @ApiModelProperty(value = "租户ID", required = true)
    @NotNull
    private Long tenantId;

    private String attribute1;

    private String attribute2;

    private String attribute3;

    private String attribute4;

    private String attribute5;


}

