package com.xisc.pm.domain.entity;

import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;

import com.fasterxml.jackson.annotation.JsonInclude;

import javax.validation.constraints.NotBlank;

import io.choerodon.mybatis.domain.AuditDomain;
import io.choerodon.mybatis.annotation.ModifyAudit;
import io.choerodon.mybatis.annotation.VersionAudit;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

/**
 * 组板履历事件配置表
 *
 * @author 曾俊 jun.zeng@hand-china.com 2024-07-31 08:01:12
 */
@Setter
@Getter
@ApiModel("组板履历事件配置表")
@VersionAudit
@ModifyAudit
@JsonInclude(value = JsonInclude.Include.NON_NULL)
@Table(name = "PM_PD_REC_CFG")
public class PmPdRecCfg extends AuditDomain {

    public static final String FIELD_PPRC_ID = "pprcId";
    public static final String FIELD_EVENT_CODE = "eventCode";
    public static final String FIELD_EVENT_NAME = "eventName";
    public static final String FIELD_EVENT_DESC = "eventDesc";
    public static final String FIELD_SYSTEM_EVENT_FLAG = "systemEventFlag";
    public static final String FIELD_SYSTEM_CODE_FLAG = "systemCodeFlag";
    public static final String FIELD_API_CODE_FLAG = "apiCodeFlag";
    public static final String FIELD_EVENT_MAKER_FLAG = "eventMakerFlag";
    public static final String FIELD_ORDER_NO_FLAG = "orderNoFlag";
    public static final String FIELD_WHOLE_BACKLOG = "wholeBacklog";
    public static final String FIELD_WHOLE_BACKLOG_CODE = "wholeBacklogCode";
    public static final String FIELD_MAT_NO_FLAG = "matNoFlag";
    public static final String FIELD_WT_FLAG_FLAG = "wtFlagFlag";
    public static final String FIELD_QTY_FLAG_FLAG = "qtyFlagFlag";
    public static final String FIELD_KEYVALUE_1_DESC = "keyvalue1Desc";
    public static final String FIELD_KEYVALUE_1_FLAG = "keyvalue1Flag";
    public static final String FIELD_KEYVALUE_2_DESC = "keyvalue2Desc";
    public static final String FIELD_KEYVALUE_2_FLAG = "keyvalue2Flag";
    public static final String FIELD_KEYVALUE_3_DESC = "keyvalue3Desc";
    public static final String FIELD_KEYVALUE_3_FLAG = "keyvalue3Flag";
    public static final String FIELD_LOG_FLAG = "logFlag";
    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 pprcId;
    @ApiModelProperty(value = "事件标识", required = true)
    @NotBlank
    private String eventCode;
    @ApiModelProperty(value = "电文或事件名称", required = true)
    @NotBlank
    private String eventName;
    @ApiModelProperty(value = "事件说明", required = true)
    @NotBlank
    private String eventDesc;
    @ApiModelProperty(value = "系统事件标记", required = true)
    @NotBlank
    private String systemEventFlag;
    @ApiModelProperty(value = "系统标识标记", required = true)
    @NotNull
    private Long systemCodeFlag;
    @ApiModelProperty(value = "功能标识标记", required = true)
    @NotNull
    private Long apiCodeFlag;
    @ApiModelProperty(value = "事件责任者", required = true)
    @NotNull
    private Long eventMakerFlag;
    @ApiModelProperty(value = "合同号非空标记", required = true)
    @NotNull
    private Long orderNoFlag;
    @ApiModelProperty(value = "全程工序途径码", required = true)
    @NotBlank
    private String wholeBacklog;
    @ApiModelProperty(value = "全程工序代码", required = true)
    @NotBlank
    private String wholeBacklogCode;
    @ApiModelProperty(value = "材料号非空标记", required = true)
    @NotNull
    private Long matNoFlag;
    @ApiModelProperty(value = "重量非空标记", required = true)
    @NotNull
    private Long wtFlagFlag;
    @ApiModelProperty(value = "件数非空标记", required = true)
    @NotNull
    private Long qtyFlagFlag;
    @ApiModelProperty(value = "关键字串1说明", required = true)
    @NotBlank
    private String keyvalue1Desc;
    @ApiModelProperty(value = "关键字串1非空标记", required = true)
    @NotNull
    private Long keyvalue1Flag;
    @ApiModelProperty(value = "关键字串2说明", required = true)
    @NotBlank
    private String keyvalue2Desc;
    @ApiModelProperty(value = "关键字串2非空标记", required = true)
    @NotNull
    private Long keyvalue2Flag;
    @ApiModelProperty(value = "关键字串3说明", required = true)
    @NotBlank
    private String keyvalue3Desc;
    @ApiModelProperty(value = "关键字串3非空标记", required = true)
    @NotNull
    private Long keyvalue3Flag;
    @ApiModelProperty(value = "履历登录标志", required = true)
    @NotNull
    private Long logFlag;
    @ApiModelProperty(value = "租户ID", required = true)
    @NotNull
    private Long tenantId;
    @ApiModelProperty(value = "行版本号，用来处理锁", required = true)
    @NotNull
    private Long objectVersionNumber;

    @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;

}
