package com.xdap.self_development.domain.pojo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.definesys.mpaas.query.annotation.RowID;
import com.definesys.mpaas.query.annotation.RowIDType;
import com.definesys.mpaas.query.annotation.Table;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * 引擎审核列表实体类，用于存储引擎审核流程的相关信息
 *
 * @version 1.0
 * @since 2025
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Table("engine_review_list")
public class EngineReviewListPojo implements Serializable {

    /**
     * ID
     */
    @RowID(sequence = "engine_review_list_s", type = RowIDType.UUID)
    private String id;

    /**
     * 流程主题
     */
    private String processTopic;
    /**
     * 本品或竞品
     */
    @ExcelProperty("本品或竞品")
    private String ycOrOth;

    /**
     * 机型ID
     */
    private String modelId;

    /**
     * 产品型号
     */
    private String modelName;

    /**
     * 状态代号
     */
    private Integer statusCode;

    /**
     * 子系统
     */
    private String subsystemName;

    /**
     * 申请人ID
     */
    private String applicant;

    /**
     * 当前状态
     */
    private String statusDescription;

    /**
     * 当前审批人
     */
    private String approverPersons;
    /**
     * 当前节点
     */
    private String nodeName;
    /**
     * 提交说明
     */
    private String reviewComment;

    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 版本
     */
    private Integer objectVersionNumber;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date creationDate;

    /**
     * 最后更新人
     */
    private String lastUpdatedBy;

    /**
     * 最后更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lastUpdateDate;

    /**
     * 退回标记
     */
    private Integer returnNum;
    /**
     * 前一个节点
     */
    private Integer preNode;

}
