liusheng
11 小时以前 ee168c490da9ac9a82422d1bcd2ac60c0a7bc1c8
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;";