• DMN集成到BPMN中使用 简化流程,让我们的BPMN显得更加优雅 *


DMN集成bpmn使用


新建决策树模板

注意一定要部署,而且部署的TENANT_ID和流程模板保持一致

07 flowable DMN结合bpmn简化流程_决策树

新建流程模板

07 flowable DMN结合bpmn简化流程_决策树_02

现在我们刚才建的那个决策树

注意流程定义的TENANT_ID要和决策树的TENANT_ID一致

启动流程测试

@Test
public void testStartProcess() throws Exception {
StartProcessInstanceVo startProcessInstanceVo = new StartProcessInstanceVo();
startProcessInstanceVo.setBusinessKey("000121212");
startProcessInstanceVo.setProcessDefinitionKey("dhkgHR0004");
startProcessInstanceVo.setSystemSn("flow");
startProcessInstanceVo.setFormName("测试候选人");
startProcessInstanceVo.setCurrentUserCode("500978");
startProcessInstanceVo.setFlowLevelFlag(false);
Map<String, Object> variables = new HashMap<>();
variables.put("departmentCode","0001");
variables.put("money",4000);
startProcessInstanceVo.setVariables(variables);
ReturnVo<ProcessInstance> processInstanceReturnVo = flowableProcessInstanceService.startProcessInstanceByKey(startProcessInstanceVo);

这里departmentCode和money作为一个变量参数输入进去,决策树就能识别到。

注意:我的决策树中使用的是form.departmentCode 和 form.money 主要是我在启动流程的时候对参数做了处理,存到数据库是一个json数据。

查看输出结果

这个时候我们的决策树输出的applyer就是00005 就可以完成复杂的条件判断

其他应用场景

当我们公司需要更多的维度输出想要的结果的时候,也是可以使用决策树

比方说,我们对人员考勤,年龄,平时绩效,等等一些参数来分析这个人的工作状态。还有贷款行业分析一些人的风险度。还有平时一些小的决策方面都可以使用决策树来判断