Browse Source

解决质检必填项忽略不生效的问题

lvy 1 day ago
parent
commit
3c540e80a6

+ 5 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ExcelTabController.java

@@ -5692,12 +5692,15 @@ public class ExcelTabController extends BladeController {
             return R.fail("没有找到关联元素");
         }
         WbsFormElement element = list.get(0);
+        String sql= "";
         if (element.getNodeIgnore() == null || !element.getNodeIgnore().contains(table.getPId() + "")) {
-            element.setNodeIgnore(element.getNodeIgnore() == null ? "" : element.getNodeIgnore() + "," + table.getPId());
+            element.setNodeIgnore(element.getNodeIgnore() == null ? table.getPId() + "" : element.getNodeIgnore() + "," + table.getPId());
+            sql = " node_ignore = CONCAT(if(node_ignore is null,'',node_ignore), " + "'," + table.getPId() + "')";
         } else {
             element.setNodeIgnore(element.getNodeIgnore().replace(table.getPId() + "", ""));
+            sql = " node_ignore = REPLACE(node_ignore, " + "'," + table.getPId() + "', '')";
         }
-        wbsFormElementService.update(Wrappers.<WbsFormElement>lambdaUpdate().eq(WbsFormElement::getId, element.getId()).set(WbsFormElement::getNodeIgnore, element.getNodeIgnore()));
+        wbsFormElementService.update(Wrappers.<WbsFormElement>lambdaUpdate().eq(WbsFormElement::getId, element.getId()).setSql( sql));
         return R.data(true);
     }
 }