package org.springblade.thirdparty.mk.pojo.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

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

/**
 * @author bfhuange
 * @since 2025/4/2
 */
@Data
public class MKApprovalVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    /**
     *  id
     */
    @JsonProperty("fdId")
    private String id;
    /**
     *  流程所属应用
     */
    @JsonProperty("fdAppName")
    private String appName;
    /**
     *  申请人名称
     */
    @JsonProperty("fdApplicantName")
    private String applicantName;
    /**
     *  申请人登录名
     */
    @JsonProperty("fdApplicantLoginName")
    private String applicantLoginName;
    /**
     *  发起人名称
     */
    @JsonProperty("fdCreator")
    private String creator;
    /**
     *  处理人名称
     */
    @JsonProperty("fdHandlerName")
    private String handlerName;
    /**
     *  当前处理人名称
     */
    @JsonProperty("fdCurrentHandler")
    private String currentHandler;
    /**
     *  处理人登录名
     */
    @JsonProperty("fdHandlerLoginName")
    private String handlerLoginName;
    /**
     *  节点名称
     */
    @JsonProperty("fdNodeName")
    private String nodeName;
    /**
     *  流程id
     */
    @JsonProperty("fdProcessId")
    private String processId;
    /**
     *  创建时间
     */
    @JsonProperty("fdCreateTime")
    private Date createTime;
    /**
     *  流程发起时间
     */
    @JsonProperty("fdStartTime")
    private Date startTime;
    /**
     *  如果是待办：待办接收时间 如果是待阅：传阅接收时间
     */
    @JsonProperty("fdReceiveTime")
    private Date receiveTime;
    /**
     *  任务结束时间
     */
    @JsonProperty("fdFinishTime")
    private Date finishTime;
    /**
     *  阅读时间（待阅任务）
     */
    @JsonProperty("fdReadTime")
    private Date readTime;
    /**
     *  最后处理时间（待审任务）
     */
    @JsonProperty("fdLastHandleTime")
    private Date lastHandleTime;
    /**
     *  流程结束时间
     */
    @JsonProperty("fdProcessFinishTime")
    private Date processFinishTime;
    /**
     *  流程状态 00 – 废弃、10 – 草稿、11 – 驳回 20 – 待审、21 – 异常、40 – 挂起 30 – 结束
     */
    @JsonProperty("fdStatus")
    private String status;
    /**
     *  流程主题
     */
    @JsonProperty("fdSubject")
    private String subject;
    /**
     *  模板编码
     */
    @JsonProperty("fdTemplateCode")
    private String templateCode;
    /**
     *  任务id
     */
    @JsonProperty("fdTaskId")
    private String taskId;
    /**
     *  任务状态 20 - 激活、30 - 结束、40 - 挂起、50 - 自动跳过
     */
    @JsonProperty("fdTaskStatus")
    private String taskStatus;
    /**
     *  任务标题
     */
    @JsonProperty("fdTaskSubject")
    private String taskSubject;
    /**
     *  催办标记
     */
    @JsonProperty("fdUrgeTab")
    private String urgeTab;
    /**
     *  任务类型 1待办,2待阅
     */
    @JsonProperty("fdTaskType")
    private Integer taskType;
    /**
     *  待办优先级
     */
    @JsonProperty("fdLevel")
    private Integer level;
    /**
     *  动态扩展属性
     */
    private MKDynamicPropsVO dynamicProps;
}
