|
@@ -39,6 +39,7 @@ import org.jeecg.modules.online.cgform.mapper.*;
|
|
|
import org.jeecg.modules.online.cgform.model.OnlCgformModel;
|
|
import org.jeecg.modules.online.cgform.model.OnlCgformModel;
|
|
|
import org.jeecg.modules.online.cgform.model.OnlGenerateModel;
|
|
import org.jeecg.modules.online.cgform.model.OnlGenerateModel;
|
|
|
import org.jeecg.modules.online.cgform.model.TreeSelectColumn;
|
|
import org.jeecg.modules.online.cgform.model.TreeSelectColumn;
|
|
|
|
|
+import org.jeecg.modules.online.cgform.service.IOnlCgformFieldGroupService;
|
|
|
import org.jeecg.modules.online.cgform.service.IOnlCgformFieldService;
|
|
import org.jeecg.modules.online.cgform.service.IOnlCgformFieldService;
|
|
|
import org.jeecg.modules.online.cgform.service.IOnlCgformHeadService;
|
|
import org.jeecg.modules.online.cgform.service.IOnlCgformHeadService;
|
|
|
import org.jeecg.modules.online.cgform.service.IOnlCgformIndexService;
|
|
import org.jeecg.modules.online.cgform.service.IOnlCgformIndexService;
|
|
@@ -80,6 +81,8 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private IOnlCgformIndexService indexService;
|
|
private IOnlCgformIndexService indexService;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
|
|
+ private IOnlCgformFieldGroupService fieldGroupService;
|
|
|
|
|
+ @Autowired
|
|
|
private OnlCgformEnhanceJsMapper onlCgformEnhanceJsMapper;
|
|
private OnlCgformEnhanceJsMapper onlCgformEnhanceJsMapper;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private OnlCgformButtonMapper onlCgformButtonMapper;
|
|
private OnlCgformButtonMapper onlCgformButtonMapper;
|
|
@@ -158,12 +161,22 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
cgformIndex.setDelFlag(CommonConstant.DEL_FLAG_0);
|
|
cgformIndex.setDelFlag(CommonConstant.DEL_FLAG_0);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // 字段分组信息
|
|
|
|
|
+ List<OnlCgformFieldGroup> cgformFieldGroups = model.getFieldGroups();
|
|
|
|
|
+ // 修改字段分组信息
|
|
|
|
|
+ for (OnlCgformFieldGroup cgformFieldGroup : cgformFieldGroups) {
|
|
|
|
|
+ cgformFieldGroup.setId(null);
|
|
|
|
|
+ cgformFieldGroup.setCgformHeadId(cgformHead.getId());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
// 保存表
|
|
// 保存表
|
|
|
- super.save(cgformHead);
|
|
|
|
|
|
|
+ save(cgformHead);
|
|
|
// 保存字段
|
|
// 保存字段
|
|
|
- this.fieldService.saveBatch(cgformFields);
|
|
|
|
|
|
|
+ fieldService.saveBatch(cgformFields);
|
|
|
// 保存索引
|
|
// 保存索引
|
|
|
- this.indexService.saveBatch(cgformIndices);
|
|
|
|
|
|
|
+ indexService.saveBatch(cgformIndices);
|
|
|
|
|
+ // 保存字段分组
|
|
|
|
|
+ fieldGroupService.saveBatch(cgformFieldGroups);
|
|
|
|
|
|
|
|
this.updateSubTableStr(cgformHead, cgformFields);
|
|
this.updateSubTableStr(cgformHead, cgformFields);
|
|
|
// 表类型( 1:单表、2:主表、3:附表)
|
|
// 表类型( 1:单表、2:主表、3:附表)
|
|
@@ -293,9 +306,7 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
|
|
|
|
|
for (OnlCgformIndex dbIndex : dbIndexList) {
|
|
for (OnlCgformIndex dbIndex : dbIndexList) {
|
|
|
// 查找是否存在
|
|
// 查找是否存在
|
|
|
- boolean isExist = modelIndexList.stream().anyMatch(modelIndex -> {
|
|
|
|
|
- return dbIndex.getId().equals(modelIndex.getId());
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ boolean isExist = modelIndexList.stream().anyMatch(modelIndex -> dbIndex.getId().equals(modelIndex.getId()));
|
|
|
if (!isExist) {
|
|
if (!isExist) {
|
|
|
dbIndex.setDelFlag(CommonConstant.DEL_FLAG_1);
|
|
dbIndex.setDelFlag(CommonConstant.DEL_FLAG_1);
|
|
|
syncIndexList.add(dbIndex);
|
|
syncIndexList.add(dbIndex);
|
|
@@ -337,7 +348,7 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
modelHead.setIsDbSynch(isDbSynch);
|
|
modelHead.setIsDbSynch(isDbSynch);
|
|
|
updateById(modelHead);
|
|
updateById(modelHead);
|
|
|
updateSubTableStr(modelHead, modelFieldList);
|
|
updateSubTableStr(modelHead, modelFieldList);
|
|
|
- this.b(modelHead, modelFieldList);
|
|
|
|
|
|
|
+ this.updateOriginalTable(modelHead, modelFieldList);
|
|
|
return Result.ok("全部修改成功");
|
|
return Result.ok("全部修改成功");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -1911,82 +1922,96 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private void b(OnlCgformHead var1, List<OnlCgformField> var2) {
|
|
|
|
|
- List var3 = this.list(new LambdaQueryWrapper<OnlCgformHead>().eq(OnlCgformHead::getPhysicId, var1.getId()));
|
|
|
|
|
- if (var3 != null && var3.size() > 0) {
|
|
|
|
|
- Iterator var4 = var3.iterator();
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 更新原始表
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param cgformHead
|
|
|
|
|
+ * @param cgformFieldList
|
|
|
|
|
+ */
|
|
|
|
|
+ private void updateOriginalTable(OnlCgformHead cgformHead, List<OnlCgformField> cgformFieldList) {
|
|
|
|
|
+ List<OnlCgformHead> cgformHeadList = this.list(new LambdaQueryWrapper<OnlCgformHead>()
|
|
|
|
|
+ .eq(OnlCgformHead::getPhysicId, cgformHead.getId()));
|
|
|
|
|
+ if (cgformHeadList != null && cgformHeadList.size() > 0) {
|
|
|
|
|
+ Iterator<OnlCgformHead> cgformHeadIterator = cgformHeadList.iterator();
|
|
|
|
|
|
|
|
while(true) {
|
|
while(true) {
|
|
|
- List var6;
|
|
|
|
|
|
|
+ List<OnlCgformField> dbCgformFieldList;
|
|
|
String var13;
|
|
String var13;
|
|
|
- ArrayList var19;
|
|
|
|
|
- Iterator var22;
|
|
|
|
|
|
|
+ ArrayList<String> var19;
|
|
|
label108:
|
|
label108:
|
|
|
do {
|
|
do {
|
|
|
- while(var4.hasNext()) {
|
|
|
|
|
- OnlCgformHead var5 = (OnlCgformHead)var4.next();
|
|
|
|
|
- var6 = this.fieldService.list(new LambdaQueryWrapper<OnlCgformField>().eq(OnlCgformField::getCgformHeadId, var5.getId()));
|
|
|
|
|
- OnlCgformField var9;
|
|
|
|
|
- if (var6 != null && var6.size() != 0) {
|
|
|
|
|
- HashMap var15 = new HashMap();
|
|
|
|
|
- Iterator var16 = var6.iterator();
|
|
|
|
|
|
|
+ while(cgformHeadIterator.hasNext()) {
|
|
|
|
|
+ OnlCgformHead dbCgformHead = cgformHeadIterator.next();
|
|
|
|
|
+ dbCgformFieldList = this.fieldService.list(new LambdaQueryWrapper<OnlCgformField>()
|
|
|
|
|
+ .eq(OnlCgformField::getCgformHeadId, dbCgformHead.getId()));
|
|
|
|
|
|
|
|
- while(var16.hasNext()) {
|
|
|
|
|
- var9 = (OnlCgformField)var16.next();
|
|
|
|
|
- var15.put(var9.getDbFieldName(), 1);
|
|
|
|
|
|
|
+ if (dbCgformFieldList != null && dbCgformFieldList.size() != 0) {
|
|
|
|
|
+ // 数据库字段map
|
|
|
|
|
+ Map<String, Integer> dbFieldMap = new HashMap<>();
|
|
|
|
|
+
|
|
|
|
|
+ for (OnlCgformField dbCgformField : dbCgformFieldList) {
|
|
|
|
|
+ dbFieldMap.put(dbCgformField.getDbFieldName(), 1);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- HashMap var17 = new HashMap();
|
|
|
|
|
- Iterator var18 = var2.iterator();
|
|
|
|
|
|
|
+ // 参数字段map
|
|
|
|
|
+ Map<String, Integer> fieldMap = new HashMap<>();
|
|
|
|
|
+ Iterator<OnlCgformField> cgformFieldIterator = cgformFieldList.iterator();
|
|
|
|
|
|
|
|
- while(var18.hasNext()) {
|
|
|
|
|
- OnlCgformField var10 = (OnlCgformField)var18.next();
|
|
|
|
|
- var17.put(var10.getDbFieldName(), 1);
|
|
|
|
|
|
|
+ while(cgformFieldIterator.hasNext()) {
|
|
|
|
|
+ OnlCgformField cgformField = cgformFieldIterator.next();
|
|
|
|
|
+ fieldMap.put(cgformField.getDbFieldName(), 1);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- var19 = new ArrayList();
|
|
|
|
|
- ArrayList var20 = new ArrayList();
|
|
|
|
|
- Iterator var11 = var17.keySet().iterator();
|
|
|
|
|
-
|
|
|
|
|
- while(var11.hasNext()) {
|
|
|
|
|
- String var12 = (String)var11.next();
|
|
|
|
|
- if (var15.get(var12) == null) {
|
|
|
|
|
- var20.add(var12);
|
|
|
|
|
|
|
+ var19 = new ArrayList<>();
|
|
|
|
|
+ List<String> var20 = new ArrayList<>();
|
|
|
|
|
+// Iterator<String> keyIterator = fieldMap.keySet().iterator();
|
|
|
|
|
+//
|
|
|
|
|
+// while(keyIterator.hasNext()) {
|
|
|
|
|
+// String fieldKey = keyIterator.next();
|
|
|
|
|
+// if (dbFieldMap.get(fieldKey) == null) {
|
|
|
|
|
+// var20.add(fieldKey);
|
|
|
|
|
+// } else {
|
|
|
|
|
+// var19.add(fieldKey);
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
+
|
|
|
|
|
+ for (String fieldKey : fieldMap.keySet()) {
|
|
|
|
|
+ if (dbFieldMap.get(fieldKey) == null) {
|
|
|
|
|
+ var20.add(fieldKey);
|
|
|
} else {
|
|
} else {
|
|
|
- var19.add(var12);
|
|
|
|
|
|
|
+ var19.add(fieldKey);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- ArrayList var21 = new ArrayList();
|
|
|
|
|
- var22 = var15.keySet().iterator();
|
|
|
|
|
|
|
|
|
|
- while(var22.hasNext()) {
|
|
|
|
|
- var13 = (String)var22.next();
|
|
|
|
|
- if (var17.get(var13) == null) {
|
|
|
|
|
- var21.add(var13);
|
|
|
|
|
|
|
+ List<String> dbFieldList = new ArrayList<>();
|
|
|
|
|
+
|
|
|
|
|
+ for (String dbField : dbFieldMap.keySet()) {
|
|
|
|
|
+ if (fieldMap.get(dbField) == null) {
|
|
|
|
|
+ dbFieldList.add(dbField);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
OnlCgformField var23;
|
|
OnlCgformField var23;
|
|
|
- if (var21.size() > 0) {
|
|
|
|
|
- var22 = var6.iterator();
|
|
|
|
|
|
|
+ if (dbFieldList.size() > 0) {
|
|
|
|
|
+ Iterator<OnlCgformField> var22 = dbCgformFieldList.iterator();
|
|
|
|
|
|
|
|
while(var22.hasNext()) {
|
|
while(var22.hasNext()) {
|
|
|
- var23 = (OnlCgformField)var22.next();
|
|
|
|
|
- if (var21.contains(var23.getDbFieldName())) {
|
|
|
|
|
|
|
+ var23 = var22.next();
|
|
|
|
|
+ if (dbFieldList.contains(var23.getDbFieldName())) {
|
|
|
this.fieldService.removeById(var23.getId());
|
|
this.fieldService.removeById(var23.getId());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if (var20.size() > 0) {
|
|
if (var20.size() > 0) {
|
|
|
- var22 = var2.iterator();
|
|
|
|
|
|
|
+ Iterator<OnlCgformField> var22 = cgformFieldList.iterator();
|
|
|
|
|
|
|
|
while(var22.hasNext()) {
|
|
while(var22.hasNext()) {
|
|
|
var23 = (OnlCgformField)var22.next();
|
|
var23 = (OnlCgformField)var22.next();
|
|
|
if (var20.contains(var23.getDbFieldName())) {
|
|
if (var20.contains(var23.getDbFieldName())) {
|
|
|
OnlCgformField var14 = new OnlCgformField();
|
|
OnlCgformField var14 = new OnlCgformField();
|
|
|
- var14.setCgformHeadId(var5.getId());
|
|
|
|
|
|
|
+ var14.setCgformHeadId(dbCgformHead.getId());
|
|
|
this.copyField(var23, var14);
|
|
this.copyField(var23, var14);
|
|
|
this.fieldService.save(var14);
|
|
this.fieldService.save(var14);
|
|
|
}
|
|
}
|
|
@@ -1995,25 +2020,23 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
continue label108;
|
|
continue label108;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- Iterator var7 = var2.iterator();
|
|
|
|
|
-
|
|
|
|
|
- while(var7.hasNext()) {
|
|
|
|
|
- OnlCgformField var8 = (OnlCgformField)var7.next();
|
|
|
|
|
- var9 = new OnlCgformField();
|
|
|
|
|
- var9.setCgformHeadId(var5.getId());
|
|
|
|
|
- this.copyField(var8, var9);
|
|
|
|
|
- this.fieldService.save(var9);
|
|
|
|
|
|
|
+ for (OnlCgformField cgformField : cgformFieldList) {
|
|
|
|
|
+ OnlCgformField dbCgformField = new OnlCgformField();
|
|
|
|
|
+ dbCgformField.setCgformHeadId(dbCgformHead.getId());
|
|
|
|
|
+ this.copyField(cgformField, dbCgformField);
|
|
|
|
|
+ this.fieldService.save(dbCgformField);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return;
|
|
return;
|
|
|
} while(var19.size() <= 0);
|
|
} while(var19.size() <= 0);
|
|
|
|
|
|
|
|
- var22 = var19.iterator();
|
|
|
|
|
|
|
+ Iterator<String> var22 = var19.iterator();
|
|
|
|
|
|
|
|
while(var22.hasNext()) {
|
|
while(var22.hasNext()) {
|
|
|
var13 = (String)var22.next();
|
|
var13 = (String)var22.next();
|
|
|
- this.b(var13, var2, var6);
|
|
|
|
|
|
|
+ this.b(var13, cgformFieldList, dbCgformFieldList);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -2069,6 +2092,12 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 复制字段值
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param sourceField 源字段
|
|
|
|
|
+ * @param targetField 目标字段
|
|
|
|
|
+ */
|
|
|
private void copyField(OnlCgformField sourceField, OnlCgformField targetField) {
|
|
private void copyField(OnlCgformField sourceField, OnlCgformField targetField) {
|
|
|
targetField.setDbDefaultVal(sourceField.getDbDefaultVal());
|
|
targetField.setDbDefaultVal(sourceField.getDbDefaultVal());
|
|
|
targetField.setDbFieldName(sourceField.getDbFieldName());
|
|
targetField.setDbFieldName(sourceField.getDbFieldName());
|