From ee168c490da9ac9a82422d1bcd2ac60c0a7bc1c8 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 25 三月 2026 16:06:35 +0800
Subject: [PATCH] 模糊查询时,创建的存储过程没有带QUOTE,导致报错

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/CreateDataTable.java |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/CreateDataTable.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/CreateDataTable.java
index d8cab10..c711623 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/CreateDataTable.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/CreateDataTable.java
@@ -220,11 +220,11 @@
                     // varchar / char / text 绛夊瓧绗︿覆绫诲瀷
                     if (dataType.contains("char") || dataType.contains("text") || dataType.contains("enum")) {
                         if (colName.equals("deptcode")) {
-                            activeParams.add(new Object[]{"p_" + colName, colName, "in", colType});
+                            activeParams.add(new Object[]{"p_" + colName, colName, "in", "TEXT"});
                             break;
                         }
                         if (colName.equals("hospitaldistrictcode")) {
-                            activeParams.add(new Object[]{"p_" + colName, colName, "in", colType});
+                            activeParams.add(new Object[]{"p_" + colName, colName, "in", "TEXT"});
                             break;
                         }
                         String kind = forceEqCols.contains(colName) ? "eq" : (eqPattern.matcher(colName).find() ? "eq" : "like");
@@ -268,8 +268,8 @@
                     line = "  IF " + pName + " IS NOT NULL THEN SET @cond=CONCAT(@cond,' AND " + col + "=',QUOTE(" + pName + ")); END IF;";
                     break;
                 case "like":
-                    // MySQL 瀛樺偍杩囩▼鍐� '' 琛ㄧず涓�涓崟寮曞彿
-                    line = "  IF " + pName + " IS NOT NULL THEN SET @cond=CONCAT(@cond,' AND " + col + " LIKE CONCAT(''%''," + pName + ",''%'')'); END IF;";
+                    // 蹇呴』鐢� QUOTE() 鎶婂�煎睍寮�鍒板瓧绗︿覆閲岋紝鍚﹀垯 PREPARE 鎵ц鏃跺弬鏁板悕琚綋鍒楀悕
+                    line = "  IF " + pName + " IS NOT NULL THEN SET @cond=CONCAT(@cond,' AND " + col + " LIKE CONCAT(''%'',',QUOTE(" + pName + "),',''%'')'); END IF;";
                     break;
                 case "date_ge":
                     line = "  IF " + pName + " IS NOT NULL THEN SET @cond=CONCAT(@cond,' AND " + col + ">=',QUOTE(" + pName + ")); END IF;";

--
Gitblit v1.9.3