/*
 * Copyright (c) 2023 codvision.com All Rights Reserved.
 */

package com.codvision.workflow.service;

import com.codvision.workflow.entity.vo.WorkFlowViewerVO;

import java.util.List;
import java.util.Map;

/**
 * @author hxl
 */
public interface WorkFlowInstanceService {

    /**
     * 启动流程实例
     * @param processDefinitionId 流程定义ID
     * @param formMap 表单数据
     */
    void startProcessInstanceById(String processDefinitionId, Map<String, Object> formMap);

    /**
     * 流程进度
     * @param instanceId 流程实例ID
     * @param deployId 流程部署ID
     * @return 流程进度
     */
    WorkFlowViewerVO flowPace(String instanceId, String deployId);

    /**
     * 删除流程实例
     * @param instanceIds 流程实例ID集合
     * @param deleteReason 删除原因
     */
    void del(List<String> instanceIds, String deleteReason);
}
