Ver código fonte

动态表单查询、新增、添加动态表格表单关联表

xuezizhuo 1 ano atrás
pai
commit
391b0be2d4

+ 1 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/dragForm/DragFormController.java

@@ -72,7 +72,7 @@ public class DragFormController extends BaseController {
     @Log(title = "动态表单", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody DragForm dragForm) {
-        return toAjax(dragFormService.insertDragForm(dragForm));
+        return dragFormService.insertDragForm(dragForm);
     }
 
     /**

+ 8 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/dragForm/DragTableController.java

@@ -112,7 +112,6 @@ public class DragTableController extends BaseController {
         return AjaxResult.success();
     }
 
-
     /**
      * 删除动态格
      */
@@ -122,4 +121,12 @@ public class DragTableController extends BaseController {
         return AjaxResult.success();
     }
 
+    /**
+     * 查询动态格列表
+     */
+    @GetMapping("/dragTableList")
+    public AjaxResult dragTableList() {
+        return AjaxResult.success(dragTableService.selectDragTableList(new DragTable()));
+    }
+
 }

+ 14 - 1
ruoyi-system/src/main/java/com/ruoyi/system/entity/DragForm.java

@@ -103,6 +103,9 @@ public class DragForm extends BaseEntity {
     @Excel(name = "备用列")
     private String spare1;
 
+    //动态表格编号
+    private Long dtId;
+
 
     public Long getfId() {
         return fId;
@@ -224,6 +227,14 @@ public class DragForm extends BaseEntity {
         this.spare1 = spare1;
     }
 
+    public Long getDtId() {
+        return dtId;
+    }
+
+    public void setDtId(Long dtId) {
+        this.dtId = dtId;
+    }
+
     @Override
     public String toString() {
         return "DragForm{" +
@@ -242,6 +253,7 @@ public class DragForm extends BaseEntity {
                 ", delFlag='" + delFlag + '\'' +
                 ", spare='" + spare + '\'' +
                 ", spare1='" + spare1 + '\'' +
+                ", dtId=" + dtId +
                 '}';
     }
 
@@ -249,7 +261,7 @@ public class DragForm extends BaseEntity {
 
     }
 
-    public DragForm(Long fId, String sqlKey, String dfName, String dfNickname, String dfVueTemplate, String dfHtmlTemplate, String dfFormSql, Long dfNodeId, String dfDatabase, String dfTableName, String dfFliePath, String dfNotes, String delFlag, String spare, String spare1) {
+    public DragForm(Long fId, String sqlKey, String dfName, String dfNickname, String dfVueTemplate, String dfHtmlTemplate, String dfFormSql, Long dfNodeId, String dfDatabase, String dfTableName, String dfFliePath, String dfNotes, String delFlag, String spare, String spare1,Long dtId) {
         this.fId = fId;
         this.sqlKey = sqlKey;
         this.dfName = dfName;
@@ -265,5 +277,6 @@ public class DragForm extends BaseEntity {
         this.delFlag = delFlag;
         this.spare = spare;
         this.spare1 = spare1;
+        this.dtId = dtId;
     }
 }

+ 51 - 0
ruoyi-system/src/main/java/com/ruoyi/system/entity/DragTableForm.java

@@ -0,0 +1,51 @@
+package com.ruoyi.system.entity;
+
+/**
+ * 动态表格表达关联表 drag_table_form
+ *
+ * @author ruoyi
+ */
+public class DragTableForm {
+
+    /** 编号 */
+    private Long id;
+
+    /** 动态表格id */
+    private Long dtId;
+
+    /** 动态表单id */
+    private Long dfId;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getDtId() {
+        return dtId;
+    }
+
+    public void setDtId(Long dtId) {
+        this.dtId = dtId;
+    }
+
+    public Long getDfId() {
+        return dfId;
+    }
+
+    public void setDfId(Long dfId) {
+        this.dfId = dfId;
+    }
+
+    @Override
+    public String toString() {
+        return "DragTableForm{" +
+                "id=" + id +
+                ", dtId=" + dtId +
+                ", dfId=" + dfId +
+                '}';
+    }
+}

+ 6 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/DragFormMapper.java

@@ -68,4 +68,10 @@ public interface DragFormMapper {
      * 根据sqlKey查询动态表单
      */
     DragForm selectDragFormBySqlKey(String sqlKey);
+
+
+    /**
+     * 查询新增表单编号
+     */
+    int selectDragFormFId();
 }

+ 17 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/DragTableFormMapper.java

@@ -0,0 +1,17 @@
+package com.ruoyi.system.mapper;
+
+import com.ruoyi.system.entity.DragTableForm;
+
+public interface DragTableFormMapper {
+
+    /**
+     * 新增
+     */
+    int insertDragTableForm(DragTableForm dragTableForm);
+
+    /**
+     * 查询表格id是否唯一
+     */
+    int selectDtIdCount(Long dtId);
+
+}

+ 2 - 1
ruoyi-system/src/main/java/com/ruoyi/system/service/IDragFormService.java

@@ -2,6 +2,7 @@ package com.ruoyi.system.service;
 
 
 
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.system.entity.DragForm;
 
 import java.util.List;
@@ -39,7 +40,7 @@ public interface IDragFormService {
      * @param dragForm 动态表单
      * @return 结果
      */
-    public int insertDragForm(DragForm dragForm);
+    AjaxResult insertDragForm(DragForm dragForm);
 
     /**
      * 修改动态表单

+ 25 - 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/DragFormServiceImpl.java

@@ -1,14 +1,19 @@
 package com.ruoyi.system.service.impl;
 
 import com.ruoyi.common.config.RuoYiConfig;
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.utils.DateUtils;
 
 import com.ruoyi.system.entity.DragForm;
+import com.ruoyi.system.entity.DragTableForm;
 import com.ruoyi.system.mapper.DragFormMapper;
+import com.ruoyi.system.mapper.DragTableFormMapper;
 import com.ruoyi.system.service.IDragFormService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
+import javax.annotation.Resource;
 import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
@@ -28,6 +33,9 @@ public class DragFormServiceImpl implements IDragFormService {
     @Autowired
     private DragFormMapper dragFormMapper;
 
+    @Resource
+    private DragTableFormMapper dragTableFormMapper;
+
     /**
      * 查询动态表单
      *
@@ -59,14 +67,29 @@ public class DragFormServiceImpl implements IDragFormService {
      * @return 结果
      */
     @Override
-    public int insertDragForm(DragForm dragForm) {
+    @Transactional
+    public AjaxResult insertDragForm(DragForm dragForm) {
         String fileName = RuoYiConfig.getProfile() + UUID.randomUUID().toString() + ".html";
         // 创建表单源文件
         createForm(fileName, dragForm.getDfHtmlTemplate());
         // 使用租户名 加uuid 定义表单文件名称
         dragForm.setDfFliePath(fileName);
         dragForm.setCreateTime(DateUtils.getNowDate());
-        return dragFormMapper.insertDragForm(dragForm);
+
+        //校验dtId是否唯一
+        if(dragTableFormMapper.selectDtIdCount(dragForm.getDtId()) > 0){
+            return AjaxResult.warn("该表格已绑定表单!");
+        }
+        //新增表单
+        dragFormMapper.insertDragForm(dragForm);
+
+
+        //新增关联表
+        DragTableForm dragTableForm = new DragTableForm();
+        dragTableForm.setDfId(Long.valueOf(dragFormMapper.selectDragFormFId()));
+        dragTableForm.setDtId(dragForm.getDtId());
+        dragTableFormMapper.insertDragTableForm(dragTableForm);
+        return AjaxResult.success();
     }
 
     /**

+ 30 - 2
ruoyi-system/src/main/resources/mapper/dragmapper/DragFormMapper.xml

@@ -24,6 +24,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="updateTime"    column="update_time"    />
         <result property="spare"    column="spare"    />
         <result property="spare1"    column="spare1"    />
+        <result property="dtId" column="dt_id"/>
     </resultMap>
 
     <sql id="selectDragFormVo">
@@ -54,8 +55,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </select>
     
     <select id="selectDragFormByFId" parameterType="Long" resultMap="DragFormResult">
-        <include refid="selectDragFormVo"/>
-        where f_id = #{fId}
+        SELECT
+            d.f_id,
+            d.sql_key,
+            d.df_name,
+            d.df_nickname,
+            d.df_vue_template,
+            d.df_html_template,
+            d.df_form_sql,
+            d.df_node_id,
+            d.df_database,
+            d.df_table_name,
+            d.df_flie_path,
+            d.df_notes,
+            d.del_flag,
+            d.create_time,
+            d.create_by,
+            d.update_by,
+            d.update_time,
+            d.spare,
+            d.spare1,
+            dtf.dt_id
+        FROM
+            drag_form d
+                LEFT JOIN drag_table_form dtf ON d.f_id = dtf.df_id
+        where d.f_id = #{fId}
     </select>
         
     <insert id="insertDragForm" parameterType="com.ruoyi.system.entity.DragForm" useGeneratedKeys="true" keyProperty="fId">
@@ -145,4 +169,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <include refid="selectDragFormVo"/>
         where sql_key = #{sqlKey}
     </select>
+
+    <select id="selectDragFormFId" resultType="int">
+        select f_id from drag_form ORDER BY f_id desc LIMIT 1
+    </select>
 </mapper>

+ 24 - 0
ruoyi-system/src/main/resources/mapper/dragmapper/DragTableFormMapper.xml

@@ -0,0 +1,24 @@
+<?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="com.ruoyi.system.mapper.DragTableFormMapper">
+    
+    <resultMap type="com.ruoyi.system.entity.DragTableForm" id="DragTableFormResult">
+        <result property="id" column="id"/>
+        <result property="dtId" column="dt_id"/>
+        <result property="dfId" column="df_id"/>
+    </resultMap>
+
+    <insert id="insertDragTableForm" parameterType="com.ruoyi.system.entity.DragTableForm" useGeneratedKeys="true" keyProperty="id">
+        insert into drag_table_form(dt_id,df_id)
+        values (#{dtId},#{dfId})
+    </insert>
+
+
+    <select id="selectDtIdCount" resultType="int">
+        select count(1) from drag_table_form where dt_id = #{dtId}
+    </select>
+
+
+</mapper>