Forráskód Böngészése

动态表格详情修改接口

xuezizhuo 1 éve
szülő
commit
76a0098c57

+ 30 - 12
ruoyi-admin/src/main/java/com/ruoyi/web/controller/dragForm/DragTableController.java

@@ -61,10 +61,10 @@ public class DragTableController extends BaseController {
     /**
      * 获取动态格详细信息
      */
-    @GetMapping(value = "/{tId}")
-    public AjaxResult getInfo(@PathVariable("tId") Long tId) {
-        return success(dragTableService.selectDragTableByTId(tId));
-    }
+//    @GetMapping(value = "/{tId}")
+//    public AjaxResult getInfo(@PathVariable("tId") Long tId) {
+//        return success(dragTableService.selectDragTableByTId(tId));
+//    }
 
     /**
      * 新增动态格
@@ -75,14 +75,14 @@ public class DragTableController extends BaseController {
         return toAjax(dragTableService.insertDragTable(dragTable));
     }
 
-    /**
-     * 修改动态格
-     */
-    @Log(title = "动态格", businessType = BusinessType.UPDATE)
-    @PutMapping
-    public AjaxResult edit(@RequestBody DragTable dragTable) {
-        return toAjax(dragTableService.updateDragTable(dragTable));
-    }
+//    /**
+//     * 修改动态格
+//     */
+//    @Log(title = "动态格", businessType = BusinessType.UPDATE)
+//    @PutMapping
+//    public AjaxResult edit(@RequestBody DragTable dragTable) {
+//        return toAjax(dragTableService.updateDragTable(dragTable));
+//    }
 
     /**
      * 删除动态格
@@ -101,4 +101,22 @@ public class DragTableController extends BaseController {
         return toAjax(dragTableService.addDragTable(dragTableVo));
     }
 
+    /**
+     * 获取动态格详细信息
+     */
+    @GetMapping("/getInfo/{tId}")
+    public AjaxResult getInfo(@PathVariable("tId") Long tId) {
+        return success(dragTableService.selectDragTableVoByTId(tId));
+    }
+
+    /**
+     * 修改动态格
+     */
+    @PutMapping("/edit")
+    public AjaxResult edit(@RequestBody DragTableVo dragTableVo) {
+        return toAjax(dragTableService.updateDragTable(dragTableVo));
+    }
+
+
+
 }

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

@@ -51,4 +51,10 @@ public interface DragTableConditionMapper
      * @return 动态格条件
      */
     List<DragTableCondition> selectDragTableConditionByTid(Long tId);
+
+    /**
+     * 查询动态表格超级查询范围字段
+     */
+    List<String> selectDragTableSearchField(Long tId);
+
 }

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

@@ -1,6 +1,7 @@
 package com.ruoyi.system.mapper;
 
 import com.ruoyi.system.entity.DragTable;
+import com.ruoyi.system.entity.vo.DragTableVo;
 
 import java.util.List;
 
@@ -67,4 +68,9 @@ public interface DragTableMapper
      * @return 动态格
      */
     DragTable selectDragTableBySqlKey(String sqlKey);
+
+    /**
+     * 获取动态表单详情
+     */
+    DragTableVo selectDragTableVoByTId(Long tId);
 }

+ 17 - 7
ruoyi-system/src/main/java/com/ruoyi/system/service/IDragTableService.java

@@ -38,13 +38,13 @@ public interface IDragTableService
      */
     public int insertDragTable(DragTable dragTable);
 
-    /**
-     * 修改动态格
-     * 
-     * @param dragTable 动态格
-     * @return 结果
-     */
-    public int updateDragTable(DragTable dragTable);
+//    /**
+//     * 修改动态格
+//     *
+//     * @param dragTable 动态格
+//     * @return 结果
+//     */
+//    public int updateDragTable(DragTable dragTable);
 
     /**
      * 批量删除动态格
@@ -74,4 +74,14 @@ public interface IDragTableService
      * 新增动态表格
      */
     int addDragTable(DragTableVo dragTableVo);
+
+    /**
+     * 获取动态表格详情详情
+     */
+    DragTableVo selectDragTableVoByTId(Long tId);
+
+    /**
+     * 修改动态格
+     */
+    int updateDragTable(DragTableVo dragTableVo);
 }

+ 70 - 11
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/DragTableServiceImpl.java

@@ -80,17 +80,17 @@ public class DragTableServiceImpl implements IDragTableService {
         return dragTableMapper.insertDragTable(dragTable);
     }
 
