package com.qqchen.deploy.backend.workflow.dto;

import com.qqchen.deploy.backend.framework.dto.BaseDTO;
import com.qqchen.deploy.backend.workflow.dto.FormDefinitionDTO;
import com.qqchen.deploy.backend.workflow.dto.definition.workflow.WorkflowDefinitionGraph;
import com.qqchen.deploy.backend.workflow.enums.WorkflowDefinitionStatusEnums;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 工作流定义DTO
 *
 * @author cascade
 * @date 2024-12-11
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class WorkflowDefinitionDTO extends BaseDTO {

    /**
     * 流程名称
     */
    private String name;

    /**
     * 流程标识
     */
    private String key;

    /**
     * 分类ID
     */
    private Long categoryId;

    /**
     * 分类信息（用于展示）
     */
    private WorkflowCategoryDTO category;

    /**
     * 启动表单ID
     */
    private Long formDefinitionId;

    /**
     * 启动表单信息（用于展示）
     */
    private FormDefinitionDTO formDefinition;

    /**
     * 流程版本
     */
    private Integer flowVersion;

    /**
     * BPMN XML内容
     */
    private String bpmnXml;

    /**
     * 图形数据
     */
    private WorkflowDefinitionGraph graph;

    /**
     * 定义状态
     */
    private WorkflowDefinitionStatusEnums status;


    /**
     * 流程描述
     */
    private String description;
}
