فهرست منبع

添加分组修改功能

yangll 3 سال پیش
والد
کامیت
fbb73917c4

+ 119 - 0
tnc-generate/src/main/java/org/jeecg/codegen/generate/pojo/onetomany/MainTableVo.java

@@ -0,0 +1,119 @@
+package org.jeecg.codegen.generate.pojo.onetomany;
+
+import java.util.List;
+import java.util.Map;
+
+public class MainTableVo {
+    private String entityPackage;
+    private String tableName;
+    private String entityName;
+    private String ftlDescription;
+    private String primaryKeyPolicy;
+    private String sequenceCode;
+    private String ftl_mode = "A";
+    List<SubTableVo> subTables;
+    public Integer fieldRowNum;
+    public Integer searchFieldNum;
+    public Integer fieldRequiredNum;
+    private Map<?, ?> extendParams;
+
+    public Map<?, ?> getExtendParams() {
+        return this.extendParams;
+    }
+
+    public void setExtendParams(Map<?, ?> extendParams) {
+        this.extendParams = extendParams;
+    }
+
+    public Integer getFieldRowNum() {
+        return this.fieldRowNum;
+    }
+
+    public void setFieldRowNum(Integer fieldRowNum) {
+        this.fieldRowNum = fieldRowNum;
+    }
+
+    public Integer getSearchFieldNum() {
+        return this.searchFieldNum;
+    }
+
+    public void setSearchFieldNum(Integer searchFieldNum) {
+        this.searchFieldNum = searchFieldNum;
+    }
+
+    public Integer getFieldRequiredNum() {
+        return this.fieldRequiredNum;
+    }
+
+    public void setFieldRequiredNum(Integer fieldRequiredNum) {
+        this.fieldRequiredNum = fieldRequiredNum;
+    }
+
+    public List<SubTableVo> getSubTables() {
+        return this.subTables;
+    }
+
+    public void setSubTables(List<SubTableVo> subTables) {
+        this.subTables = subTables;
+    }
+
+    public String getEntityPackage() {
+        return this.entityPackage;
+    }
+
+    public String getTableName() {
+        return this.tableName;
+    }
+
+    public String getEntityName() {
+        return this.entityName;
+    }
+
+    public String getFtlDescription() {
+        return this.ftlDescription;
+    }
+
+    public void setEntityPackage(String entityPackage) {
+        this.entityPackage = entityPackage;
+    }
+
+    public void setTableName(String tableName) {
+        this.tableName = tableName;
+    }
+
+    public void setEntityName(String entityName) {
+        this.entityName = entityName;
+    }
+
+    public void setFtlDescription(String ftlDescription) {
+        this.ftlDescription = ftlDescription;
+    }
+
+    public String getFtl_mode() {
+        return this.ftl_mode;
+    }
+
+    public void setFtl_mode(String ftl_mode) {
+        this.ftl_mode = ftl_mode;
+    }
+
+    public String getPrimaryKeyPolicy() {
+        return this.primaryKeyPolicy;
+    }
+
+    public String getSequenceCode() {
+        return this.sequenceCode;
+    }
+
+    public void setPrimaryKeyPolicy(String primaryKeyPolicy) {
+        this.primaryKeyPolicy = primaryKeyPolicy;
+    }
+
+    public void setSequenceCode(String sequenceCode) {
+        this.sequenceCode = sequenceCode;
+    }
+
+    public String toString() {
+        return "{\"entityPackage\":\"" + this.entityPackage + "\",\"tableName\":\"" + this.tableName + "\",\"entityName\":\"" + this.entityName + "\",\"ftlDescription\":\"" + this.ftlDescription + "\",\"primaryKeyPolicy\":\"" + this.primaryKeyPolicy + "\",\"sequenceCode\":\"" + this.sequenceCode + "\",\"ftl_mode\":\"" + this.ftl_mode + "\",\"subTables\":" + this.subTables + ",\"fieldRowNum\":\"" + this.fieldRowNum + "\",\"searchFieldNum\":\"" + this.searchFieldNum + "\",\"fieldRequiredNum\":\"" + this.fieldRequiredNum + "\"}";
+    }
+}

+ 141 - 0
tnc-generate/src/main/java/org/jeecg/codegen/generate/pojo/onetomany/SubTableVo.java

