package org.qinan.safetyeval.infrastructure.persistence.domainobject;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jjb.saas.framework.repository.basedo.BaseDO;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 备案申请人员证书领域模型
 *
 * @Author: ltq
 * @date 2026-07-02 10:04:23
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("qual_filing_personnel_cert_change")
public class QualFilingPersonnelCertChangeDO extends BaseDO {
    private static final long serialVersionUID = 1L;

    @TableLogic(
            value = "false",
            delval = "true"
    )
    protected String deleteEnum;

    /**
     * 备案变更id
     */
    private Long filingChangeId;
    /**
     * 备案人员id
     */
    private Long filingPersonnelId;
    /**
     * 证照名称
     */
    private String certName;
    /**
     * 证书类型编码
     */
    private String certTypeCode;
    /**
     * 证书类型名称
     */
    private String certTypeName;
    /**
     * 证书类别编码
     */
    private String certCategoryCode;
    /**
     * 证书类别名称
     */
    private String certCategoryName;
    /**
     * 证书作业类别编码
     */
    private String operationCategoryCode;
    /**
     * 证书作业类别名称
     */
    private String operationCategoryName;
    /**
     * 证书编号
     */
    private String certNo;
    /**
     * 发证机关
     */
    private String issueOrg;
    /**
     * 证书有效开始日期
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime validStartDate;
    /**
     * 证书有效结束日期
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime validEndDate;
    /**
     * 复核日期
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime reviewDate;
    /**
     * 证书附件地址
     */
    private String certAttachmentUrl;
    /**
     * 来源人员证书id
     */
    private Long sourceCertId;
    /**
     * 环境
     */
    private String env;
}
