Jelajahi Sumber

动态表格新增联查sql接口优化

韩帛霖 1 tahun lalu
induk
melakukan
6c969dd1f5

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

@@ -77,7 +77,7 @@ public class DragFormServiceImpl implements IDragFormService {
         dragForm.setCreateTime(DateUtils.getNowDate());
 
         //校验dtId是否唯一
-        if(dragTableFormMapper.selectDtIdCount(dragForm.getDtId()) > 0){
+        if (dragTableFormMapper.selectDtIdCount(dragForm.getDtId()) > 0) {
             return AjaxResult.warn("该表格已绑定表单!");
         }
         //新增表单
@@ -103,7 +103,8 @@ public class DragFormServiceImpl implements IDragFormService {
         // 修改的时候删除表单源文件后重新创建
         delFileForm(dragForm.getfId());
         dragForm.setUpdateTime(DateUtils.getNowDate());
-        return dragFormMapper.updateDragForm(dragForm);
+        dragFormMapper.updateDragForm(dragForm);
+        return 1;
     }
 
     /**
@@ -152,6 +153,7 @@ public class DragFormServiceImpl implements IDragFormService {
     public void delFileForm(Long fId) {
         DragForm dragForm = dragFormMapper.selectDragFormByFId(fId);
         File file = new File(dragForm.getDfFliePath());
+        if (file == null) return;
         if (file.delete()) {
             System.out.println("删除文件成功!");
         } else {

+ 14 - 7
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/DragTableServiceImpl.java

@@ -143,10 +143,17 @@ public class DragTableServiceImpl implements IDragTableService {
         return commonEntity;
     }
 
-    static String SQL_START = "CONCAT(";
-    static final String SQL_MIDDLE = "IFNULL( #{VAL}, '' )";
-    static final String SQLSERVER_MIDDLE = "COALESCE( #{VAL}, '' )";
-    static final String SQL_END = "LIKE '%#{val}%'";
+    // SQL 条件的开始
+    public String SQL_START = "CONCAT(";
+
+    // SQL 超级查询常量
+    public String SQL_MIDDLE = "IFNULL( #{VAL}, '' )";
+
+    // sqlserver 数据类型的超级查询常量
+    public String SQLSERVER_MIDDLE = "COALESCE( #{VAL}, '' )";
+
+    // SQL 条件的结束
+    public String SQL_END = "LIKE '%#{val}%'";
 
     @Transactional
     @Override
@@ -165,7 +172,7 @@ public class DragTableServiceImpl implements IDragTableService {
         tableSql.setTableSql(dragTableVo.getTableSql());
         dragTableMapper.insertDragTable(dragTable);
         // 拼接sql查询条件
-        switch ("MYSQL") {
+        switch (SecurityUtils.getDatabaseType().toUpperCase()) {
             case "MYSQL":
             case "DM":
                 for (int i = 0; dragTableVo.getSearchFieldList().size() > i; i++) {
@@ -221,8 +228,9 @@ public class DragTableServiceImpl implements IDragTableService {
         //update table_sql
         TableSql tableSql = new TableSql();
         tableSql.setTableSql(dragTableVo.getTableSql());
+
         // 拼接sql查询条件
-        switch ("MYSQL") {
+        switch (SecurityUtils.getDatabaseType().toUpperCase()) {
             case "MYSQL":
             case "DM":
                 for (int i = 0; dragTableVo.getSearchFieldList().size() > i; i++) {
@@ -249,7 +257,6 @@ public class DragTableServiceImpl implements IDragTableService {
         tableSql.setSqlKey(dragTableVo.getSqlKey());
         tableSql.setTableExportField(JSON.toJSONString(dragTableVo.getTableExportField()));
         tableSqlMapper.updateTableSqlBySqlKey(tableSql);
-
         //update drag_table_condition
         if (dragTableVo.getSearchFieldList().size() > 0) {
             //delete

+ 58 - 42
ruoyi-system/src/main/java/com/ruoyi/system/test/ljj.java

@@ -3,6 +3,8 @@ package com.ruoyi.system.test;
 import com.alibaba.fastjson2.JSON;
 import org.apache.ibatis.jdbc.SQL;
 
+import java.time.DayOfWeek;
+import java.time.LocalDate;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -22,49 +24,63 @@ public class ljj {
     public static void main(String[] args) {
 
 
-        if (true) {
-            test2(1);
-            return;
-        }
-
-        List<String> tests = new ArrayList<>();
-
-        tests.add("name");
-        tests.add("age");
-        tests.add("sex");
-        tests.add("rem");
-        tests.add("pass");
-        //  NAME || age LIKE '%18%'
-        //  CONCAT ( COALESCE ( name, '' ), COALESCE ( age, '' ) ) LIKE '%18%';
-        //  CONCAT(
-        //	IFNULL( `name`, '' ),
-        //	IFNULL( `age`, '' )
-        //	) LIKE '%#{val}%'
-
-        switch ("ORACLE") {
-            case "MYSQL":
-            case "DM":
-                for (int i = 0; tests.size() > i; i++) {
-                    SQL_START += SQL_MIDDLE.replace("#{VAL}", tests.get(i));
-                    SQL_START += tests.size() - 1 == i ? ")" : ",\n";
-                }
-                break;
-            case "SQLSERVER":
-                for (int i = 0; tests.size() > i; i++) {
-                    SQL_START += SQLSERVER_MIDDLE.replace("#{VAL}", tests.get(i));
-                    SQL_START += tests.size() - 1 == i ? ")" : ",\n";
-                }
-                break;
-            case "ORACLE":
-                SQL_START = "";
-                for (int i = 0; tests.size() > i; i++) {
-                    SQL_START += tests.get(i);
-                    SQL_START += tests.size() - 1 == i ? " " : "||";
-                }
-                break;
-        }
 
-        System.out.println(SQL_START + SQL_END);
+        // 获取当前日期
+        LocalDate today = LocalDate.now();
+
+        // 获取当前星期几
+        int dayOfWeekNumber = today.getDayOfWeek().getValue();
+
+        // 根据星期几的数字值获取对应的星期几的枚举值
+        DayOfWeek dayOfWeek = DayOfWeek.of(dayOfWeekNumber);
+
+        // 输出当前日期和对应的星期几的枚举值
+        System.out.println("Today's date is " + today + " which is " + dayOfWeek);
+
+
+//        if (true) {
+//            test2(1);
+//            return;
+//        }
+//
+//        List<String> tests = new ArrayList<>();
+//
+//        tests.add("name");
+//        tests.add("age");
+//        tests.add("sex");
+//        tests.add("rem");
+//        tests.add("pass");
+//        //  NAME || age LIKE '%18%'
+//        //  CONCAT ( COALESCE ( name, '' ), COALESCE ( age, '' ) ) LIKE '%18%';
+//        //  CONCAT(
+//        //	IFNULL( `name`, '' ),
+//        //	IFNULL( `age`, '' )
+//        //	) LIKE '%#{val}%'
+//
+//        switch ("ORACLE") {
+//            case "MYSQL":
+//            case "DM":
+//                for (int i = 0; tests.size() > i; i++) {
+//                    SQL_START += SQL_MIDDLE.replace("#{VAL}", tests.get(i));
+//                    SQL_START += tests.size() - 1 == i ? ")" : ",\n";
+//                }
+//                break;
+//            case "SQLSERVER":
+//                for (int i = 0; tests.size() > i; i++) {
+//                    SQL_START += SQLSERVER_MIDDLE.replace("#{VAL}", tests.get(i));
+//                    SQL_START += tests.size() - 1 == i ? ")" : ",\n";
+//                }
+//                break;
+//            case "ORACLE":
+//                SQL_START = "";
+//                for (int i = 0; tests.size() > i; i++) {
+//                    SQL_START += tests.get(i);
+//                    SQL_START += tests.size() - 1 == i ? " " : "||";
+//                }
+//                break;
+//        }
+//
+//        System.out.println(SQL_START + SQL_END);
     }