Kaynağa Gözat

fix 修复设计器画线驳回驳回到申请人后状态未修改

may 1 yıl önce
ebeveyn
işleme
d79b48ea99

+ 7 - 0
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java

@@ -127,6 +127,13 @@ public class WorkflowGlobalListener implements GlobalListener {
             if (StringUtils.isNotBlank(status)) {
             if (StringUtils.isNotBlank(status)) {
                 flowProcessEventHandler.processHandler(definition.getFlowCode(), instance, status, params, false);
                 flowProcessEventHandler.processHandler(definition.getFlowCode(), instance, status, params, false);
             }
             }
+            if (task != null && nextTasks.size() == 1 && flwCommonService.applyNodeCode(definition.getId()).equals(nextTasks.get(0).getNodeCode())) {
+                //如果为画线指定驳回 线条指定为驳回 驳回得节点为申请人节点 则修改流程状态为退回
+                flowProcessEventHandler.processHandler(definition.getFlowCode(), instance, BusinessStatusEnum.BACK.getStatus(), params, false);
+                //修改流程实例状态
+                instance.setFlowStatus(BusinessStatusEnum.BACK.getStatus());
+                insService.updateById(instance);
+            }
         }
         }
         //发布任务事件
         //发布任务事件
         if (CollUtil.isNotEmpty(nextTasks)) {
         if (CollUtil.isNotEmpty(nextTasks)) {