package cn.axzo.workflow.common.model.response.es;

import io.swagger.annotations.ApiModel;
import lombok.Data;

import java.util.Date;

/**
 * 搜索 ES 的流程实例相关数据模型
 *
 * @author wangli
 * @since 2024-10-09 14:26
 */
@Data
@ApiModel("搜索 ES 的流程实例相关数据模型")
public class ProcessInstanceDocumentVO {

    /**
     * 流程实例 ID
     */
    private String instanceId;

    /**
     * 流程实例名称
     */
    private String processInstanceName;

    /**
     * 业务传入业务信息
     */
    private String businessKey;

    /**
     * 流程实例使用的定义 ID
     */
    private String processDefinitionId;

    /**
     * 流程对应业务分类的类型,项目/单位/监管/OMS
     */
    private String processCategoryType;

    /**
     * 流程实例的发起时间
     */
    private Date instanceStartTime;

    /**
     * 流程实例的结束时间
     */
    private Date instanceEndTime;

    /**
     * 流程实例的持续时间 ms
     */
    private Long durationInMillis;

    /**
     * 该流程中上次操作完成的时间, 如果是已完成的实例, 就清空该值
     */
    private Date lastOperationTime;

    /**
     * 租户 ID
     */
    private String instanceTenantId;

    /**
     * 流程实例业务状态
     */
    private String businessStatus;

    /**
     * 发起人姓名
     */
    private String initiatorName;

    /**
     * 发起人模型 JSON 字符串
     */
    private String initiatorJsonStr;

    /**
     * 实例对应的流程引擎服务端迭代版本
     */
    private String workflowEngineVersion;

    /**
     * 是否代运营
     */
    private Boolean agent;

    /**
     * 是否支持批量操作任务
     */
    private Boolean supportBatch;

    /**
     * 是否开启同意操作时的签名
     */
    private Boolean userAgreeSignature;
}
