diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/mapper/xml/ProcessNodeMapper.xml b/laws-modules/src/main/java/com/jero/modules/activiti/mapper/xml/ProcessNodeMapper.xml
index cfd64646..748a1c83 100644
--- a/laws-modules/src/main/java/com/jero/modules/activiti/mapper/xml/ProcessNodeMapper.xml
+++ b/laws-modules/src/main/java/com/jero/modules/activiti/mapper/xml/ProcessNodeMapper.xml
@@ -9,14 +9,12 @@
from process_node pn
- left join process_node_link pnl on pn.id = pnl.process_node_id
+ left join (select * from process_node_link where process_instance_id = #{processInstanceId}) pnl
+ on pn.id = pnl.process_node_id
pn.process_definition_id = #{processDefinitionId}
and pn.is_view = 1
-
- and pnl.process_instance_id = #{processInstanceId}
-
group by pn.id
diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessNodeService.java b/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessNodeService.java
index 7bf487f6..46ac7821 100644
--- a/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessNodeService.java
+++ b/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessNodeService.java
@@ -1,5 +1,6 @@
package com.jero.modules.activiti.service;
+import cn.hutool.core.collection.CollStreamUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.modules.activiti.entity.ProcessModelNode;
import com.jero.modules.activiti.mapper.ProcessModelNodeMapper;
@@ -16,6 +17,7 @@ import com.jero.modules.activiti.entity.ProcessNode;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import java.util.stream.Collectors;
/**
@@ -79,10 +81,13 @@ public class ProcessNodeService extends ServiceImpl viewNodeList = oldNodeList.stream()
.filter(node -> node.getIsView() == 1).collect(Collectors.toList());
-
+ Map map = CollStreamUtil.toMap(processNodeList, ProcessNode::getNodeName, ProcessNode::getXmlNodeId);
viewNodeList.forEach(viewNode -> {
viewNode.setProcessDefinitionId(processDefinitionId);
viewNode.setId(null);
+ if (map.containsKey(viewNode.getNodeName())){
+ viewNode.setXmlNodeId(map.get(viewNode.getNodeName()));
+ }
});
for (ProcessNode processNode : processNodeList) {