@@ -0,0 +1,141 @@
+package org.jeecg.codegen.generate.pojo.onetomany;
+
+import org.jeecg.codegen.generate.pojo.ColumnVo;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+public class SubTableVo {
+    private String entityPackage;
+    private String tableName;
+    private String entityName;
+    private String primaryKeyPolicy;
+    private String sequenceCode;
+    private String ftlDescription;
+    private String[] originalForeignKeys;
+    private String[] originalForeignMainKeys;
+    private String[] foreignKeys;
+    private String[] foreignMainKeys;
+    private String foreignRelationType;
+    private List<ColumnVo> colums;
+    private List<ColumnVo> originalColumns;
+    private Map<?, ?> extendParams;
+
+    public Map<?, ?> getExtendParams() {
+        return this.extendParams;
+    }
+
+    public void setExtendParams(Map<?, ?> extendParams) {
+        this.extendParams = extendParams;
+    }
+
+    public String getEntityPackage() {
+        return this.entityPackage;
+    }
+
+    public String getTableName() {
+        return this.tableName;
+    }
+
+    public String getEntityName() {
+        return this.entityName;
+    }
+
+    public String[] getOriginalForeignMainKeys() {
+        return this.originalForeignMainKeys;
+    }
+
+    public void setOriginalForeignMainKeys(String[] originalForeignMainKeys) {
+        this.originalForeignMainKeys = originalForeignMainKeys;
+    }
+
+    public String[] getForeignMainKeys() {
+        return this.foreignMainKeys;
+    }
+
+    public void setForeignMainKeys(String[] foreignMainKeys) {
+        this.foreignMainKeys = foreignMainKeys;
+    }
+
+    public String getFtlDescription() {
+        return this.ftlDescription;
+    }
+
+    public List<ColumnVo> getColums() {
+        return this.colums;
+    }
+
+    public void setColums(List<ColumnVo> colums) {
+        this.colums = colums;
+    }
+
+    public void setEntityPackage(String entityPackage) {
+        this.entityPackage = entityPackage;
+    }
+
+    public void setTableName(String tableName) {
+        this.tableName = tableName;
+    }
+
+    public void setEntityName(String entityName) {
+        this.entityName = entityName;
+    }
+
+    public void setFtlDescription(String ftlDescription) {
+        this.ftlDescription = ftlDescription;
+    }
+
+    public String[] getForeignKeys() {
+        return this.foreignKeys;
+    }
+
+    public void setForeignKeys(String[] foreignKeys) {
+        this.foreignKeys = foreignKeys;
+    }
+
+    public String getPrimaryKeyPolicy() {
+        return this.primaryKeyPolicy;
+    }
+
+    public String getSequenceCode() {
+        return this.sequenceCode;
+    }
+
+    public void setPrimaryKeyPolicy(String primaryKeyPolicy) {
+        this.primaryKeyPolicy = primaryKeyPolicy;
+    }
+
+    public void setSequenceCode(String sequenceCode) {
+        this.sequenceCode = sequenceCode;
+    }
+
+    public List<ColumnVo> getOriginalColumns() {
+        return this.originalColumns;
+    }
+
+    public void setOriginalColumns(List<ColumnVo> originalColumns) {
+        this.originalColumns = originalColumns;
+    }
+
+    public String[] getOriginalForeignKeys() {
+        return this.originalForeignKeys;
+    }
+
+    @Deprecated
+    public void setOriginalForeignKeys(String[] originalForeignKeys) {
+        this.originalForeignKeys = originalForeignKeys;
+    }
+
+    public String getForeignRelationType() {
+        return this.foreignRelationType;
+    }
+
+    public void setForeignRelationType(String foreignRelationType) {
+        this.foreignRelationType = foreignRelationType;
+    }
+
+    public String toString() {
+        return "{\"entityPackage\":\"" + this.entityPackage + "\",\"tableName\":\"" + this.tableName + "\",\"entityName\":\"" + this.entityName + "\",\"primaryKeyPolicy\":\"" + this.primaryKeyPolicy + "\",\"sequenceCode\":\"" + this.sequenceCode + "\",\"ftlDescription\":\"" + this.ftlDescription + "\",\"originalForeignKeys\":\"" + Arrays.toString(this.originalForeignKeys) + "\",\"foreignKeys\":\"" + Arrays.toString(this.foreignKeys) + "\",\"colums\":" + this.colums + ",\"originalColumns\":" + this.originalColumns + "}";
+    }
+}

+ 2 - 2
tnc-online/src/main/java/org/jeecg/modules/online/cgform/controller/OnlCgformApiController.java

@@ -1076,13 +1076,13 @@ public class OnlCgformApiController {
     }
 
     @PutMapping({"/crazyForm/{name}"})
-    public Result<?> formEditForDesigner(@PathVariable("name") String var1, @RequestBody JSONObject var2) {
+    public Result<?> formEditForDesigner(@PathVariable("name") String tbname, @RequestBody JSONObject var2) {
         try {
             var2.remove("create_by");
             var2.remove("create_time");
             var2.remove("update_by");
             var2.remove("update_time");
-            this.onlCgformHeadService.editCrazyFormData(var1, var2);
+            this.onlCgformHeadService.editCrazyFormData(tbname, var2);
         } catch (Exception var4) {
             logger.error("OnlCgformApiController.formEditForDesigner()发生异常:" + var4.getMessage(), var4);
             return Result.error("保存失败");

+ 1 - 1
tnc-online/src/main/java/org/jeecg/modules/online/cgform/mapper/OnlCgformHeadMapper.java

@@ -25,7 +25,7 @@ public interface OnlCgformHeadMapper extends BaseMapper<OnlCgformHead> {
     Integer getMaxCopyVersion(@Param("physicId") String str);
 
     @Select({"select table_name from onl_cgform_head where physic_id = #{physicId}"})
-    List<String> queryAllCopyTableName(@Param("physicId") String str);
+    List<String> queryAllCopyTableName(@Param("physicId") String physicId);
 
     @Select({"select physic_id from onl_cgform_head GROUP BY physic_id"})
     List<String> queryCopyPhysicId();

+ 1 - 1
tnc-online/src/main/java/org/jeecg/modules/online/cgform/service/IOnlCgformHeadService.java

@@ -107,7 +107,7 @@ public interface IOnlCgformHeadService extends IService<OnlCgformHead> {
 
     void addCrazyFormData(String str, JSONObject jSONObject) throws DBException, UnsupportedEncodingException;
 
-    void editCrazyFormData(String str, JSONObject jSONObject) throws DBException, UnsupportedEncodingException;
+    void editCrazyFormData(String tbname, JSONObject jSONObject) throws DBException, UnsupportedEncodingException;
 
     /**
      * 获取最大复制的版本号

+ 172 - 240
tnc-online/src/main/java/org/jeecg/modules/online/cgform/service/impl/OnlCgformHeadServiceImpl.java

@@ -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);
             }
         }
     }