liuyc vor 2 Jahren
Ursprung
Commit
8bc74218d9

+ 15 - 6
blade-service/blade-business/src/main/java/org/springblade/business/controller/InformationWriteQueryController.java

@@ -1684,16 +1684,25 @@ public class InformationWriteQueryController extends BladeController {
         if (tableFileOldMap != null && tableFileOldMap.size() > 0) {
             List<TableFile> resultFileData = new ArrayList<>();
             Set<Long> updatePKeyIds = new HashSet<>();
+
+            Map<String, WbsTreeContract> addChildNodesTablesOldMap = new HashMap<>();
+            for (WbsTreeContract node : addChildNodesTablesOld) {
+                if (StringUtils.isNotBlank(node.getHtmlUrl())) {
+                    String key = node.getNodeName() + node.getHtmlUrl();
+                    addChildNodesTablesOldMap.put(key, node);
+                }
+            }
+
             for (WbsTreeContract tabNew : addChildNodesTables) {
-                for (WbsTreeContract tabOld : addChildNodesTablesOld) {
-                    //获取对应表
-                    if (tabOld.getNodeName().equals(tabNew.getNodeName()) && (ObjectUtil.isNotEmpty(tabOld.getHtmlUrl()) && ObjectUtil.isNotEmpty(tabNew.getHtmlUrl()) && tabOld.getHtmlUrl().equals(tabNew.getHtmlUrl()))) {
-                        //构建文件数据
+                if (StringUtils.isNotBlank(tabNew.getHtmlUrl())) {
+                    String key = tabNew.getNodeName() + tabNew.getHtmlUrl();
+                    WbsTreeContract tabOld = addChildNodesTablesOldMap.get(key);
+                    if (tabOld != null) {
                         List<TableFile> tab = tableFileOldMap.get(tabOld.getPKeyId() + "");
                         if (tab != null && tab.size() > 0) {
                             for (TableFile tableFile : tab) {
                                 TableFile obj = BeanUtil.copyProperties(tableFile, TableFile.class);
-                                if (obj != null){
+                                if (obj != null) {
                                     obj.setTabId(tabNew.getPKeyId() + "");
                                     obj.setId(SnowFlakeUtil.getId());
                                     resultFileData.add(obj);
@@ -1702,11 +1711,11 @@ public class InformationWriteQueryController extends BladeController {
                             if (ObjectUtil.isNotEmpty(tabOld) && tabOld.getTabFileType() == 2) {
                                 updatePKeyIds.add(tabNew.getPKeyId());
                             }
-                            break;
                         }
                     }
                 }
             }
+
             if (resultFileData.size() > 0) {
                 //入库
                 if (tableFileClient.saveBatch(resultFileData) && updatePKeyIds.size() > 0) {