Bladeren bron

添加代码分组功能

yangll 3 jaren geleden
bovenliggende
commit
d72fffbce8

+ 1 - 1
tnc-base/tnc-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java

@@ -242,7 +242,7 @@ public class CommonUtils {
     public static DataSourceProperty getDataSourceProperty(String sourceKey){
         DynamicDataSourceProperties prop = SpringContextUtils.getApplicationContext().getBean(DynamicDataSourceProperties.class);
         Map<String, DataSourceProperty> map = prop.getDatasource();
-        DataSourceProperty db = (DataSourceProperty)map.get(sourceKey);
+        DataSourceProperty db = map.get(sourceKey);
         return db;
     }
 

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

@@ -907,6 +907,7 @@ public class OnlCgformApiController {
     @GetMapping({"/checkOnlyTable"})
     public Result<?> checkOnlyTable(@RequestParam("tbname") String tbName, @RequestParam("id") String id) {
         OnlCgformHead onlCgformHead;
+        // 添加时
         if (oConvertUtils.isEmpty(id)) {
             if (DbTableUtil.containsTable(tbName)) {
                 return Result.ok(-1);

+ 172 - 0
tnc-online/src/main/java/org/jeecg/modules/online/cgform/controller/OnlCgformFieldGroupController.java

@@ -0,0 +1,172 @@
+package org.jeecg.modules.online.cgform.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.online.cgform.entity.OnlCgformField;
+import org.jeecg.modules.online.cgform.entity.OnlCgformFieldGroup;
+import org.jeecg.modules.online.cgform.entity.OnlCgformHead;
+import org.jeecg.modules.online.cgform.service.IOnlCgformFieldGroupService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+
+ /**
+ * @description 字段分组
+ * @author jeecg-boot
+ * @date 2022-09-20
+ * @version V1.0
+ */
+@Api(tags="字段分组")
+@RestController
+@RequestMapping("/online/form/group")
+@Slf4j
+public class OnlCgformFieldGroupController extends JeecgController<OnlCgformFieldGroup, IOnlCgformFieldGroupService> {
+	@Autowired
+	private IOnlCgformFieldGroupService onlCgformFieldGroupService;
+
+	 /**
+	  * 分页列表查询
+	  *
+	  * @param onlCgformFieldGroup 对象
+	  * @param pageNo 页码
+	  * @param pageSize 每页条数
+	  * @param request 请求
+	  * @return 结果
+	  */
+	//@AutoLog(value = "字段分组-分页列表查询")
+	@ApiOperation(value="字段分组-分页列表查询", notes="字段分组-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<OnlCgformFieldGroup>> queryPageList(OnlCgformFieldGroup onlCgformFieldGroup,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest request) {
+		QueryWrapper<OnlCgformFieldGroup> queryWrapper = QueryGenerator.initQueryWrapper(onlCgformFieldGroup, request.getParameterMap());
+		Page<OnlCgformFieldGroup> page = new Page<>(pageNo, pageSize);
+		IPage<OnlCgformFieldGroup> pageList = onlCgformFieldGroupService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+
+	 /**
+	  * 根据表id获取字段集合
+	  *
+	  * @param headId 表id
+	  * @return 字段集合
+	  */
+	 @GetMapping({"/listByHeadId"})
+	 public Result<?> listByHeadId(@RequestParam("headId") String headId) {
+		 return Result.ok(this.onlCgformFieldGroupService.list(new LambdaQueryWrapper<OnlCgformFieldGroup>()
+				 .eq(OnlCgformFieldGroup::getCgformHeadId, headId)
+				 .orderByAsc(OnlCgformFieldGroup::getOrderNum)));
+	 }
+
+	 /**
+	  * 添加
+	  *
+	  * @param onlCgformFieldGroup 对象
+	  * @return 结果
+	  */
+	@AutoLog(value = "字段分组-添加")
+	@ApiOperation(value="字段分组-添加", notes="字段分组-添加")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody OnlCgformFieldGroup onlCgformFieldGroup) {
+		onlCgformFieldGroupService.save(onlCgformFieldGroup);
+		return Result.OK("添加成功!");
+	}
+
+	 /**
+	  * 编辑
+	  *
+	  * @param onlCgformFieldGroup 对象
+	  * @return 结果
+	  */
+	@AutoLog(value = "字段分组-编辑")
+	@ApiOperation(value="字段分组-编辑", notes="字段分组-编辑")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody OnlCgformFieldGroup onlCgformFieldGroup) {
+		onlCgformFieldGroupService.updateById(onlCgformFieldGroup);
+		return Result.OK("编辑成功!");
+	}
+	
+	 /**
+	  * 通过id删除
+	  *
+	  * @param id 主键
+	  * @return 结果
+	  */
+	@AutoLog(value = "字段分组-通过id删除")
+	@ApiOperation(value="字段分组-通过id删除", notes="字段分组-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id") String id) {
+		onlCgformFieldGroupService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	 /**
+	  * 批量删除
+	  *
+	  * @param ids 主键
+	  * @return 结果
+	  */
+	@AutoLog(value = "字段分组-批量删除")
+	@ApiOperation(value="字段分组-批量删除", notes="字段分组-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids") String ids) {
+		this.onlCgformFieldGroupService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	 /**
+	  * 通过id查询
+	  *
+	  * @param id 主键
+	  * @return 数据
+	  */
+	//@AutoLog(value = "字段分组-通过id查询")
+	@ApiOperation(value="字段分组-通过id查询", notes="字段分组-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<OnlCgformFieldGroup> queryById(@RequestParam(name="id") String id) {
+		OnlCgformFieldGroup onlCgformFieldGroup = onlCgformFieldGroupService.getById(id);
+		if(onlCgformFieldGroup==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(onlCgformFieldGroup);
+	}
+
+	 /**
+	  * 导出excel
+	  *
+	  * @param request 请求
+	  * @param onlCgformFieldGroup 对象
+	  * @return excel文件
+	  */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, OnlCgformFieldGroup onlCgformFieldGroup) {
+        return super.exportXls(request, onlCgformFieldGroup, OnlCgformFieldGroup.class, "字段分组");
+    }
+
+	 /**
+	  * 通过excel导入数据
+	  *
+	  * @param request 请求
+	  * @param response 响应
+	  * @return 导入结果
+	  */
+    @PostMapping(value = "/importExcel")
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, OnlCgformFieldGroup.class);
+    }
+
+}

+ 6 - 0
tnc-online/src/main/java/org/jeecg/modules/online/cgform/entity/OnlCgformField.java

@@ -117,6 +117,12 @@ public class OnlCgformField implements Serializable {
     @Excel(name = "控件默认值", width = 15)
     @ApiModelProperty(value = "控件默认值")
     private String fieldDefaultValue;
+    /**
+     * 字段分组code
+     */
+    @Excel(name = "字段分组code", width = 15)
+    @ApiModelProperty(value = "字段分组code")
+    private String fieldGroupCode;
     /** 是否查询条件0否 1是 */
     @Excel(name = "是否查询条件0否 1是", width = 15)
     @ApiModelProperty(value = "是否查询条件0否 1是")

+ 70 - 0
tnc-online/src/main/java/org/jeecg/modules/online/cgform/entity/OnlCgformFieldGroup.java

@@ -0,0 +1,70 @@
+package org.jeecg.modules.online.cgform.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @description 字段分组
+ * @author jeecg-boot
+ * @date 2022-09-20
+ * @version V1.0
+ */
+@Data
+@TableName("onl_cgform_field_group")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="onl_cgform_field_group对象", description="字段分组")
+public class OnlCgformFieldGroup implements Serializable {
+
+    private static final long serialVersionUID = -1897918395378521447L;
+
+    /** 主键 */
+    @TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private java.lang.String id;
+    /** 表id */
+    @Excel(name = "表id", width = 15)
+    @ApiModelProperty(value = "表id")
+    private java.lang.String cgformHeadId;
+    /** 分组名称 */
+    @Excel(name = "分组名称", width = 15)
+    @ApiModelProperty(value = "分组名称")
+    private java.lang.String groupName;
+    /** 分组代码 */
+    @Excel(name = "分组代码", width = 15)
+    @ApiModelProperty(value = "分组代码")
+    private java.lang.String groupCode;
+    /** 排序 */
+    @Excel(name = "排序", width = 15)
+    @ApiModelProperty(value = "排序")
+    private java.lang.String orderNum;
+    /** 创建人 */
+    @ApiModelProperty(value = "创建人")
+    private java.lang.String createBy;
+    /** 创建日期 */
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private java.util.Date createTime;
+    /** 更新人 */
+    @ApiModelProperty(value = "更新人")
+    private java.lang.String updateBy;
+    /** 更新日期 */
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private java.util.Date updateTime;
+
+}

+ 16 - 0
tnc-online/src/main/java/org/jeecg/modules/online/cgform/mapper/OnlCgformFieldGroupMapper.java

@@ -0,0 +1,16 @@
+package org.jeecg.modules.online.cgform.mapper;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.online.cgform.entity.OnlCgformFieldGroup;
+
+/**
+ * @description 字段分组
+ * @author jeecg-boot
+ * @date 2022-09-20
+ * @version V1.0
+ */
+public interface OnlCgformFieldGroupMapper extends BaseMapper<OnlCgformFieldGroup> {
+
+}

+ 5 - 0
tnc-online/src/main/java/org/jeecg/modules/online/cgform/mapper/xml/OnlCgformFieldGroupMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.online.cgform.mapper.OnlCgformFieldGroupMapper">
+
+</mapper>

+ 4 - 0
tnc-online/src/main/java/org/jeecg/modules/online/cgform/model/OnlCgformModel.java

@@ -4,6 +4,7 @@ import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
 import org.jeecg.modules.online.cgform.entity.OnlCgformField;
+import org.jeecg.modules.online.cgform.entity.OnlCgformFieldGroup;
 import org.jeecg.modules.online.cgform.entity.OnlCgformHead;
 import org.jeecg.modules.online.cgform.entity.OnlCgformIndex;
 
@@ -29,6 +30,9 @@ public class OnlCgformModel {
     /** 索引列表 */
     private List<OnlCgformIndex> indexs;
 
+    /** 字段分组列表 */
+    private List<OnlCgformFieldGroup> fieldGroups;
+
     /** 被删除的索引id列表 */
     private List<String> deleteIndexIds;
 

+ 14 - 0
tnc-online/src/main/java/org/jeecg/modules/online/cgform/service/IOnlCgformFieldGroupService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.online.cgform.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.online.cgform.entity.OnlCgformFieldGroup;
+
+/**
+ * @description 字段分组
+ * @author jeecg-boot
+ * @date 2022-09-20
+ * @version V1.0
+ */
+public interface IOnlCgformFieldGroupService extends IService<OnlCgformFieldGroup> {
+
+}

+ 18 - 0
tnc-online/src/main/java/org/jeecg/modules/online/cgform/service/impl/OnlCgformFieldGroupServiceImpl.java

@@ -0,0 +1,18 @@
+package org.jeecg.modules.online.cgform.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.online.cgform.entity.OnlCgformFieldGroup;
+import org.jeecg.modules.online.cgform.mapper.OnlCgformFieldGroupMapper;
+import org.jeecg.modules.online.cgform.service.IOnlCgformFieldGroupService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @description 字段分组
+ * @author jeecg-boot
+ * @date 2022-09-20
+ * @version V1.0
+ */
+@Service
+public class OnlCgformFieldGroupServiceImpl extends ServiceImpl<OnlCgformFieldGroupMapper, OnlCgformFieldGroup> implements IOnlCgformFieldGroupService {
+
+}

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

@@ -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.OnlGenerateModel;
 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.IOnlCgformHeadService;
 import org.jeecg.modules.online.cgform.service.IOnlCgformIndexService;
@@ -80,6 +81,8 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
     @Autowired
     private IOnlCgformIndexService indexService;
     @Autowired
+    private IOnlCgformFieldGroupService fieldGroupService;
+    @Autowired
     private OnlCgformEnhanceJsMapper onlCgformEnhanceJsMapper;
     @Autowired
     private OnlCgformButtonMapper onlCgformButtonMapper;
@@ -158,12 +161,22 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
             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);
         // 表类型( 1:单表、2:主表、3:附表)
@@ -293,9 +306,7 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
 
             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) {
                     dbIndex.setDelFlag(CommonConstant.DEL_FLAG_1);
                     syncIndexList.add(dbIndex);
@@ -337,7 +348,7 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
             modelHead.setIsDbSynch(isDbSynch);
             updateById(modelHead);
             updateSubTableStr(modelHead, modelFieldList);
-            this.b(modelHead, modelFieldList);
+            this.updateOriginalTable(modelHead, modelFieldList);
             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) {
-                List var6;
+                List<OnlCgformField> dbCgformFieldList;
                 String var13;
-                ArrayList var19;
-                Iterator var22;
+                ArrayList<String> var19;
                 label108:
                 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 {
-                                    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;
-                            if (var21.size() > 0) {
-                                var22 = var6.iterator();
+                            if (dbFieldList.size() > 0) {
+                                Iterator<OnlCgformField> var22 = dbCgformFieldList.iterator();
 
                                 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());
                                     }
                                 }
                             }
 
                             if (var20.size() > 0) {
-                                var22 = var2.iterator();
+                                Iterator<OnlCgformField> var22 = cgformFieldList.iterator();
 
                                 while(var22.hasNext()) {
                                     var23 = (OnlCgformField)var22.next();
                                     if (var20.contains(var23.getDbFieldName())) {
                                         OnlCgformField var14 = new OnlCgformField();
-                                        var14.setCgformHeadId(var5.getId());
+                                        var14.setCgformHeadId(dbCgformHead.getId());
                                         this.copyField(var23, var14);
                                         this.fieldService.save(var14);
                                     }
@@ -1995,25 +2020,23 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
                             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;
                 } while(var19.size() <= 0);
 
-                var22 = var19.iterator();
+                Iterator<String> var22 = var19.iterator();
 
                 while(var22.hasNext()) {
                     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) {
         targetField.setDbDefaultVal(sourceField.getDbDefaultVal());
         targetField.setDbFieldName(sourceField.getDbFieldName());