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 javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 自动替代日志表(PmSubLog)实体类
 *
 * @author BKGY
 * @since 2024-12-26 15:08:26
 */

@ApiModel("自动替代日志表")
@VersionAudit
@ModifyAudit
@JsonInclude(value = JsonInclude.Include.NON_NULL)
@Table(name = "PM_SUB_LOG")
public class PmSubLog extends AuditDomain implements Serializable {
    private static final long serialVersionUID = 140838917578591973L;

    public static final String FIELD_ID = "id";
    public static final String FIELD_SUB_DATE = "subDate";
    public static final String FIELD_SLAB_NO = "slabNo";
    public static final String FIELD_SUB_MODE = "subMode";
    public static final String FIELD_SUB_RSLT = "subRslt";
    public static final String FIELD_SUB_LOG = "subLog";
    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 id;

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

    @ApiModelProperty(value = "板坯号", required = true)
    @NotBlank
    private String slabNo;

    @ApiModelProperty(value = "触发模式", required = true)
    @NotNull
    private Long subMode;

    @ApiModelProperty(value = "处理结果", required = true)
    @NotBlank
    private String subRslt;

    @ApiModelProperty(value = "过程日志", required = true)
    @NotBlank
    private String subLog;

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

    private String attribute1;

    private String attribute2;

    private String attribute3;

    private String attribute4;

    private String attribute5;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Date getSubDate() {
        return subDate;
    }

    public void setSubDate(Date subDate) {
        this.subDate = subDate;
    }

    public String getSlabNo() {
        return slabNo;
    }

    public void setSlabNo(String slabNo) {
        this.slabNo = slabNo;
    }

    public Long getSubMode() {
        return subMode;
    }

    public void setSubMode(Long subMode) {
        this.subMode = subMode;
    }

    public String getSubRslt() {
        return subRslt;
    }

    public void setSubRslt(String subRslt) {
        this.subRslt = subRslt;
    }

    public String getSubLog() {
        return subLog;
    }

    public void setSubLog(String subLog) {
        this.subLog = subLog;
    }

    public Long getTenantId() {
        return tenantId;
    }

    public void setTenantId(Long tenantId) {
        this.tenantId = tenantId;
    }

    public String getAttribute1() {
        return attribute1;
    }

    public void setAttribute1(String attribute1) {
        this.attribute1 = attribute1;
    }

    public String getAttribute2() {
        return attribute2;
    }

    public void setAttribute2(String attribute2) {
        this.attribute2 = attribute2;
    }

    public String getAttribute3() {
        return attribute3;
    }

    public void setAttribute3(String attribute3) {
        this.attribute3 = attribute3;
    }

    public String getAttribute4() {
        return attribute4;
    }

    public void setAttribute4(String attribute4) {
        this.attribute4 = attribute4;
    }

    public String getAttribute5() {
        return attribute5;
    }

    public void setAttribute5(String attribute5) {
        this.attribute5 = attribute5;
    }

}

