package com.ruoyi.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 审查场景变更任务
 * @TableName t_review_scene_change_task
 */
@TableName(value ="t_review_scene_change_task")
@Accessors(chain = true)
@Data
public class ReviewSceneChangeTask {

    @TableField(exist = false)
    public static final String OPERATION_ADD = "ADD";
    @TableField(exist = false)
    public static final String OPERATION_DELETE = "DELETE";
    @TableField(exist = false)
    public static final String OPERATION_UPDATE = "UPDATE";

    @TableField(exist = false)
    public static final String STATUS_PENDING = "PENDING";
    @TableField(exist = false)
    public static final String STATUS_FINISH = "FINISH";
    @TableField(exist = false)
    public static final String STATUS_CLOSE = "CLOSE";

    @TableField(exist = false)
    public static final String RESULT_PASS = "PASS";
    @TableField(exist = false)
    public static final String RESULT_REJECT = "REJECT";

    /**
     * 参与审核的角色
     */
    @TableField(exist = false)
    public static final Long REVIEW_ROLE_ID = 103L;

    /**
     * 主键
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 任务编号
     */
    private String taskNo;

    /**
     * 章节
     */
    private String chapter;

    /**
     * 审查标准id
     */
    private Long standardId;

    /**
     * 审查标准
     */
    private String standard;

    /**
     * 审查要点id
     */
    private Long keypointId;

    /**
     * 审查要点
     */
    private String keypoint;

    /**
     * 审查细则id
     */
    private Long detailsId;

    /**
     * 审查细则
     */
    private String details;

    /**
     * 操作(ADD DELETE UPDATE)
     */
    private String operation;

    /**
     * 当 operation 为 ADD 时该字段为空
     */
    private String oldText;

    /**
     * 当 operation 为 DELETE 时该字段为空
     */
    private String newText;

    /**
     * 任务发起人姓名
     */
    private String taskInitiator;

    /**
     * 任务发起人部门
     */
    private String taskInitiatorDept;

    /**
     * 任务状态(PENDING、FINISH、CLOSE)
     */
    private String taskStatus;

    /**
     * 任务结果(PASS、REJECT)
     */
    private String taskResult;

    /**
     * 任务开始时间
     */
    private Date taskBeginTime;

    /**
     * 任务结束时间
     */
    private Date taskEndTime;

    /**
     * 备注
     */
    private String remark;

    /**
     * 审查场景id
     * 若为修改、删除任务时,此id在创建任务时赋值
     * 若为新增任务时,此id在审批通过并保存新场景后赋值
     */
    private Long reviewSceneId;

}