Browse Source

处理同节点重复表单问题

lvy 3 weeks ago
parent
commit
0f5718a13d

+ 12 - 3
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ExcelTabController.java

@@ -1723,13 +1723,22 @@ public class ExcelTabController extends BladeController {
                 .sorted(Comparator.comparing(WbsTreeContract::getCreateTime)).collect(Collectors.toList());
         //如果数量对不上说明有错的情况就进来,进行修改,现在wbsTreeContractList2就是正常的
         if (strings.size() != wbsTreeContractList2.size()) {
+            boolean isFirst = true;
             for (int i = 0; i < wbsTreeContractList2.size(); i++) {
+                WbsTreeContract wbsTreeContract = wbsTreeContractList2.get(i);
+                if (Objects.equals(wbsInfo.getIsTypePrivatePid(), wbsTreeContract.getIsTypePrivatePid()) && Objects.equals(wbsTreeContract.getNodeName(), split[0]) && (wbsTreeContract.getIsCopeTab() == null || !wbsTreeContract.getIsCopeTab().equals(2))) {
+                    if (isFirst) {
+                        isFirst = false;
+                    } else {
+                        wbsTreeContract.setIsCopeTab(2);
+                    }
+                }
                 //是复制表
-                if (wbsTreeContractList2.get(i).getIsCopeTab() != null && wbsTreeContractList2.get(i).getIsCopeTab().equals(Integer.valueOf(2))) {
+                if (wbsTreeContract.getIsCopeTab() != null && wbsTreeContract.getIsCopeTab().equals(2)) {
                     String nodeName = wbsTreeContractList2.get(0).getNodeName().split("__")[0];
                     nodeName = nodeName + "__" + (i);
-                    wbsTreeContractList2.get(i).setNodeName(nodeName);
-                    String update = "UPDATE m_wbs_tree_contract Set node_name= " + "'" + wbsTreeContractList2.get(i).getNodeName() + "'" + " WHERE p_key_id=" + wbsTreeContractList2.get(i).getPKeyId();
+                    wbsTreeContract.setNodeName(nodeName);
+                    String update = "UPDATE m_wbs_tree_contract Set is_cope_tab = 2, node_name= " + "'" + wbsTreeContract.getNodeName() + "'" + " WHERE p_key_id=" + wbsTreeContract.getPKeyId();
                     jdbcTemplate.update(update);
                 }
             }