Ver Fonte

feat:修复新增动态表格按钮初始化逻辑,新增表单组样式布局逻辑

韩帛霖 há 1 ano atrás
pai
commit
2eefe68456

+ 56 - 33
zkqy-system/src/main/java/com/zkqy/system/entity/DragFormGroup.java

@@ -5,6 +5,8 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import com.zkqy.common.annotation.Excel;
 
+import java.util.List;
+
 /**
  * 动态单组对象 drag_form_group
  * 
@@ -42,101 +44,122 @@ public class DragFormGroup extends BaseEntity
     @Excel(name = "回显数据sql")
     private String showDataSql;
 
+    /**
+     * 动态表单详情
+     */
+    private List<DragForm> dragFormList;
 
     /** 逻辑删除 */
     private String delFlag;
 
-    public void setId(Long id) 
+    /**
+     * 表单组布局样式
+     */
+    private String layoutJson;
+
+    public String getLayoutJson() {
+        return layoutJson;
+    }
+
+    public void setLayoutJson(String layoutJson) {
+        this.layoutJson = layoutJson;
+    }
+
+    public void setId(Long id)
     {
         this.id = id;
     }
 
-    public Long getId() 
+    public Long getId()
     {
         return id;
     }
-    public void setGroupKey(String groupKey) 
+    public void setGroupKey(String groupKey)
     {
         this.groupKey = groupKey;
     }
 
-    public String getGroupKey() 
+    public String getGroupKey()
     {
         return groupKey;
     }
-    public void setfGName(String fGName) 
+    public void setfGName(String fGName)
     {
         this.fGName = fGName;
     }
 
-    public String getfGName() 
+    public String getfGName()
     {
         return fGName;
     }
-    public void setFormKeys(String formKeys) 
+    public void setFormKeys(String formKeys)
     {
         this.formKeys = formKeys;
     }
 
-    public String getFormKeys() 
+    public String getFormKeys()
     {
         return formKeys;
     }
-    public void setMainTable(String mainTable) 
+    public void setMainTable(String mainTable)
     {
         this.mainTable = mainTable;
     }
 
-    public String getMainTable() 
+    public String getMainTable()
     {
         return mainTable;
     }
-    public void setRelationJson(String relationJson) 
+    public void setRelationJson(String relationJson)
     {
         this.relationJson = relationJson;
     }
 
-    public String getRelationJson() 
+    public String getRelationJson()
     {
         return relationJson;
     }
-    public void setShowDataSql(String showDataSql) 
+    public void setShowDataSql(String showDataSql)
     {
         this.showDataSql = showDataSql;
     }
 
-    public String getShowDataSql() 
+    public String getShowDataSql()
     {
         return showDataSql;
     }
-    public void setDelFlag(String delFlag) 
+    public void setDelFlag(String delFlag)
     {
         this.delFlag = delFlag;
     }
 
-    public String getDelFlag() 
+    public String getDelFlag()
     {
         return delFlag;
     }
 
+    public List<DragForm> getDragFormList() {
+        return dragFormList;
+    }
+
+    public void setDragFormList(List<DragForm> dragFormList) {
+        this.dragFormList = dragFormList;
+    }
+
     @Override
     public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("id", getId())
-            .append("groupKey", getGroupKey())
-            .append("fGName", getfGName())
-            .append("remark", getRemark())
-            .append("formKeys", getFormKeys())
-            .append("mainTable", getMainTable())
-            .append("relationJson", getRelationJson())
-            .append("showDataSql", getShowDataSql())
-            .append("updateTime", getUpdateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateById", getUpdateById())
-            .append("createTime", getCreateTime())
-            .append("createById", getCreateById())
-            .append("createBy", getCreateBy())
-            .append("delFlag", getDelFlag())
-            .toString();
+        final StringBuilder sb = new StringBuilder("DragFormGroup{");
+        sb.append("id=").append(id);
+        sb.append(", groupKey='").append(groupKey).append('\'');
+        sb.append(", fGName='").append(fGName).append('\'');
+        sb.append(", formKeys='").append(formKeys).append('\'');
+        sb.append(", mainTable='").append(mainTable).append('\'');
+        sb.append(", relationJson='").append(relationJson).append('\'');
+        sb.append(", showDataSql='").append(showDataSql).append('\'');
+        sb.append(", dragFormList=").append(dragFormList);
+        sb.append(", delFlag='").append(delFlag).append('\'');
+        sb.append(", layoutJson='").append(layoutJson).append('\'');
+        sb.append('}');
+        return sb.toString();
     }
 }

