项目地址:https://gitee.com/lwj/flowable.git 分支flowable-base
视频地址:https://www.bilibili.com/video/av79774697/
DMN集成到BPMN中使用 简化流程,让我们的BPMN显得更加优雅 *
DMN集成bpmn使用
新建决策树模板
注意一定要部署,而且部署的TENANT_ID和流程模板保持一致
新建流程模板
现在我们刚才建的那个决策树
注意流程定义的TENANT_ID要和决策树的TENANT_ID一致
启动流程测试
@Testpublic 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 就可以完成复杂的条件判断
其他应用场景
当我们公司需要更多的维度输出想要的结果的时候,也是可以使用决策树
比方说,我们对人员考勤,年龄,平时绩效,等等一些参数来分析这个人的工作状态。还有贷款行业分析一些人的风险度。还有平时一些小的决策方面都可以使用决策树来判断