|
|
@@ -11,6 +11,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
+import org.jeecg.codegen.generate.impl.CodeGenerateOneToMany;
|
|
|
+import org.jeecg.codegen.generate.pojo.onetomany.SubTableVo;
|
|
|
import org.jeecg.common.api.vo.Result;
|
|
|
import org.jeecg.common.aspect.annotation.AutoLowApp;
|
|
|
import org.jeecg.common.constant.CommonConstant;
|
|
|
@@ -53,9 +55,7 @@ import org.jeecg.modules.online.config.service.DbTableHandleI;
|
|
|
import org.jeecg.modules.online.config.util.DbTableProcess;
|
|
|
import org.jeecg.modules.online.config.util.DbTableUtil;
|
|
|
import org.jeecgframework.codegenerate.database.DbReadTableUtil;
|
|
|
-import org.jeecgframework.codegenerate.generate.impl.CodeGenerateOneToMany;
|
|
|
import org.jeecgframework.codegenerate.generate.pojo.onetomany.MainTableVo;
|
|
|
-import org.jeecgframework.codegenerate.generate.pojo.onetomany.SubTableVo;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
@@ -285,6 +285,21 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
fieldService.save(unsyncField);
|
|
|
}
|
|
|
|
|
|
+ // 删除字段
|
|
|
+ if (model.getDeleteFieldIds().size() > 0) {
|
|
|
+ isDbSynch = "N";
|
|
|
+ List<String> deleteFieldIds = model.getDeleteFieldIds();
|
|
|
+
|
|
|
+ for (String fieldId : deleteFieldIds) {
|
|
|
+ OnlCgformField dbField = fieldService.getById(fieldId);
|
|
|
+ if (dbField != null) {
|
|
|
+ updateSubTableStr(dbField.getMainTable(), modelHead.getTableName());
|
|
|
+ fieldService.removeById(fieldId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //region 索引
|
|
|
// 索引
|
|
|
List<OnlCgformIndex> modelIndexList = model.getIndexs();
|
|
|
List<OnlCgformIndex> dbIndexList = this.indexService.getCgformIndexsByCgformId(modelHead.getId());
|
|
|
@@ -330,20 +345,23 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
}
|
|
|
indexService.updateById(syncIndex);
|
|
|
}
|
|
|
+ //endregion
|
|
|
|
|
|
- if (model.getDeleteFieldIds().size() > 0) {
|
|
|
- isDbSynch = "N";
|
|
|
- List<String> deleteFieldIds = model.getDeleteFieldIds();
|
|
|
-
|
|
|
- for (String fieldId : deleteFieldIds) {
|
|
|
- OnlCgformField dbField = fieldService.getById(fieldId);
|
|
|
- if (dbField != null) {
|
|
|
- updateSubTableStr(dbField.getMainTable(), modelHead.getTableName());
|
|
|
- fieldService.removeById(fieldId);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
+ //region 字段分组
|
|
|
+ // 索引
|
|
|
+ List<OnlCgformFieldGroup> modelFieldGroupsList = model.getFieldGroups();
|
|
|
+ // 删除分组信息
|
|
|
+ fieldGroupService.remove(new LambdaQueryWrapper<OnlCgformFieldGroup>()
|
|
|
+ .eq(OnlCgformFieldGroup::getCgformHeadId, modelHead.getId()));
|
|
|
+
|
|
|
+ // 修改字段分组信息
|
|
|
+ for (OnlCgformFieldGroup cgformFieldGroup : modelFieldGroupsList) {
|
|
|
+ cgformFieldGroup.setId(null);
|
|
|
+ cgformFieldGroup.setCgformHeadId(modelHead.getId());
|
|
|
+ }
|
|
|
+ // 保存字段分组
|
|
|
+ fieldGroupService.saveBatch(modelFieldGroupsList);
|
|
|
+ //endregion
|
|
|
|
|
|
modelHead.setIsDbSynch(isDbSynch);
|
|
|
updateById(modelHead);
|
|
|
@@ -608,7 +626,7 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
}
|
|
|
|
|
|
public OnlCgformEnhanceJava queryEnhanceJava(OnlCgformEnhanceJava onlCgformEnhanceJava) {
|
|
|
- LambdaQueryWrapper<OnlCgformEnhanceJava> queryWrapper = new LambdaQueryWrapper();
|
|
|
+ LambdaQueryWrapper<OnlCgformEnhanceJava> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper.eq(OnlCgformEnhanceJava::getButtonCode, onlCgformEnhanceJava.getButtonCode());
|
|
|
queryWrapper.eq(OnlCgformEnhanceJava::getCgformHeadId, onlCgformEnhanceJava.getCgformHeadId());
|
|
|
queryWrapper.eq(OnlCgformEnhanceJava::getCgJavaType, onlCgformEnhanceJava.getCgJavaType());
|
|
|
@@ -618,11 +636,11 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
//endregion
|
|
|
|
|
|
public List<OnlCgformButton> queryButtonList(String code, boolean isListButton) {
|
|
|
- LambdaQueryWrapper<OnlCgformButton> queryWrapper = new LambdaQueryWrapper();
|
|
|
+ LambdaQueryWrapper<OnlCgformButton> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper.eq(OnlCgformButton::getButtonStatus, "1");
|
|
|
queryWrapper.eq(OnlCgformButton::getCgformHeadId, code);
|
|
|
if (isListButton) {
|
|
|
- queryWrapper.in(OnlCgformButton::getButtonStyle, new Object[]{"link", "button"});
|
|
|
+ queryWrapper.in(OnlCgformButton::getButtonStyle, "link", "button");
|
|
|
} else {
|
|
|
queryWrapper.eq(OnlCgformButton::getButtonStyle, "form");
|
|
|
}
|
|
|
@@ -890,7 +908,7 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
rollbackFor = {Exception.class}
|
|
|
)
|
|
|
public String saveManyFormData(String code, JSONObject json, String xAccessToken) throws DBException, BusinessException {
|
|
|
- OnlCgformHead var4 = (OnlCgformHead)this.getById(code);
|
|
|
+ OnlCgformHead var4 = this.getById(code);
|
|
|
if (var4 == null) {
|
|
|
throw new DBException("数据库主表ID[" + code + "]不存在");
|
|
|
} else {
|
|
|
@@ -965,7 +983,7 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
|
|
|
public Map<String, Object> querySubFormData(String table, String mainId) throws DBException {
|
|
|
new HashMap();
|
|
|
- OnlCgformHead var4 = (OnlCgformHead)this.getOne(new LambdaQueryWrapper<OnlCgformHead>().eq(OnlCgformHead::getTableName, table));
|
|
|
+ OnlCgformHead var4 = this.getOne(new LambdaQueryWrapper<OnlCgformHead>().eq(OnlCgformHead::getTableName, table));
|
|
|
if (var4 == null) {
|
|
|
throw new DBException("数据库子表[" + table + "]不存在");
|
|
|
} else {
|
|
|
@@ -1043,11 +1061,11 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
}
|
|
|
|
|
|
public Map<String, Object> queryManyFormData(String code, String id) throws DBException {
|
|
|
- OnlCgformHead var3 = (OnlCgformHead)this.getById(code);
|
|
|
+ OnlCgformHead var3 = this.getById(code);
|
|
|
if (var3 == null) {
|
|
|
throw new DBException("数据库主表ID[" + code + "]不存在");
|
|
|
} else {
|
|
|
- List var4 = this.fieldService.queryFormFields(code, true);
|
|
|
+ List<OnlCgformField> var4 = this.fieldService.queryFormFields(code, true);
|
|
|
if (var4 != null && var4.size() != 0) {
|
|
|
Map var5 = this.fieldService.queryFormData(var4, var3.getTableName(), id);
|
|
|
if (var3.getTableType() == 2) {
|
|
|
@@ -1097,9 +1115,7 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- @Transactional(
|
|
|
- rollbackFor = {Exception.class}
|
|
|
- )
|
|
|
+ @Transactional(rollbackFor = {Exception.class})
|
|
|
public String editManyFormData(String code, JSONObject json) throws DBException, BusinessException {
|
|
|
OnlCgformHead var3 = (OnlCgformHead)this.getById(code);
|
|
|
if (var3 == null) {
|
|
|
@@ -1179,17 +1195,6 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
return onlCgformEnhanceJavaMapper.selectOne(queryWrapper);
|
|
|
}
|
|
|
|
|
|
- private Object b(String buttonCode, String event, String formHeadId) {
|
|
|
- LambdaQueryWrapper<OnlCgformEnhanceJava> queryWrapper = new LambdaQueryWrapper();
|
|
|
- queryWrapper.eq(OnlCgformEnhanceJava::getActiveStatus, "1");
|
|
|
- queryWrapper.eq(OnlCgformEnhanceJava::getButtonCode, buttonCode);
|
|
|
- queryWrapper.eq(OnlCgformEnhanceJava::getEvent, event);
|
|
|
- queryWrapper.eq(OnlCgformEnhanceJava::getCgformHeadId, formHeadId);
|
|
|
- OnlCgformEnhanceJava enhanceJava = this.onlCgformEnhanceJavaMapper.selectOne(queryWrapper);
|
|
|
- Object var6 = this.getEnhanceJava(enhanceJava);
|
|
|
- return var6;
|
|
|
- }
|
|
|
-
|
|
|
private void a(JSONObject var1, Object var2, String var3, OnlCgformEnhanceJava var4) throws BusinessException {
|
|
|
if (var2 != null && var2 instanceof CgformEnhanceJavaInter) {
|
|
|
CgformEnhanceJavaInter var5 = (CgformEnhanceJavaInter)var2;
|
|
|
@@ -1200,6 +1205,7 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
|
|
|
}
|
|
|
|
|
|
+ //region 增强代码
|
|
|
public void executeEnhanceJava(String buttonCode, String eventType, OnlCgformHead head, JSONObject json) throws BusinessException {
|
|
|
OnlCgformEnhanceJava var5 = this.getEnhanceJava(buttonCode, eventType, head.getId());
|
|
|
Object var6 = this.getEnhanceJava(var5);
|
|
|
@@ -1371,10 +1377,11 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
queryWrapper.eq(OnlCgformEnhanceJs::getCgJsType, cgJsType);
|
|
|
return onlCgformEnhanceJsMapper.selectOne(queryWrapper);
|
|
|
}
|
|
|
+ //endregion
|
|
|
|
|
|
@Transactional(rollbackFor = {Exception.class})
|
|
|
public void deleteOneTableInfo(String formId, String dataId) throws BusinessException {
|
|
|
- OnlCgformHead var3 = (OnlCgformHead)this.getById(formId);
|
|
|
+ OnlCgformHead var3 = this.getById(formId);
|
|
|
if (var3 == null) {
|
|
|
throw new BusinessException("未找到表配置信息");
|
|
|
} else {
|
|
|
@@ -1511,54 +1518,54 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
|
|
|
@Override
|
|
|
public List<String> generateOneToMany(OnlGenerateModel model) throws Exception {
|
|
|
- MainTableVo var2 = new MainTableVo();
|
|
|
- var2.setEntityName(model.getEntityName());
|
|
|
- var2.setEntityPackage(model.getEntityPackage());
|
|
|
- var2.setFtlDescription(model.getFtlDescription());
|
|
|
- var2.setTableName(model.getTableName());
|
|
|
- OnlCgformHead var3 = this.baseMapper.selectOne(new LambdaQueryWrapper<OnlCgformHead>().eq(OnlCgformHead::getId, model.getCode()));
|
|
|
- String var4 = var3.getFormTemplate();
|
|
|
- if (oConvertUtils.isEmpty(var4)) {
|
|
|
- var2.setFieldRowNum(1);
|
|
|
+ MainTableVo mainTableVo = new MainTableVo();
|
|
|
+ mainTableVo.setEntityName(model.getEntityName());
|
|
|
+ mainTableVo.setEntityPackage(model.getEntityPackage());
|
|
|
+ mainTableVo.setFtlDescription(model.getFtlDescription());
|
|
|
+ mainTableVo.setTableName(model.getTableName());
|
|
|
+ OnlCgformHead dbCgformHead = this.baseMapper.selectOne(new LambdaQueryWrapper<OnlCgformHead>().eq(OnlCgformHead::getId, model.getCode()));
|
|
|
+ String formTemplate = dbCgformHead.getFormTemplate();
|
|
|
+ if (oConvertUtils.isEmpty(formTemplate)) {
|
|
|
+ mainTableVo.setFieldRowNum(1);
|
|
|
} else {
|
|
|
- var2.setFieldRowNum(Integer.parseInt(var4));
|
|
|
+ mainTableVo.setFieldRowNum(Integer.parseInt(formTemplate));
|
|
|
}
|
|
|
|
|
|
- ArrayList var5 = new ArrayList();
|
|
|
- ArrayList var6 = new ArrayList();
|
|
|
- this.getFieldByTableName((String)model.getCode(), (List)var5, (List)var6);
|
|
|
- List var7 = model.getSubList();
|
|
|
- ArrayList var8 = new ArrayList();
|
|
|
- Iterator var9 = var7.iterator();
|
|
|
-
|
|
|
- while(var9.hasNext()) {
|
|
|
- OnlGenerateModel var10 = (OnlGenerateModel)var9.next();
|
|
|
- OnlCgformHead var11 = this.baseMapper.selectOne(new LambdaQueryWrapper<OnlCgformHead>()
|
|
|
- .eq(OnlCgformHead::getTableName, var10.getTableName()));
|
|
|
- if (var11 != null) {
|
|
|
- SubTableVo var12 = new SubTableVo();
|
|
|
- var12.setEntityName(var10.getEntityName());
|
|
|
- var12.setEntityPackage(model.getEntityPackage());
|
|
|
- var12.setTableName(var10.getTableName());
|
|
|
- var12.setFtlDescription(var10.getFtlDescription());
|
|
|
- Integer var13 = var11.getRelationType();
|
|
|
- var12.setForeignRelationType(var13 == 1 ? "1" : "0");
|
|
|
- ArrayList var14 = new ArrayList();
|
|
|
- ArrayList var15 = new ArrayList();
|
|
|
- OnlCgformField var16 = this.getFieldByTableName((String)var11.getId(), (List)var14, (List)var15);
|
|
|
+ List<ColumnVo> columns = new ArrayList();
|
|
|
+ List<ColumnVo> originalColumns = new ArrayList();
|
|
|
+ this.getFieldByTableName(model.getCode(), columns, originalColumns);
|
|
|
+ List<OnlGenerateModel> generateModelList = model.getSubList();
|
|
|
+ List<SubTableVo> subTableVoList = new ArrayList();
|
|
|
+
|
|
|
+ for (OnlGenerateModel generateModel : generateModelList) {
|
|
|
+ OnlCgformHead cgformHead = this.baseMapper.selectOne(new LambdaQueryWrapper<OnlCgformHead>()
|
|
|
+ .eq(OnlCgformHead::getTableName, generateModel.getTableName()));
|
|
|
+ if (cgformHead != null) {
|
|
|
+ SubTableVo subTableVo = new SubTableVo();
|
|
|
+ subTableVo.setEntityName(generateModel.getEntityName());
|
|
|
+ subTableVo.setEntityPackage(model.getEntityPackage());
|
|
|
+ subTableVo.setTableName(generateModel.getTableName());
|
|
|
+ subTableVo.setFtlDescription(generateModel.getFtlDescription());
|
|
|
+ Integer relationType = cgformHead.getRelationType();
|
|
|
+ subTableVo.setForeignRelationType(relationType == 1 ? "1" : "0");
|
|
|
+ List<ColumnVo> columnList = new ArrayList();
|
|
|
+ List<ColumnVo> OriginalColumnList = new ArrayList();
|
|
|
+ OnlCgformField var16 = this.getFieldByTableName(cgformHead.getId(), columnList, OriginalColumnList);
|
|
|
if (var16 != null) {
|
|
|
- var12.setOriginalForeignKeys(new String[]{var16.getDbFieldName()});
|
|
|
- var12.setForeignKeys(new String[]{var16.getDbFieldName()});
|
|
|
- var12.setColums(var14);
|
|
|
- var12.setOriginalColumns(var15);
|
|
|
- var8.add(var12);
|
|
|
+ subTableVo.setOriginalForeignKeys(new String[]{var16.getDbFieldName()});
|
|
|
+ subTableVo.setForeignKeys(new String[]{var16.getDbFieldName()});
|
|
|
+ subTableVo.setColums(columnList);
|
|
|
+ subTableVo.setOriginalColumns(OriginalColumnList);
|
|
|
+ subTableVoList.add(subTableVo);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- CgformEnum var17 = CgformEnum.getCgformEnumByConfig(model.getJspMode());
|
|
|
- List var18 = (new CodeGenerateOneToMany(var2, var5, var6, var8)).generateCodeFile(model.getProjectPath(), var17.getTemplatePath(), var17.getStylePath());
|
|
|
- return var18;
|
|
|
+ CgformEnum cgformEnum = CgformEnum.getCgformEnumByConfig(model.getJspMode());
|
|
|
+// List<String> var18 = (new CodeGenerateOneToMany(mainTableVo, columns, originalColumns, subTableVoList))
|
|
|
+// .generateCodeFile(model.getProjectPath(), cgformEnum.getTemplatePath(), cgformEnum.getStylePath());
|
|
|
+// return var18;
|
|
|
+ return null;
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -1746,12 +1753,12 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
}
|
|
|
|
|
|
public void editCrazyFormData(String tbname, JSONObject json) throws DBException, UnsupportedEncodingException {
|
|
|
- OnlCgformHead var3 = this.getOne((new LambdaQueryWrapper<OnlCgformHead>()).eq(OnlCgformHead::getTableName, tbname));
|
|
|
- if (var3 == null) {
|
|
|
+ OnlCgformHead formHead = this.getOne((new LambdaQueryWrapper<OnlCgformHead>()).eq(OnlCgformHead::getTableName, tbname));
|
|
|
+ if (formHead == null) {
|
|
|
throw new DBException("数据库主表[" + tbname + "]不存在");
|
|
|
} else {
|
|
|
- if (var3.getTableType() == 2) {
|
|
|
- String var4 = var3.getSubTableStr();
|
|
|
+ if (formHead.getTableType() == 2) {
|
|
|
+ String var4 = formHead.getSubTableStr();
|
|
|
if (oConvertUtils.isNotEmpty(var4)) {
|
|
|
String[] var5 = var4.split(",");
|
|
|
String[] var6 = var5;
|
|
|
@@ -1804,7 +1811,7 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- this.fieldService.editFormData(var3.getId(), tbname, json, true);
|
|
|
+ this.fieldService.editFormData(formHead.getId(), tbname, json, true);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -1828,7 +1835,7 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
head.setCopyType(1);
|
|
|
head.setCopyVersion(physicTable.getTableVersion());
|
|
|
head.setTableVersion(1);
|
|
|
- head.setTableName(this.d(tableId, physicTable.getTableName()));
|
|
|
+ head.setTableName(getCopyTableName(tableId, physicTable.getTableName()));
|
|
|
head.setTableTxt(physicTable.getTableTxt());
|
|
|
head.setFormCategory(physicTable.getFormCategory());
|
|
|
head.setFormTemplate(physicTable.getFormTemplate());
|
|
|
@@ -1903,7 +1910,7 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
if ("Y".equals(head.getIsTree())) {
|
|
|
String var3 = CgformUtil.m278f(head.getTableName());
|
|
|
String var4 = head.getTreeParentIdField();
|
|
|
- Map var5 = ((OnlCgformHeadMapper)this.baseMapper).queryOneByTableNameAndId(var3, dataId);
|
|
|
+ Map var5 = this.baseMapper.queryOneByTableNameAndId(var3, dataId);
|
|
|
String var6 = null;
|
|
|
if (var5.get(var4) != null && !"0".equals(var5.get(var4))) {
|
|
|
var6 = var5.get(var4).toString();
|
|
|
@@ -1912,7 +1919,7 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
}
|
|
|
|
|
|
if (var6 != null) {
|
|
|
- Integer var7 = ((OnlCgformHeadMapper)this.baseMapper).queryChildNode(var3, var4, var6);
|
|
|
+ Integer var7 = this.baseMapper.queryChildNode(var3, var4, var6);
|
|
|
if (var7 == 1) {
|
|
|
String var8 = head.getTreeIdField();
|
|
|
this.fieldService.updateTreeNodeNoChild(var3, var8, var6);
|
|
|
@@ -1925,10 +1932,11 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
/**
|
|
|
* 更新原始表
|
|
|
*
|
|
|
- * @param cgformHead
|
|
|
- * @param cgformFieldList
|
|
|
+ * @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) {
|
|
|
@@ -1936,7 +1944,6 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
|
|
|
while(true) {
|
|
|
List<OnlCgformField> dbCgformFieldList;
|
|
|
-// String var13;
|
|
|
ArrayList<String> oldFieldNameList;
|
|
|
label108:
|
|
|
do {
|
|
|
@@ -1945,41 +1952,22 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
dbCgformFieldList = this.fieldService.list(new LambdaQueryWrapper<OnlCgformField>()
|
|
|
.eq(OnlCgformField::getCgformHeadId, dbCgformHead.getId()));
|
|
|
|
|
|
+ // 数据库表字段存在
|
|
|
if (dbCgformFieldList != null && dbCgformFieldList.size() != 0) {
|
|
|
// 数据库字段map
|
|
|
Map<String, Integer> dbFieldNameMap = new HashMap<>();
|
|
|
-
|
|
|
for (OnlCgformField dbCgformField : dbCgformFieldList) {
|
|
|
dbFieldNameMap.put(dbCgformField.getDbFieldName(), 1);
|
|
|
}
|
|
|
|
|
|
- // 参数字段map
|
|
|
+ // 表单中字段map
|
|
|
Map<String, Integer> fieldNameMap = new HashMap<>();
|
|
|
-// Iterator<OnlCgformField> cgformFieldIterator = cgformFieldList.iterator();
|
|
|
-//
|
|
|
-// while(cgformFieldIterator.hasNext()) {
|
|
|
-// OnlCgformField cgformField = cgformFieldIterator.next();
|
|
|
-// fieldNameMap.put(cgformField.getDbFieldName(), 1);
|
|
|
-// }
|
|
|
-
|
|
|
for (OnlCgformField cgformField : cgformFieldList) {
|
|
|
fieldNameMap.put(cgformField.getDbFieldName(), 1);
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
+ // 要更新的字段
|
|
|
oldFieldNameList = new ArrayList<>();
|
|
|
List<String> newFieldNameList = 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 fieldName : fieldNameMap.keySet()) {
|
|
|
if (dbFieldNameMap.get(fieldName) == null) {
|
|
|
newFieldNameList.add(fieldName);
|
|
|
@@ -1988,25 +1976,14 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ // 被删除字段
|
|
|
List<String> removeFieldList = new ArrayList<>();
|
|
|
-
|
|
|
for (String dbField : dbFieldNameMap.keySet()) {
|
|
|
if (fieldNameMap.get(dbField) == null) {
|
|
|
removeFieldList.add(dbField);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-// OnlCgformField var23;
|
|
|
if (removeFieldList.size() > 0) {
|
|
|
-// Iterator<OnlCgformField> var22 = dbCgformFieldList.iterator();
|
|
|
-//
|
|
|
-// while(var22.hasNext()) {
|
|
|
-// var23 = var22.next();
|
|
|
-// if (removeFieldList.contains(var23.getDbFieldName())) {
|
|
|
-// this.fieldService.removeById(var23.getId());
|
|
|
-// }
|
|
|
-// }
|
|
|
for (OnlCgformField cgformField : dbCgformFieldList) {
|
|
|
if (removeFieldList.contains(cgformField.getDbFieldName())) {
|
|
|
this.fieldService.removeById(cgformField.getId());
|
|
|
@@ -2014,19 +1991,8 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 添加字段
|
|
|
if (newFieldNameList.size() > 0) {
|
|
|
-// Iterator<OnlCgformField> var22 = cgformFieldList.iterator();
|
|
|
-//
|
|
|
-// while(var22.hasNext()) {
|
|
|
-// OnlCgformField var23 = (OnlCgformField)var22.next();
|
|
|
-// if (newFieldNameList.contains(var23.getDbFieldName())) {
|
|
|
-// OnlCgformField var14 = new OnlCgformField();
|
|
|
-// var14.setCgformHeadId(dbCgformHead.getId());
|
|
|
-// this.copyField(var23, var14);
|
|
|
-// this.fieldService.save(var14);
|
|
|
-// }
|
|
|
-// }
|
|
|
-
|
|
|
for (OnlCgformField cgformField : cgformFieldList) {
|
|
|
if (newFieldNameList.contains(cgformField.getDbFieldName())) {
|
|
|
OnlCgformField newFormField = new OnlCgformField();
|
|
|
@@ -2035,7 +2001,6 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
this.fieldService.save(newFormField);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
continue label108;
|
|
|
}
|
|
|
@@ -2052,13 +2017,6 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
return;
|
|
|
} while(oldFieldNameList.size() <= 0);
|
|
|
|
|
|
-// Iterator<String> var22 = var19.iterator();
|
|
|
-//
|
|
|
-// while(var22.hasNext()) {
|
|
|
-// var13 = var22.next();
|
|
|
-// this.b(var13, cgformFieldList, dbCgformFieldList);
|
|
|
-// }
|
|
|
-
|
|
|
for (String oldFieldName : oldFieldNameList) {
|
|
|
this.updateOldField(oldFieldName, cgformFieldList, dbCgformFieldList);
|
|
|
}
|
|
|
@@ -2075,36 +2033,23 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
* @param dbCgformFieldList 数据库中字段列表
|
|
|
*/
|
|
|
private void updateOldField(String oldFieldName, List<OnlCgformField> cgformFieldList, List<OnlCgformField> dbCgformFieldList) {
|
|
|
+ // 表单字段
|
|
|
OnlCgformField newFormField = null;
|
|
|
-// Iterator var5 = cgformFieldList.iterator();
|
|
|
-//
|
|
|
-// while(var5.hasNext()) {
|
|
|
-// OnlCgformField var6 = (OnlCgformField)var5.next();
|
|
|
-// if (oldFieldName.equals(var6.getDbFieldName())) {
|
|
|
-// cgformField = var6;
|
|
|
-// }
|
|
|
-// }
|
|
|
for (OnlCgformField cgformField : cgformFieldList) {
|
|
|
if (oldFieldName.equals(cgformField.getDbFieldName())) {
|
|
|
newFormField = cgformField;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 数据库字段
|
|
|
OnlCgformField oldFormField = null;
|
|
|
-// Iterator var9 = dbCgformFieldList.iterator();
|
|
|
-//
|
|
|
-// while(var9.hasNext()) {
|
|
|
-// OnlCgformField dbFormField = (OnlCgformField)var9.next();
|
|
|
-// if (oldFieldName.equals(dbFormField.getDbFieldName())) {
|
|
|
-// oldFormField = dbFormField;
|
|
|
-// }
|
|
|
-// }
|
|
|
for (OnlCgformField dbFormField : dbCgformFieldList) {
|
|
|
if (oldFieldName.equals(dbFormField.getDbFieldName())) {
|
|
|
oldFormField = dbFormField;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 表单字段和数据库字段对比
|
|
|
if (newFormField != null && oldFormField != null) {
|
|
|
boolean isUpdated = false;
|
|
|
if (!Objects.equals(newFormField.getDbType(), oldFormField.getDbType())) {
|
|
|
@@ -2192,22 +2137,29 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private String d(String tableId, String tableName) {
|
|
|
+ /**
|
|
|
+ * 获取复制表的名称
|
|
|
+ *
|
|
|
+ * @param tableId 主表id
|
|
|
+ * @param tableName 新表的名称
|
|
|
+ * @return 新表的名称
|
|
|
+ */
|
|
|
+ private String getCopyTableName(String tableId, String tableName) {
|
|
|
List<String> tableNameList = this.baseMapper.queryAllCopyTableName(tableId);
|
|
|
- int var4 = 0;
|
|
|
+ int index = 0;
|
|
|
if (tableNameList != null || tableNameList.size() > 0) {
|
|
|
for(int i = 0; i < tableNameList.size(); ++i) {
|
|
|
- String var6 = tableNameList.get(i);
|
|
|
- int var7 = Integer.parseInt(var6.split("\\$")[1]);
|
|
|
- if (var7 > var4) {
|
|
|
- var4 = var7;
|
|
|
+ String dbTableName = tableNameList.get(i);
|
|
|
+ int dbIndex = Integer.parseInt(dbTableName.split("\\$")[1]);
|
|
|
+ if (dbIndex > index) {
|
|
|
+ index = dbIndex;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- StringBuilder var10000 = (new StringBuilder()).append(tableName).append("$");
|
|
|
- ++var4;
|
|
|
- return var10000.append(var4).toString();
|
|
|
+ StringBuilder sb = (new StringBuilder()).append(tableName).append("$");
|
|
|
+ ++index;
|
|
|
+ return sb.append(index).toString();
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = {Exception.class})
|
|
|
@@ -2256,47 +2208,47 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
}
|
|
|
|
|
|
public JSONObject queryAllDataByTableNameForDesform(String tableName, String dataIds) throws DBException {
|
|
|
- JSONObject var3 = new JSONObject();
|
|
|
- LambdaQueryWrapper<OnlCgformHead> var4 = new LambdaQueryWrapper();
|
|
|
- var4.eq(OnlCgformHead::getTableName, tableName);
|
|
|
- OnlCgformHead var5 = (OnlCgformHead)super.getOne(var4);
|
|
|
- if (var5 == null) {
|
|
|
+ JSONObject resultJson = new JSONObject();
|
|
|
+ LambdaQueryWrapper<OnlCgformHead> queryWrapper = new LambdaQueryWrapper();
|
|
|
+ queryWrapper.eq(OnlCgformHead::getTableName, tableName);
|
|
|
+ OnlCgformHead dbFormHead = super.getOne(queryWrapper);
|
|
|
+ if (dbFormHead == null) {
|
|
|
throw new JeecgBootException("表单数据不存在!");
|
|
|
} else {
|
|
|
- Map var6 = this.queryManyFormData(var5.getId(), dataIds);
|
|
|
- if (var6 == null) {
|
|
|
+ Map<String, Object> queryManyFormData = this.queryManyFormData(dbFormHead.getId(), dataIds);
|
|
|
+ if (queryManyFormData == null) {
|
|
|
throw new JeecgBootException("表单数据查询失败!");
|
|
|
} else {
|
|
|
- JSONObject var7 = JSON.parseObject(JSON.toJSONString(var6));
|
|
|
- String var8 = var5.getSubTableStr();
|
|
|
- if (oConvertUtils.isNotEmpty(var8)) {
|
|
|
- ArrayList var9 = new ArrayList(Arrays.asList(var8.split(",")));
|
|
|
- LambdaQueryWrapper<OnlCgformHead> var10 = new LambdaQueryWrapper();
|
|
|
- var10.in(OnlCgformHead::getTableName, var9);
|
|
|
- List var11 = super.list(var10);
|
|
|
- JSONObject var12 = new JSONObject();
|
|
|
- JSONObject var13 = new JSONObject();
|
|
|
-
|
|
|
- OnlCgformHead var15;
|
|
|
- for(Iterator var14 = var11.iterator(); var14.hasNext(); var7.remove(var15.getTableName())) {
|
|
|
- var15 = (OnlCgformHead)var14.next();
|
|
|
- JSONArray var16 = var7.getJSONArray(var15.getTableName());
|
|
|
- if (var16 != null && var16.size() > 0) {
|
|
|
- if (0 == var15.getRelationType()) {
|
|
|
- var12.put(var15.getTableName(), var16);
|
|
|
+ JSONObject manyFormDataJson = JSON.parseObject(JSON.toJSONString(queryManyFormData));
|
|
|
+ String subTableStr = dbFormHead.getSubTableStr();
|
|
|
+ if (oConvertUtils.isNotEmpty(subTableStr)) {
|
|
|
+ List<String> subTableList = new ArrayList(Arrays.asList(subTableStr.split(",")));
|
|
|
+ LambdaQueryWrapper<OnlCgformHead> queryWrapper1 = new LambdaQueryWrapper();
|
|
|
+ queryWrapper1.in(OnlCgformHead::getTableName, subTableList);
|
|
|
+ List<OnlCgformHead> cgformHeadList = super.list(queryWrapper1);
|
|
|
+ JSONObject one2manyJson = new JSONObject();
|
|
|
+ JSONObject one2oneJson = new JSONObject();
|
|
|
+
|
|
|
+ for (OnlCgformHead cgformHead : cgformHeadList) {
|
|
|
+
|
|
|
+ JSONArray jsonArray = manyFormDataJson.getJSONArray(cgformHead.getTableName());
|
|
|
+ if (jsonArray != null && jsonArray.size() > 0) {
|
|
|
+ if (0 == cgformHead.getRelationType()) {
|
|
|
+ one2manyJson.put(cgformHead.getTableName(), jsonArray);
|
|
|
} else {
|
|
|
- JSONObject var17 = var16.getJSONObject(0);
|
|
|
- var13.put(var15.getTableName(), var17);
|
|
|
+ JSONObject jsonObject = jsonArray.getJSONObject(0);
|
|
|
+ one2oneJson.put(cgformHead.getTableName(), jsonObject);
|
|
|
}
|
|
|
}
|
|
|
+ manyFormDataJson.remove(cgformHead.getTableName());
|
|
|
}
|
|
|
|
|
|
- var3.put("one2one", var13);
|
|
|
- var3.put("one2many", var12);
|
|
|
+ resultJson.put("one2one", one2oneJson);
|
|
|
+ resultJson.put("one2many", one2manyJson);
|
|
|
}
|
|
|
|
|
|
- var3.put("main", var7);
|
|
|
- return var3;
|
|
|
+ resultJson.put("main", manyFormDataJson);
|
|
|
+ return resultJson;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -2332,12 +2284,11 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
formHead.setUpdateTime(null);
|
|
|
LambdaQueryWrapper<OnlCgformField> queryWrapper1 = new LambdaQueryWrapper();
|
|
|
queryWrapper1.eq(OnlCgformField::getCgformHeadId, id);
|
|
|
- List<OnlCgformField> cgformFieldList = fieldService.list(queryWrapper1);
|
|
|
- List<OnlCgformField> var10 = new ArrayList<>();
|
|
|
- if (cgformFieldList != null && cgformFieldList.size() > 0) {
|
|
|
+ List<OnlCgformField> dbCgformFieldList = fieldService.list(queryWrapper1);
|
|
|
+ List<OnlCgformField> cgformFieldList = new ArrayList<>();
|
|
|
+ if (dbCgformFieldList != null && dbCgformFieldList.size() > 0) {
|
|
|
|
|
|
- for (OnlCgformField dbFormField : cgformFieldList) {
|
|
|
-// OnlCgformField var12 = (OnlCgformField)var11.next();
|
|
|
+ for (OnlCgformField dbFormField : dbCgformFieldList) {
|
|
|
OnlCgformField cgformField = new OnlCgformField();
|
|
|
BeanUtils.copyProperties(dbFormField, cgformField);
|
|
|
cgformField.setCgformHeadId(headId);
|
|
|
@@ -2348,51 +2299,32 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
|
|
|
cgformField.setCreateTime(null);
|
|
|
cgformField.setUpdateBy(null);
|
|
|
cgformField.setUpdateTime(null);
|
|
|
- var10.add(cgformField);
|
|
|
+ cgformFieldList.add(cgformField);
|
|
|
}
|
|
|
|
|
|
-// Iterator var11 = cgformFieldList.iterator();
|
|
|
-//
|
|
|
-// while(var11.hasNext()) {
|
|
|
-// OnlCgformField var12 = (OnlCgformField)var11.next();
|
|
|
-// OnlCgformField var13 = new OnlCgformField();
|
|
|
-// BeanUtils.copyProperties(var12, var13);
|
|
|
-// var13.setCgformHeadId(var7);
|
|
|
-// var13.setMainField(null);
|
|
|
-// var13.setMainTable(null);
|
|
|
-// var13.setId(null);
|
|
|
-// var13.setCreateBy(null);
|
|
|
-// var13.setCreateTime(null);
|
|
|
-// var13.setUpdateBy(null);
|
|
|
-// var13.setUpdateTime(null);
|
|
|
-// var10.add(var13);
|
|
|
-// }
|
|
|
}
|
|
|
|
|
|
- LambdaQueryWrapper<OnlCgformIndex> var17 = new LambdaQueryWrapper();
|
|
|
- var17.eq(OnlCgformIndex::getCgformHeadId, id);
|
|
|
- List var18 = this.indexService.list(var17);
|
|
|
- ArrayList var19 = new ArrayList();
|
|
|
- if (var18 != null && var18.size() > 0) {
|
|
|
- Iterator var14 = var18.iterator();
|
|
|
-
|
|
|
- while(var14.hasNext()) {
|
|
|
- OnlCgformIndex var15 = (OnlCgformIndex)var14.next();
|
|
|
- OnlCgformIndex var16 = new OnlCgformIndex();
|
|
|
- BeanUtils.copyProperties(var15, var16);
|
|
|
- var16.setCgformHeadId(headId);
|
|
|
- var16.setId(null);
|
|
|
- var16.setCreateBy(null);
|
|
|
- var16.setCreateTime(null);
|
|
|
- var16.setUpdateBy(null);
|
|
|
- var16.setUpdateTime(null);
|
|
|
- var19.add(var16);
|
|
|
+ LambdaQueryWrapper<OnlCgformIndex> queryWrapper2 = new LambdaQueryWrapper();
|
|
|
+ queryWrapper2.eq(OnlCgformIndex::getCgformHeadId, id);
|
|
|
+ List<OnlCgformIndex> dbCgformIndexList = this.indexService.list(queryWrapper2);
|
|
|
+ List<OnlCgformIndex> cgformIndexList = new ArrayList();
|
|
|
+ if (dbCgformIndexList != null && dbCgformIndexList.size() > 0) {
|
|
|
+ for (OnlCgformIndex dbCgformIndex : dbCgformIndexList) {
|
|
|
+ OnlCgformIndex cgformIndex = new OnlCgformIndex();
|
|
|
+ BeanUtils.copyProperties(dbCgformIndex, cgformIndex);
|
|
|
+ cgformIndex.setCgformHeadId(headId);
|
|
|
+ cgformIndex.setId(null);
|
|
|
+ cgformIndex.setCreateBy(null);
|
|
|
+ cgformIndex.setCreateTime(null);
|
|
|
+ cgformIndex.setUpdateBy(null);
|
|
|
+ cgformIndex.setUpdateTime(null);
|
|
|
+ cgformIndexList.add(cgformIndex);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- this.save(formHead);
|
|
|
- this.fieldService.saveBatch(var10);
|
|
|
- this.indexService.saveBatch(var19);
|
|
|
+ save(formHead);
|
|
|
+ fieldService.saveBatch(cgformFieldList);
|
|
|
+ indexService.saveBatch(cgformIndexList);
|
|
|
}
|
|
|
}
|
|
|
}
|