+ 20 - 11
zkqy-system/src/main/java/com/zkqy/system/service/impl/DragFormGroupServiceImpl.java

@@ -5,12 +5,9 @@ import java.util.List;
 import java.util.Map;
 
 import com.alibaba.fastjson2.JSON;
-import com.alibaba.fastjson2.JSONObject;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.zkqy.common.utils.DateUtils;
-import com.zkqy.common.utils.StringUtils;
-import com.zkqy.system.entity.CommonEntity;
 import com.zkqy.system.entity.DragForm;
 import com.zkqy.system.entity.DragFormGroup;
 import com.zkqy.system.service.IDragFormService;
@@ -27,6 +24,7 @@ import com.zkqy.system.service.IDragFormGroupService;
  */
 @Service
 public class DragFormGroupServiceImpl implements IDragFormGroupService {
+
     @Autowired
     private DragFormGroupMapper dragFormGroupMapper;
 
@@ -41,7 +39,19 @@ public class DragFormGroupServiceImpl implements IDragFormGroupService {
      */
     @Override
     public DragFormGroup selectDragFormGroupById(Long id) {
-        return dragFormGroupMapper.selectDragFormGroupById(id);
+        // 得到表单组信息
+        DragFormGroup dragFormGroup = dragFormGroupMapper.selectDragFormGroupById(id);
+        // 得到表单中对应表单信息
+        ObjectMapper objectMapper = new ObjectMapper();
+        List<String> selectQualifiedFieldListMap = null;
+        try {
+            selectQualifiedFieldListMap = objectMapper.readValue(dragFormGroup.getFormKeys(), List.class);
+        } catch (JsonProcessingException e) {
+            throw new RuntimeException(e);
+        }
+        String formkeys[] = selectQualifiedFieldListMap.toArray(new String[0]);
+        dragFormGroup.setDragFormList(iDragFormService.selectDragFormByFormKeys(formkeys));
+        return dragFormGroup;
     }
 
     @Override
@@ -53,24 +63,23 @@ public class DragFormGroupServiceImpl implements IDragFormGroupService {
         // 根据表单组中的keys信息 获取对应动态表单的信息
         String[] formKeys = JSON.parseArray(dragFormGroup.getFormKeys()).toArray(String.class);
 
-
         // 得到当前表单组绑定的按钮
         List<DragForm> dragFormList = iDragFormService.selectDragFormByFormKeys(formKeys);
 
-
         // 当前表单组关系
-        Map<String, Object> relationJsonMap = (Map<String, Object>) JSON.parse(dragFormGroup.getRelationJson());
+        Map<String, Object> relationJsonMap = (Map<String, Object>)JSON.parse(dragFormGroup.getRelationJson());
 
         // 主表单增加模版信息
         dragFormList.forEach(ftem -> {
-            if (ftem.getFormKey().equals(((Map) relationJsonMap.get("mainForm")).get("formKey"))) {
-                ((Map) relationJsonMap.get("mainForm")).put("showTemplate", ftem);
+            if (ftem.getFormKey().equals(((Map)relationJsonMap.get("mainForm")).get("formKey"))) {
+                ((Map)relationJsonMap.get("mainForm")).put("showTemplate", ftem);
             }
         });
 
         // 从表单增加模版信息
-        ((ArrayList) relationJsonMap.get("subFormList")).forEach(rtem -> {
-            ((Map) rtem).put("showTemplate", dragFormList.stream().filter(ftem -> ftem.getFormKey().equals(((Map) rtem).get("formKey"))).findFirst().get());
+        ((ArrayList)relationJsonMap.get("subFormList")).forEach(rtem -> {
+            ((Map)rtem).put("showTemplate", dragFormList.stream()
+                .filter(ftem -> ftem.getFormKey().equals(((Map)rtem).get("formKey"))).findFirst().get());
         });
         // 替换处理之后的结果
         dragFormGroup.setRelationJson(relationJsonMap.toString());

+ 14 - 14
zkqy-system/src/main/java/com/zkqy/system/service/impl/DragTableBtnServiceImpl.java

@@ -207,25 +207,25 @@ public class DragTableBtnServiceImpl implements IDragTableBtnService {
         });
         dragTableBtnMapper.insertDragTableBtnList(dragTableBtnDefaultVo.getDragTableBtnTop().getChildren());
 
-//        dragTableBtnDefaultVo.getDragTableBtnRight().setBtnGroupName(btnGroupName);
-//        dragTableBtnDefaultVo.getDragTableBtnRight().setBtnTableKey(dragTableBtnDefaultVo.getTableKey());
-//        dragTableBtnDefaultVo.getDragTableBtnRight().setBtnKey(IdUtils.fastUUID());
-//        dragTableBtnMapper.insertDragTableBtn(dragTableBtnDefaultVo.getDragTableBtnRight());
-//        Long rightId = dragTableBtnDefaultVo.getDragTableBtnRight().getId();
-//        dragTableBtnDefaultVo.getDragTableBtnRight().getChildren().forEach(item -> {
-//            item.setBtnParentId(rightId);
-//            item.setBtnHasPermi(hasPermi + item.getBtnType());
-//            item.setAncestorsId("0" + "," + rightId);
-//            item.setBtnKey(IdUtils.fastUUID());
-//        });
-//        dragTableBtnMapper.insertDragTableBtnList(dragTableBtnDefaultVo.getDragTableBtnRight().getChildren());
+        dragTableBtnDefaultVo.getDragTableBtnRight().setBtnGroupName(btnGroupName);
+        dragTableBtnDefaultVo.getDragTableBtnRight().setBtnTableKey(dragTableBtnDefaultVo.getTableKey());
+        dragTableBtnDefaultVo.getDragTableBtnRight().setBtnKey(IdUtils.fastUUID());
+        dragTableBtnMapper.insertDragTableBtn(dragTableBtnDefaultVo.getDragTableBtnRight());
+        Long rightId = dragTableBtnDefaultVo.getDragTableBtnRight().getId();
+        dragTableBtnDefaultVo.getDragTableBtnRight().getChildren().forEach(item -> {
+            item.setBtnParentId(rightId);
+            item.setBtnHasPermi(hasPermi + item.getBtnType());
+            item.setAncestorsId("0" + "," + rightId);
+            item.setBtnKey(IdUtils.fastUUID());
+        });
+        dragTableBtnMapper.insertDragTableBtnList(dragTableBtnDefaultVo.getDragTableBtnRight().getChildren());
 
         // 新增绑定关系
         List<DragTableBtnRelevance> dragTableBtnRelevanceList = new ArrayList<>();
         dragTableBtnRelevanceList.add(new DragTableBtnRelevance(dragTableBtnDefaultVo.getTableKey(),
             dragTableBtnDefaultVo.getDragTableBtnTop().getBtnKey()));
-//        dragTableBtnRelevanceList.add(new DragTableBtnRelevance(dragTableBtnDefaultVo.getTableKey(),
-//            dragTableBtnDefaultVo.getDragTableBtnRight().getBtnKey()));
+        dragTableBtnRelevanceList.add(new DragTableBtnRelevance(dragTableBtnDefaultVo.getTableKey(),
+            dragTableBtnDefaultVo.getDragTableBtnRight().getBtnKey()));
         dragTableBtnRelevanceMapper.batchInsertDragTableBtnRelevance(dragTableBtnRelevanceList);
 
         // 初始化菜单权限 初始化菜单 返回前端初始化菜单所需数据结构

+ 5 - 0
zkqy-system/src/main/resources/mapper/dragmapper/DragFormGroupMapper.xml

@@ -20,6 +20,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="createById"    column="create_by_id"    />
         <result property="createBy"    column="create_by"    />
         <result property="delFlag"    column="del_flag"    />
+        <result property="layoutJson"    column="layout_json"    />
     </resultMap>
 
     <sql id="selectDragFormGroupVo">
@@ -31,6 +32,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                main_table,
                relation_json,
                show_data_sql,
+               layout_json,
                update_time,
                update_by,
                update_by_id,
@@ -81,6 +83,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="createById != null">create_by_id,</if>
             <if test="createBy != null">create_by,</if>
             <if test="delFlag != null">del_flag,</if>
+            <if test="layoutJson != null">layout_json,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="groupKey != null">#{groupKey},</if>
@@ -97,6 +100,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="createById != null">#{createById},</if>
             <if test="createBy != null">#{createBy},</if>
             <if test="delFlag != null">#{delFlag},</if>
+            <if test="layoutJson != null">#{layoutJson},</if>
          </trim>
     </insert>
 
@@ -117,6 +121,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="createById != null">create_by_id = #{createById},</if>
             <if test="createBy != null">create_by = #{createBy},</if>
             <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="layoutJson != null">layout_json = #{layoutJson},</if>
         </trim>
         where id = #{id}
     </update>