fix: Judgment execution logic (#4073)
parent
d5ef8f3a34
commit
6805d7605b
|
|
@ -544,10 +544,16 @@ class WorkflowManage:
|
||||||
return [[item.to_dict() for item in r] for r in result]
|
return [[item.to_dict() for item in r] for r in result]
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def dependent_node(up_node_id, node):
|
def dependent_node(edge, node):
|
||||||
|
up_node_id = edge.sourceNodeId
|
||||||
if not node.node_chunk.is_end():
|
if not node.node_chunk.is_end():
|
||||||
return False
|
return False
|
||||||
if node.id == up_node_id:
|
if node.id == up_node_id:
|
||||||
|
if node.context.get('branch_id', None):
|
||||||
|
if edge.sourceAnchorId == f"{node.id}_{node.context.get('branch_id', None)}_right":
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
if node.type == 'form-node':
|
if node.type == 'form-node':
|
||||||
if node.context.get('form_data', None) is not None:
|
if node.context.get('form_data', None) is not None:
|
||||||
return True
|
return True
|
||||||
|
|
@ -560,9 +566,11 @@ class WorkflowManage:
|
||||||
@param node_id: 需要判断的节点id
|
@param node_id: 需要判断的节点id
|
||||||
@return:
|
@return:
|
||||||
"""
|
"""
|
||||||
up_node_id_list = [edge.sourceNodeId for edge in self.flow.edges if edge.targetNodeId == node_id]
|
up_edge_list = [edge for edge in self.flow.edges if edge.targetNodeId == node_id]
|
||||||
return all([any([self.dependent_node(up_node_id, node) for node in self.node_context]) for up_node_id in
|
return all(
|
||||||
up_node_id_list])
|
[any([self.dependent_node(edge, node) for node in self.node_context if node.id == edge.sourceNodeId]) for
|
||||||
|
edge in
|
||||||
|
up_edge_list])
|
||||||
|
|
||||||
def get_next_node_list(self, current_node, current_node_result):
|
def get_next_node_list(self, current_node, current_node_result):
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue