智慧保安后台管理-外网项目备份
zhongrj
2023-09-17 8853292babb2ad94de4a3207966f1e83b767cd2d
新增流程节点进程查询接口
3 files modified
45 ■■■■■ changed files
src/main/java/org/springblade/flow/engine/controller/FlowProcessController.java 12 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/flow/engine/service/FlowEngineService.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/flow/engine/service/impl/FlowEngineServiceImpl.java 23 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/flow/engine/controller/FlowProcessController.java
@@ -112,6 +112,18 @@
        }
    }
    /**
     * 流程节点进程图
     *
     * @param processDefinitionId 流程id
     * @param processInstanceId 流程实例id
     */
    @GetMapping(value = "model-view")
    public R modelView(String processDefinitionId, String processInstanceId) {
        return R.data(flowEngineService.modelView(processDefinitionId, processInstanceId));
    }
    /**
     * 获取流程节点进程图
     *
src/main/java/org/springblade/flow/engine/service/FlowEngineService.java
@@ -25,6 +25,7 @@
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
/**
 * FlowEngineService
@@ -117,4 +118,13 @@
     * @return
     */
    boolean deleteProcessInstance(String processInstanceId, String deleteReason);
    /**
     * 流程节点进程图
     *
     * @param processDefinitionId
     * @param processInstanceId
     * @return
     */
    Map<String, Object> modelView(String processDefinitionId, String processInstanceId);
}
src/main/java/org/springblade/flow/engine/service/impl/FlowEngineServiceImpl.java
@@ -396,4 +396,27 @@
        }
    }
    /**
     * 流程节点进程图
     *
     * @param processDefinitionId
     * @param processInstanceId
     * @return
     */
    @Override
    public Map<String, Object> modelView(String processDefinitionId, String processInstanceId) {
        Map<String, Object> result = new HashMap<>();
        // 节点标记
        if (StringUtil.isNotBlank(processInstanceId)) {
            result.put("flow", this.historyFlowList(processInstanceId, null, null));
            HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery()
                .processInstanceId(processInstanceId)
                .singleResult();
            processDefinitionId = processInstance.getProcessDefinitionId();
        }
        BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinitionId);
        // 流程图展示
        result.put("xml", new String(new BpmnXMLConverter().convertToXML(bpmnModel)));
        return result;
    }
}