-    /**
-     * 修改动态格
-     *
-     * @param dragTable 动态格
-     * @return 结果
-     */
-    @Override
-    public int updateDragTable(DragTable dragTable) {
-        dragTable.setUpdateTime(DateUtils.getNowDate());
-        return dragTableMapper.updateDragTable(dragTable);
-    }
+//    /**
+//     * 修改动态格
+//     *
+//     * @param dragTable 动态格
+//     * @return 结果
+//     */
+//    @Override
+//    public int updateDragTable(DragTable dragTable) {
+//        dragTable.setUpdateTime(DateUtils.getNowDate());
+//        return dragTableMapper.updateDragTable(dragTable);
+//    }
 
     /**
      * 批量删除动态格
@@ -196,4 +196,63 @@ public class DragTableServiceImpl implements IDragTableService {
 
         return 1;
     }
+
+    @Override
+    public DragTableVo selectDragTableVoByTId(Long tId) {
+        DragTableVo vo = dragTableMapper.selectDragTableVoByTId(tId);
+        vo.setSearchFieldList(dragTableConditionMapper.selectDragTableSearchField(tId));
+        return vo;
+    }
+
+    @Transactional
+    @Override
+    public int updateDragTable(DragTableVo dragTableVo) {
+        //update drag_table
+        DragTable dragTable = new DragTable();
+        BeanUtils.copyProperties(dragTableVo, dragTable);
+        dragTable.setDtColumnName(JSON.toJSONString(dragTableVo.getDtColumnName()));
+        dragTableMapper.updateDragTable(dragTable);
+
+        //update table_sql
+        TableSql tableSql = new TableSql();
+        tableSql.setTableSql(dragTableVo.getTableSql());
+        // 拼接sql查询条件
+        switch ("MYSQL") {
+            case "MYSQL":
+            case "DM":
+                for (int i = 0; dragTableVo.getSearchFieldList().size() > i; i++) {
+                    SQL_START += SQL_MIDDLE.replace("#{VAL}", dragTableVo.getSearchFieldList().get(i));
+                    SQL_START += dragTableVo.getSearchFieldList().size() - 1 == i ? ")" : ",\n";
+                }
+                break;
+            case "SQLSERVER":
+                for (int i = 0; dragTableVo.getSearchFieldList().size() > i; i++) {
+                    SQL_START += SQLSERVER_MIDDLE.replace("#{VAL}", dragTableVo.getSearchFieldList().get(i));
+                    SQL_START += dragTableVo.getSearchFieldList().size() - 1 == i ? ")" : ",\n";
+                }
+                break;
+            case "ORACLE":
+                SQL_START = "";
+                for (int i = 0; dragTableVo.getSearchFieldList().size() > i; i++) {
+                    SQL_START += dragTableVo.getSearchFieldList().get(i);
+                    SQL_START += dragTableVo.getSearchFieldList().size() - 1 == i ? " " : "||";
+                }
+                break;
+        }
+        tableSql.setTableCondition(SQL_START + SQL_END);
+        tableSql.setTableAlias(dragTableVo.getDtTableName());
+        tableSql.setTableExportField(JSON.toJSONString(dragTableVo.getTableExportField()));
+
+
+        //update drag_table_condition
+
+        List<DragTableCondition> dragTableConditionList = new ArrayList<>();
+        dragTableVo.getSearchFieldList().forEach(item -> {
+            dragTableConditionList.add(new DragTableCondition(dragTableVo.gettId(), item));
+        });
+        dragTableConditionMapper.insertDragTableConditionByList(dragTableConditionList);
+
+
+        return 0;
+    }
 }

+ 6 - 0
ruoyi-system/src/main/resources/mapper/dragmapper/DragTableConditionMapper.xml

@@ -104,4 +104,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <include refid="selectDragTableConditionVo"/>
         where t_id = #{tId}
     </select>
+
+    <select id="selectDragTableSearchField" resultType="string">
+        select condition_field from drag_table_condition where t_id = #{tId}
+    </select>
+
+
 </mapper>

+ 26 - 0
ruoyi-system/src/main/resources/mapper/dragmapper/DragTableMapper.xml

@@ -24,6 +24,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="isSelection"   column="is_selection"/>
     </resultMap>
 
+    <resultMap type="com.ruoyi.system.entity.vo.DragTableVo" id="DragTableVoResult">
+        <result property="tId"    column="t_id"    />
+        <result property="dtName"    column="dt_name"    />
+        <result property="dtNickname"    column="dt_nickname"    />
+        <result property="tableKey"    column="table_key"    />
+        <result property="sqlKey"    column="sql_key"    />
+        <result property="dtTableName"    column="dt_table_name"    />
+        <result property="dtColumnName"    column="dt_column_name"    />
+        <result property="timeFormat" column="time_format"/>
+        <result property="isSelection"   column="is_selection"/>
+        <result property="tableSql" column="table_sql"/>
+        <result property="tableExportField" column="table_export_field"/>
+    </resultMap>
+
     <sql id="selectDragTableVo">
         select t_id, dt_name, dt_nickname, table_key, sql_key, dt_table_name,time_format, dt_notes, dt_column_name, spare, spare1, del_flag, create_by, create_time, update_by, update_time, is_selection from drag_table
     </sql>
@@ -126,4 +140,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <include refid="selectDragTableVo"/>
         where sql_key = #{sqlKey}
     </select>
+
+    <select id="selectDragTableVoByTId" resultMap="DragTableVoResult">
+        SELECT
+            dt.*,
+            ts.table_sql,
+            ts.table_export_field
+        FROM
+            drag_table dt
+                LEFT JOIN table_sql ts ON dt.sql_key = ts.sql_key
+        WHERE
+            dt.t_id = #{tId}
+    </select>
 </mapper>