Bläddra i källkod

解决重新发起自动通过问题

caixiaofeng 6 månader sedan
förälder
incheckning
dc33286d2c

+ 7 - 1
flow-workflow/flow-workflow-biz/src/main/java/com/flow/service/impl/FlowDefineServiceImpl.java

@@ -73,9 +73,14 @@ public class FlowDefineServiceImpl extends BaseServiceImpl<FlowDefineDao, FlowDe
         values.put("initiatorName", SecurityContextUtil.getNickName());
         values.put("_FLOWABLE_SKIP_EXPRESSION_ENABLED", true);
         values.put("_SKIP_INITIATOR", true);
+        List<StartNode> startNodes = flowDefine.findFlowNodesOfType(StartNode.class);
+        for (StartNode startNode : startNodes) {
+            values.remove(String.format("_%s_", startNode.getId()));
+        }
         List<ApprovalNode> approvalNodes = flowDefine.findFlowNodesOfType(ApprovalNode.class);
         for (ApprovalNode approvalNode : approvalNodes) {
             values.put(String.format("%sCollection", approvalNode.getId()), approvalNode.getAssignees(values, flowDefine));
+            values.remove(String.format("_%s_", approvalNode.getId()));
         }
         List<CcNode> ccNodes = flowDefine.findFlowNodesOfType(CcNode.class);
         for (CcNode ccNode : ccNodes) {
@@ -134,7 +139,8 @@ public class FlowDefineServiceImpl extends BaseServiceImpl<FlowDefineDao, FlowDe
                 .start();
         try {
             runtimeService.setVariable(instanceId, "_SKIP_INITIATOR", false);
-        } catch (Exception ignored) {}
+        } catch (Exception ignored) {
+        }
     }
 
     @Override