From 21a11b307636f93deea8ddb5d1d2afc5486af9b2 Mon Sep 17 00:00:00 2001 From: tangwei Date: Tue, 2 Jun 2026 16:34:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wq/service/impl/EnvWqDataServiceImpl.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/backend/src/main/java/com/yfd/platform/qgc_env/wq/service/impl/EnvWqDataServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_env/wq/service/impl/EnvWqDataServiceImpl.java index f4c224b2..b0e7efd7 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_env/wq/service/impl/EnvWqDataServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/qgc_env/wq/service/impl/EnvWqDataServiceImpl.java @@ -1455,6 +1455,24 @@ public class EnvWqDataServiceImpl implements EnvWqDataService { case "contains": paramMap.put(key, "%" + filter.getValue() + "%"); return column + " LIKE #{map." + key + "}"; + case "in": { + List list = null; + if (filter.getValue() instanceof List l) { + list = l; + } else if (filter.getValue() instanceof Object[] arr) { + list = Arrays.asList(arr); + } + if (list != null && !list.isEmpty()) { + List placeholders = new ArrayList<>(); + for (Object item : list) { + String itemKey = "envWqParam" + indexHolder[0]++; + paramMap.put(itemKey, item); + placeholders.add("#{map." + itemKey + "}"); + } + return column + " IN (" + String.join(", ", placeholders) + ")"; + } + return ""; + } default: return ""; }