Преглед изворни кода

后管-清表关联>>添加元素时报错 添加错误提示语

LHB пре 2 месеци
родитељ
комит
427a96e2c1

+ 19 - 15
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsFormElementServiceImpl.java

@@ -915,23 +915,27 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
     }
 
     public boolean syncDataFiled(String initTableName, List<WbsFormElement> listData) {
-        for (WbsFormElement listDatum : listData) {
-            // String initTableFiledType = getInitTableFiledType(listDatum.getEType());
-            // int elementLength = getElementLength(initTableFiledType);
-            //同步
-            //判断是否存在该Key字段
-            int row1 = wbsTreeMapper.isThereAField(initTableName, listDatum.getEKey());
-            if (row1 == 0) {
-                //追加字段到实体表中
-                wbsTreeMapper.alterTableFiled(initTableName, listDatum.getEKey(), "varchar", DEFAULT_ELEMENT_LENGTH_VARCHAR);
-                //判断是否追加成功
-                int row2 = wbsTreeMapper.isThereAField(initTableName, listDatum.getEKey());
-                if (row2 != 1) {
-                    //追加失败,删除元素,跳过
-                    baseMapper.deleteElementByfId2(listDatum.getId());
+        try {
+            for (WbsFormElement listDatum : listData) {
+                // String initTableFiledType = getInitTableFiledType(listDatum.getEType());
+                // int elementLength = getElementLength(initTableFiledType);
+                //同步
+                //判断是否存在该Key字段
+                int row1 = wbsTreeMapper.isThereAField(initTableName, listDatum.getEKey());
+                if (row1 == 0) {
+                    //追加字段到实体表中
+                    wbsTreeMapper.alterTableFiled(initTableName, listDatum.getEKey(), "varchar", DEFAULT_ELEMENT_LENGTH_VARCHAR);
+                    //判断是否追加成功
+                    int row2 = wbsTreeMapper.isThereAField(initTableName, listDatum.getEKey());
+                    if (row2 != 1) {
+                        //追加失败,删除元素,跳过
+                        baseMapper.deleteElementByfId2(listDatum.getId());
+                    }
                 }
+                //baseMapper.addTableFiled(initTableName, listDatum.getEKey(), "varchar", DEFAULT_ELEMENT_LENGTH_VARCHAR);
             }
-            //baseMapper.addTableFiled(initTableName, listDatum.getEKey(), "varchar", DEFAULT_ELEMENT_LENGTH_VARCHAR);
+        } catch (Exception e) {
+            throw new RuntimeException("字段长度范围超出总最大限制,请尝试缩小当前字段长度或其他字段长度");
         }
         return true;
     }