diff --git a/cds-fontend-2025.V1/readme b/cds-fontend-2025.V1/readme index da92110..4844982 100644 --- a/cds-fontend-2025.V1/readme +++ b/cds-fontend-2025.V1/readme @@ -27,7 +27,7 @@ https://blog.csdn.net/user990378983/article/details/130324181 -------work flow --------- 1、为不同的业务类型,提供不同的审批表单,并存放到src/components/workflow/form路径下,工作流模块会动态扫描此目录下的所有表单当作审批表单 2、审批表单中的flowCode必须写死,并一一对应flow_definition表中的flow_code(流程定义时的流程定义编码) -3、不同业务的列表页还是放到views下,当作业务路由组件,但审批表单bicultural放到components下,作为其他工作流动态组件使用 +3、不同业务的列表页还是放到views下,当作业务路由组件,但审批表单必须放到components下,作为其他工作流动态组件使用 4、为节省不必要的操作,暂时考虑使用代码工具生成代码后,将模态组件复制到相关目录下并微调(flowCode)即可 审批业务和普通业务不一样,需要使用审批功能时 @@ -35,4 +35,9 @@ https://blog.csdn.net/user990378983/article/details/130324181 2、将index.vue.bak的内容替换到index.vue 3、将flow.vue.bak转移到src/components/workflow/form路径下(调整flowCode) + 5、使用附件需要有共享存储,后续优化 +6、设计审批流程时,初开始节点外,第二个节点务必为申请人发起节点,否则会有问题 +7、后续增加已上线工作流的下线功能 +8、设计器样式的调整,可以线下编译warm-flow-plugin-ui-sb-web引入的jar +9、流程发起、驳回等模态需要考虑重新设计一下 diff --git a/cds-platform-2025.V1/cds-modules/cds-demo/src/main/java/org/dromara/demo/service/impl/Flow1DemoDemo1ServiceImpl.java b/cds-platform-2025.V1/cds-modules/cds-demo/src/main/java/org/dromara/demo/service/impl/Flow1DemoDemo1ServiceImpl.java index 7db996f..8eedb57 100644 --- a/cds-platform-2025.V1/cds-modules/cds-demo/src/main/java/org/dromara/demo/service/impl/Flow1DemoDemo1ServiceImpl.java +++ b/cds-platform-2025.V1/cds-modules/cds-demo/src/main/java/org/dromara/demo/service/impl/Flow1DemoDemo1ServiceImpl.java @@ -243,6 +243,12 @@ public class Flow1DemoDemo1ServiceImpl implements IFlow1DemoDemo1Service { */ @EventListener(condition = "#processEvent.flowCode.startsWith(@flow1DemoDemo1ServiceImpl.getFlowCode())") public void processHandler(ProcessEvent processEvent) { + //TODO + //当审批流程结束(完成、终止、退回等))需要进行部分操作时,可在此监听器执行 + if(BusinessStatusEnum.FINISH.equals(processEvent.getStatus())){ + log.info("审批流程结束"); + } + log.info("当前任务执行了{}", processEvent.toString()); Flow1DemoDemo1 flow1DemoDemo1 = baseMapper.selectById(Convert.toLong(processEvent.getBusinessId())); flow1DemoDemo1.setStatus(processEvent.getStatus()); diff --git a/cds-platform-2025.V1/cds-modules/cds-generator/src/main/resources/vm/java/serviceImpl.java.flow.bak.vm b/cds-platform-2025.V1/cds-modules/cds-generator/src/main/resources/vm/java/serviceImpl.java.flow.bak.vm index bfc235f..b58bf54 100644 --- a/cds-platform-2025.V1/cds-modules/cds-generator/src/main/resources/vm/java/serviceImpl.java.flow.bak.vm +++ b/cds-platform-2025.V1/cds-modules/cds-generator/src/main/resources/vm/java/serviceImpl.java.flow.bak.vm @@ -281,6 +281,13 @@ public class ${ClassName}ServiceImpl implements I${ClassName}Service { */ @EventListener(condition = "#processEvent.flowCode.startsWith(@${className}ServiceImpl.getFlowCode())") public void processHandler(ProcessEvent processEvent) { + + //TODO + //当审批流程结束(完成、终止、退回等))需要进行部分操作时,可在此监听器执行 + //if(BusinessStatusEnum.FINISH.equals(processEvent.getStatus())){ + // log.info("审批流程结束"); + //} + log.info("当前任务执行了{}", processEvent.toString()); ${ClassName} ${className} = baseMapper.selectById(Convert.toLong(processEvent.getBusinessId())); ${className}.setStatus(processEvent.getStatus());