File tree Expand file tree Collapse file tree 1 file changed +12
-4
lines changed
Expand file tree Collapse file tree 1 file changed +12
-4
lines changed Original file line number Diff line number Diff line change @@ -680,10 +680,16 @@ def get_next_node(self):
680680 return None
681681
682682 @staticmethod
683- def dependent_node (up_node_id , node ):
683+ def dependent_node (edge , node ):
684+ up_node_id = edge .sourceNodeId
684685 if not node .node_chunk .is_end ():
685686 return False
686687 if node .id == up_node_id :
688+ if node .context .get ('branch_id' , None ):
689+ if edge .sourceAnchorId == f"{ node .id } _{ node .context .get ('branch_id' , None )} _right" :
690+ return True
691+ else :
692+ return False
687693 if node .type == 'form-node' :
688694 if node .context .get ('form_data' , None ) is not None :
689695 return True
@@ -696,9 +702,11 @@ def dependent_node_been_executed(self, node_id):
696702 @param node_id: 需要判断的节点id
697703 @return:
698704 """
699- up_node_id_list = [edge .sourceNodeId for edge in self .flow .edges if edge .targetNodeId == node_id ]
700- return all ([any ([self .dependent_node (up_node_id , node ) for node in self .node_context ]) for up_node_id in
701- up_node_id_list ])
705+ up_edge_list = [edge for edge in self .flow .edges if edge .targetNodeId == node_id ]
706+ return all (
707+ [any ([self .dependent_node (edge , node ) for node in self .node_context if node .id == edge .sourceNodeId ]) for
708+ edge in
709+ up_edge_list ])
702710
703711 def get_up_node_id_list (self , node_id ):
704712 up_node_id_list = [edge .sourceNodeId for edge in self .flow .edges if edge .targetNodeId == node_id ]
You can’t perform that action at this time.
0 commit comments