package cn.axzo.workflow.common.model.response.bpmn.process;

import cn.axzo.workflow.common.enums.WorkspaceType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * 超管流程实例的分页响应模型
 *
 * @author wangli
 * @since 06/03/2024 2:37 pm
 */
@ApiModel("超管流程实例的分页响应模型")
@Data
public class BpmnProcessInstanceAdminPageItemVO {

    /**
     * 流程实例 ID
     */
    @ApiModelProperty(value = "流程实例 ID")
    private String processInstanceId;

    /**
     * 流程实例名称
     */
    @ApiModelProperty(value = "流程实例名称")
    private String processInstanceName;

    /**
     * 业务状态
     */
    @ApiModelProperty(value = "业务状态")
    private String businessStatus;

    /**
     * 业务状态描述
     */
    @ApiModelProperty(value = "业务状态描述")
    private String businessStatusDesc;

    /**
     * 分类
     */
    @ApiModelProperty(value = "审批业务分类")
    private String category;

    /**
     * 分类描述
     */
    @ApiModelProperty(value = "审批业务分类描述")
    private String categoryDesc;

    /**
     * 分类关联项目部类型
     */
    @ApiModelProperty(value = "项目部类型")
    private String workspaceTypeCode;

    /**
     * 工作台类型
     */
    @ApiModelProperty(value = "工作台类型")
    private WorkspaceType workspaceType;

    /**
     * 租户 ID
     */
    @ApiModelProperty(value = "租户 ID")
    private String tenantId;

    /**
     * 流程实例的总节点数
     */
    @ApiModelProperty(value = "流程实例的总节点数")
    private Integer totalNodeCount;

    /**
     * 当前运行到的节点
     */
    @ApiModelProperty(value = "当前运行到的节点")
    private Integer currentNodeCount;

    /**
     * 最近已完成的节点的结束时间
     */
    @ApiModelProperty(value = "最近已完成的节点的结束时间")
    private Date leastCompleteActivityEndTime;

    /**
     * 当前活动 ID
     */
    @ApiModelProperty(value = "当前活动 ID")
    private String currentActivityId;

    /**
     * 当期活动的名称
     */
    @ApiModelProperty(value = "当期活动的名称")
    private String currentActivityName;

    /**
     * 流程实例开始时间
     */
    @ApiModelProperty(value = "流程实例开始时间")
    private Date startTime;

    /**
     * 流程实例结束事件
     */
    @ApiModelProperty(value = "流程实例结束事件")
    private Date endTime;

}
