|
@@ -95,9 +95,21 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
|
|
|
|
|
|
@Override
|
|
|
public Boolean initTable(List<WbsFormElement> elementList, String tableName) {
|
|
|
- String sql = createSQL(elementList);
|
|
|
+ List<WbsFormElement> collect = elementList.stream().filter(element -> {
|
|
|
+ String eKey = element.getEKey();
|
|
|
+ String[] split = eKey.split("_");
|
|
|
+ if (split.length > 1 && StringUtil.isNumeric(split[1])) {
|
|
|
+ int i = Integer.parseInt(split[1]);
|
|
|
+ return i <= 80;
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ String sql = createSQL(collect);
|
|
|
try {
|
|
|
boolean b = wbsFormElementMapper.createTable(sql, tableName) >= 0;
|
|
|
+ if (b) {
|
|
|
+ alterMTableOpsFiled(tableName);
|
|
|
+ }
|
|
|
return b;
|
|
|
} catch (Exception e) {
|
|
|
return true;
|
|
@@ -147,6 +159,7 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public WbsFormElement saveAndSyn(WbsFormElement wbsFormElement, String tableName) {
|
|
|
|
|
|
String isExitSql = "select * from information_schema.TABLES where TABLE_NAME='" + tableName + "'";
|
|
@@ -571,18 +584,29 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
|
|
|
|
|
|
//String eTypeFiled = getInitTableFiledType(wbsFormElementInfo.getEType());
|
|
|
//int eLengthFiled = Integer.parseInt(setDefaultElementLength(wbsFormElementInfo.getEType()));
|
|
|
-
|
|
|
- //判断是否存在该Key字段
|
|
|
- int row1 = wbsTreeMapper.isThereAField(wbsTree.getInitTableName(), key);
|
|
|
- if (row1 == 0) {
|
|
|
- //追加字段到实体表中
|
|
|
- wbsTreeMapper.alterTableFiled(wbsTree.getInitTableName(), key, "varchar", DEFAULT_ELEMENT_LENGTH_VARCHAR);
|
|
|
- //判断是否追加成功
|
|
|
- int row2 = wbsTreeMapper.isThereAField(wbsTree.getInitTableName(), key);
|
|
|
- if (row2 != 1) {
|
|
|
- //追加失败,删除元素,跳过
|
|
|
- baseMapper.deleteElementByfId2(wbsFormElementInfo.getId());
|
|
|
- continue;
|
|
|
+ if (newKeyNumber > 80) {
|
|
|
+ //判断是否存在该Key字段
|
|
|
+ int row1 = wbsTreeMapper.isThereAField(wbsTree.getInitTableName(), "key_201");
|
|
|
+ if (row1 == 0) {
|
|
|
+ try {
|
|
|
+ jdbcTemplate.execute("alter table " + wbsTree.getInitTableName() + " add key_201 text");
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //判断是否存在该Key字段
|
|
|
+ int row1 = wbsTreeMapper.isThereAField(wbsTree.getInitTableName(), key);
|
|
|
+ if (row1 == 0) {
|
|
|
+ //追加字段到实体表中
|
|
|
+ wbsTreeMapper.alterTableFiled(wbsTree.getInitTableName(), key, "varchar", DEFAULT_ELEMENT_LENGTH_VARCHAR);
|
|
|
+ //判断是否追加成功
|
|
|
+ int row2 = wbsTreeMapper.isThereAField(wbsTree.getInitTableName(), key);
|
|
|
+ if (row2 != 1) {
|
|
|
+ //追加失败,删除元素,跳过
|
|
|
+ baseMapper.deleteElementByfId2(wbsFormElementInfo.getId());
|
|
|
+ continue;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
newKeyNumber++;
|
|
@@ -647,18 +671,29 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
|
|
|
|
|
|
//String eTypeFiled = getInitTableFiledType(wbsFormElementInfo.getEType());
|
|
|
//int eLengthFiled = Integer.parseInt(setDefaultElementLength(wbsFormElementInfo.getEType()));
|
|
|
-
|
|
|
- //判断是否存在该Key字段
|
|
|
- int row1 = wbsTreeMapper.isThereAField(wbsTree.getInitTableName(), key);
|
|
|
- if (row1 == 0) {
|
|
|
- //追加字段到实体表中
|
|
|
- wbsTreeMapper.alterTableFiled(wbsTree.getInitTableName(), key, "varchar", DEFAULT_ELEMENT_LENGTH_VARCHAR);
|
|
|
- //判断是否追加成功
|
|
|
- int row2 = wbsTreeMapper.isThereAField(wbsTree.getInitTableName(), key);
|
|
|
- if (row2 != 1) {
|
|
|
- //追加失败,删除元素,跳过
|
|
|
- baseMapper.deleteElementByfId2(wbsFormElementInfo.getId());
|
|
|
- continue;
|
|
|
+ if (newKeyNumber > 80) {
|
|
|
+ //判断是否存在该Key字段
|
|
|
+ int row1 = wbsTreeMapper.isThereAField(wbsTree.getInitTableName(), "key_201");
|
|
|
+ if (row1 == 0) {
|
|
|
+ try {
|
|
|
+ jdbcTemplate.execute("alter table " + wbsTree.getInitTableName() + " add key_201 text");
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //判断是否存在该Key字段
|
|
|
+ int row1 = wbsTreeMapper.isThereAField(wbsTree.getInitTableName(), key);
|
|
|
+ if (row1 == 0) {
|
|
|
+ //追加字段到实体表中
|
|
|
+ wbsTreeMapper.alterTableFiled(wbsTree.getInitTableName(), key, "varchar", DEFAULT_ELEMENT_LENGTH_VARCHAR);
|
|
|
+ //判断是否追加成功
|
|
|
+ int row2 = wbsTreeMapper.isThereAField(wbsTree.getInitTableName(), key);
|
|
|
+ if (row2 != 1) {
|
|
|
+ //追加失败,删除元素,跳过
|
|
|
+ baseMapper.deleteElementByfId2(wbsFormElementInfo.getId());
|
|
|
+ continue;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
newKeyNumber++;
|
|
@@ -726,18 +761,29 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
|
|
|
|
|
|
//String eTypeFiled = getInitTableFiledType(wbsFormElementInfo.getEType());
|
|
|
//int eLengthFiled = Integer.parseInt(setDefaultElementLength(wbsFormElementInfo.getEType()));
|
|
|
-
|
|
|
- //判断是否存在该Key字段
|
|
|
- int row1 = wbsTreeMapper.isThereAField(wbsTree.getInitTableName(), key);
|
|
|
- if (row1 == 0) {
|
|
|
- //追加字段到实体表中
|
|
|
- wbsTreeMapper.alterTableFiled(wbsTree.getInitTableName(), key, "varchar", DEFAULT_ELEMENT_LENGTH_VARCHAR);
|
|
|
- //判断是否追加成功
|
|
|
- int row2 = wbsTreeMapper.isThereAField(wbsTree.getInitTableName(), key);
|
|
|
- if (row2 == 0) {
|
|
|
- //追加失败,删除元素,跳过
|
|
|
- baseMapper.deleteElementByfId2(wbsFormElementInfo.getId());
|
|
|
- continue;
|
|
|
+ if (newKeyNumber > 80) {
|
|
|
+ //判断是否存在该Key字段
|
|
|
+ int row1 = wbsTreeMapper.isThereAField(wbsTree.getInitTableName(), "key_201");
|
|
|
+ if (row1 == 0) {
|
|
|
+ try {
|
|
|
+ jdbcTemplate.execute("alter table " + wbsTree.getInitTableName() + " add key_201 text");
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //判断是否存在该Key字段
|
|
|
+ int row1 = wbsTreeMapper.isThereAField(wbsTree.getInitTableName(), key);
|
|
|
+ if (row1 == 0) {
|
|
|
+ //追加字段到实体表中
|
|
|
+ wbsTreeMapper.alterTableFiled(wbsTree.getInitTableName(), key, "varchar", DEFAULT_ELEMENT_LENGTH_VARCHAR);
|
|
|
+ //判断是否追加成功
|
|
|
+ int row2 = wbsTreeMapper.isThereAField(wbsTree.getInitTableName(), key);
|
|
|
+ if (row2 == 0) {
|
|
|
+ //追加失败,删除元素,跳过
|
|
|
+ baseMapper.deleteElementByfId2(wbsFormElementInfo.getId());
|
|
|
+ continue;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
newKeyNumber++;
|
|
@@ -982,11 +1028,6 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
|
|
|
log.error("新增字段异常:", e);
|
|
|
}
|
|
|
}
|
|
|
- //判断是否追加成功
|
|
|
- int row2 = wbsTreeMapper.isThereAField(initTableName, "key_201");
|
|
|
- if (row2 != 1) {
|
|
|
- throw new ServiceException("新增字段异常, 请联系后台管理员处理");
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
}
|