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

import cn.axzo.workflow.common.enums.ApprovalMethodEnum;
import cn.axzo.workflow.common.enums.BpmnFlowNodeMode;
import cn.axzo.workflow.common.enums.BpmnFlowNodeType;
import cn.axzo.workflow.common.model.request.bpmn.BpmnButtonConf;
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;

/**
 * 流程实例下的节点信息
 *
 * @author wangli
 * @since 2023/10/7 16:24
 */
@Data
@Accessors(chain = true)
public class ProcessNodeDetailVO {

    /**
     * 节点标识
     */
    private String id;

    /**
     * 节点名称
     */
    private String name;
    /**
     * 节点类型
     */
    private BpmnFlowNodeType nodeType;
    /**
     * 审批方式
     */
    private ApprovalMethodEnum approvalMethod;
    /**
     * 审批节点处理模式
     */
    private BpmnFlowNodeMode nodeMode;

    /**
     * 关联的表单 Key
     */
    private String formKey;
    /**
     * 按钮配置信息,内部已计算兜底配置
     */
    private BpmnButtonConf buttonConf;

    /**
     * 推测出来的审批人
     */
    private List<BpmnTaskDelegateAssigner> forecastAssigners;

}
