Quellcode durchsuchen

质检必填项忽略后更新节点状态

lvy vor 2 Tagen
Ursprung
Commit
d135797e4f

+ 18 - 7
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ExcelTabController.java

@@ -1089,6 +1089,7 @@ public class ExcelTabController extends BladeController {
                 }
                 element.before("<hc-tooltip :tipsStatus=\"" + true + "\" text=\"缺少日期\" keyname=\""+keyname +"\" @leftClick=\"changeTipsStatus\" typeKey=\"" + key + "\"/>");
             });
+            updateCheckData(tableNode,status.get());
             return;
         }
         Map<String, WbsFormElement> keyMap = wbsFormElementList.stream().collect(Collectors.toMap(WbsFormElement::getEKey, item -> item, (v1, v2) -> v1));
@@ -1100,7 +1101,6 @@ public class ExcelTabController extends BladeController {
             if (map.get(key) != null && map.get(key).toString().contains("_^_")) {
                 return;
             }
-            status.set(2);
             boolean flag = true;
             if (keyMap.containsKey(key)) {
                 WbsFormElement wbsFormElement = keyMap.get(key);
@@ -1123,6 +1123,9 @@ public class ExcelTabController extends BladeController {
                 }
             }
             element.before("<hc-tooltip :tipsStatus=\"" + flag + "\" text=\"缺少日期\" keyname=\""+keyname +"\" @leftClick=\"changeTipsStatus\" typeKey=\"" + key + "\"/>");
+            if (flag) {
+                status.set(2);
+            }
         });
 
         for (WbsFormElement wbsFormElement : wbsFormElementList) {
@@ -1133,11 +1136,6 @@ public class ExcelTabController extends BladeController {
             if (obj != null && obj.toString().contains("_^_")) {
                 continue;
             }
-            if (status.get() == 2) {
-                status.set(4);
-            } else if (status.get() == 1) {
-                status.set(3);
-            }
             // 查找html中标签属性 keyname中包含 wbsFormElement.getEKey()的标签
             Elements keyNames = tableHtml.getElementsByAttributeValueContaining("keyname", wbsFormElement.getEKey());
             if (!keyNames.isEmpty()) {
@@ -1162,6 +1160,13 @@ public class ExcelTabController extends BladeController {
                     }
                     String keynameAttr = element.attr("keyname");
                     element.before("<hc-tooltip :tipsStatus=\"" + flag + "\" text=\"此项为必填项\" keyname=\""+keynameAttr +"\" @leftClick=\"changeTipsStatus\" typeKey=\"" + wbsFormElement.getEKey() + "\"/>");
+                    if (flag) {
+                        if (status.get() == 2) {
+                            status.set(4);
+                        } else if (status.get() == 1) {
+                            status.set(3);
+                        }
+                    }
                 });
             }
         }
@@ -1169,7 +1174,7 @@ public class ExcelTabController extends BladeController {
     }
     @Async
     public void updateCheckData(WbsTreeContract tableNode, Integer status) {
-        if (status > 1) {
+        if (status >= 1) {
             wbsTreeContractService.update(Wrappers.<WbsTreeContract>lambdaUpdate().set(WbsTreeContract::getDateIsComplete, status).eq(WbsTreeContract::getPKeyId, tableNode.getPKeyId()));
             WbsTreeContract parentNode = wbsTreeContractService.getOne(Wrappers.<WbsTreeContract>lambdaQuery().eq(WbsTreeContract::getPKeyId, tableNode.getPId()));
             wbsTreeContractService.checkNodeAllDate(parentNode);
@@ -5701,6 +5706,12 @@ public class ExcelTabController extends BladeController {
             sql = " node_ignore = REPLACE(node_ignore, " + "'," + table.getPId() + "', '')";
         }
         wbsFormElementService.update(Wrappers.<WbsFormElement>lambdaUpdate().eq(WbsFormElement::getId, element.getId()).setSql( sql));
+        asyncUpdateCheckStatus(pkeyId);
         return R.data(true);
     }
+
+    @Async
+    public void asyncUpdateCheckStatus(Long pkeyId) {
+        this.getExcelHtmlByBuss(pkeyId);
+    }
 }