liuyc hace 2 años
padre
commit
4980faa754

+ 15 - 54
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java

@@ -555,15 +555,9 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
     public boolean syncTabData(String pKeyId) throws Exception {
         WbsTreeContract node = baseMapper.selectOne(Wrappers.<WbsTreeContract>lambdaQuery().eq(WbsTreeContract::getPKeyId, pKeyId));
         if (node != null) {
-            //原始表
-            Map<String, String> sgYsNodeMaps = new LinkedHashMap<>();
-            Map<String, String> jlYsNodeMaps = new LinkedHashMap<>();
-            //频率表
-            Map<String, String> sgPLNodeMaps = new LinkedHashMap<>();
-            Map<String, String> jlPLNodeMaps = new LinkedHashMap<>();
-            //复制表
-            Map<String, String> sgCopyNodeMaps = new LinkedHashMap<>();
-            Map<String, String> jlCopyNodeMaps = new LinkedHashMap<>();
+            //表maps
+            Map<String, String> sgTabMaps = new LinkedHashMap<>();
+            Map<String, String> jlTabMaps = new LinkedHashMap<>();
 
             List<WbsTreeContract> tabs = baseMapper.selectList(Wrappers.<WbsTreeContract>lambdaQuery().eq(WbsTreeContract::getParentId, node.getId())
                     .select(WbsTreeContract::getNodeName, WbsTreeContract::getTableOwner, WbsTreeContract::getPKeyId, WbsTreeContract::getInitTableName, WbsTreeContract::getSort, WbsTreeContract::getFullName, WbsTreeContract::getUpdateTime)
@@ -620,59 +614,23 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                     .collect(Collectors.toList());
 
             for (WbsTreeContract wbsTreeContract : sgTabSort) {
-                //if (wbsTreeContract.getOldId() == null && !wbsTreeContract.getNodeName().contains("_PL_")) {
                 //质检表
                 String s = extractAlphameric(wbsTreeContract.getNodeName());
                 if (StringUtils.isNotEmpty(s)) {
-                    sgYsNodeMaps.put(s + "---" + wbsTreeContract.getPKeyId(), wbsTreeContract.getInitTableName());
+                    sgTabMaps.put(s + "---" + wbsTreeContract.getPKeyId(), wbsTreeContract.getInitTableName());
                 }
-                 /*} else {
-                    //复制表
-                    if (wbsTreeContract.getNodeName().contains("__")) {
-                        String s = extractAlphameric(wbsTreeContract.getNodeName());
-                        if (StringUtils.isNotEmpty(s)) {
-                            sgCopyNodeMaps.put(s + "---" + wbsTreeContract.getPKeyId(), wbsTreeContract.getInitTableName());
-                        }
-                    }
-                    //原始频率表
-                    if (wbsTreeContract.getNodeName().contains("_PL_")) {
-                        String s = extractAlphameric(wbsTreeContract.getNodeName());
-                        if (StringUtils.isNotEmpty(s)) {
-                            sgPLNodeMaps.put(s + "---" + wbsTreeContract.getPKeyId(), wbsTreeContract.getInitTableName());
-                        }
-                    }
-                }*/
             }
             for (WbsTreeContract wbsTreeContract : jlTabSort) {
-                //if (wbsTreeContract.getOldId() == null && !wbsTreeContract.getNodeName().contains("_PL_")) {
                 //监理表
                 String s = extractAlphameric(wbsTreeContract.getNodeName());
                 if (StringUtils.isNotEmpty(s)) {
-                    jlYsNodeMaps.put(s + "---" + wbsTreeContract.getPKeyId(), wbsTreeContract.getInitTableName());
+                    jlTabMaps.put(s + "---" + wbsTreeContract.getPKeyId(), wbsTreeContract.getInitTableName());
                 }
-                /*} else {
-                    //复制表
-                    if (wbsTreeContract.getNodeName().contains("__")) {
-                        String s = extractAlphameric(wbsTreeContract.getNodeName());
-                        if (StringUtils.isNotEmpty(s)) {
-                            jlCopyNodeMaps.put(s + "---" + wbsTreeContract.getPKeyId(), wbsTreeContract.getInitTableName());
-                        }
-                    }
-                    //频率表
-                    if (wbsTreeContract.getNodeName().contains("_PL_")) {
-                        String s = extractAlphameric(wbsTreeContract.getNodeName());
-                        if (StringUtils.isNotEmpty(s)) {
-                            jlPLNodeMaps.put(s + "---" + wbsTreeContract.getPKeyId(), wbsTreeContract.getInitTableName());
-                        }
-                    }
-                }*/
             }
 
             //构造表数据
             List<InsertDataVO> resultData = new LinkedList<>();
-            this.syncTabDataImpl(sgYsNodeMaps, jlYsNodeMaps, resultData);
-            this.syncTabDataImpl(sgCopyNodeMaps, jlCopyNodeMaps, resultData);
-            this.syncTabDataImpl(sgPLNodeMaps, jlPLNodeMaps, resultData);
+            this.syncTabDataImpl(sgTabMaps, jlTabMaps, resultData);
 
             //入库处理
             if (resultData.size() > 0) {
@@ -711,9 +669,11 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                             if (!keysAll.contains(key)) {
                                 continue;  //如果key不在监理表keysAll中,就跳过
                             }
-                            keys.add(key);
-                            String data = vo.getData();
-                            values.add(data);
+                            if (!keys.contains(key)) { //解决重复key值问题
+                                keys.add(key);
+                                String data = vo.getData();
+                                values.add(data);
+                            }
                         }
                         if (keys.size() > 0 && values.size() > 0 && keys.size() == values.size()) {
                             //delete SQL(删除旧数据,去重)
@@ -775,10 +735,11 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                 String pKeyIdJL = splitJl[1];
                 String initTabNameJL = jlTab.getValue();
 
-                String htmlStringJL = this.getHtmlString(pKeyIdJL);
-
-                //表的代码名称相同,则复制数据,例如:G10=G10
+                //表的代码名称相同,就复制数据,例如:G10=G10
                 if (nodeNameRe.equals(nodeNameReJL)) {
+
+                    String htmlStringJL = this.getHtmlString(pKeyIdJL);
+
                     //获取质检实体表对应数据
                     List<Map<String, Object>> mapsList = jdbcTemplate.queryForList("select * from " + initTabName + " where p_key_id = " + pKeyId);
                     if (mapsList.size() > 0) {