From 52c97e4a810388d5ac55f12688d0d23ac3ce3402 Mon Sep 17 00:00:00 2001 From: junjun Date: Tue, 11 Feb 2025 10:39:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=95=B0=E6=8D=AE=E9=9B=86):=20=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=9B=86=E5=A2=9E=E5=8A=A0=E5=88=86=E7=BB=84=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/io/dataease/engine/utils/Utils.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/core-backend/src/main/java/io/dataease/engine/utils/Utils.java b/core/core-backend/src/main/java/io/dataease/engine/utils/Utils.java index 59c9452a61..0e87ca06bf 100644 --- a/core/core-backend/src/main/java/io/dataease/engine/utils/Utils.java +++ b/core/core-backend/src/main/java/io/dataease/engine/utils/Utils.java @@ -510,9 +510,10 @@ public class Utils { } StringBuilder exp = new StringBuilder(); - exp.append(" (CASE WHEN "); + exp.append(" (CASE "); if (originField.getDeType() == 0) { for (FieldGroupDTO fieldGroupDTO : dto.getGroupList()) { + exp.append(" WHEN "); for (int i = 0; i < fieldGroupDTO.getText().size(); i++) { String value = fieldGroupDTO.getText().get(i); exp.append(originField.getDataeaseName()).append(" = ").append("'").append(value).append("'"); @@ -524,6 +525,7 @@ public class Utils { } } else if (originField.getDeType() == 1) { for (FieldGroupDTO fieldGroupDTO : dto.getGroupList()) { + exp.append(" WHEN "); exp.append(originField.getDataeaseName()).append(" >= ").append("'").append(fieldGroupDTO.getStartTime()).append("'"); exp.append(" AND "); exp.append(originField.getDataeaseName()).append(" <= ").append("'").append(fieldGroupDTO.getEndTime()).append("'"); @@ -531,6 +533,7 @@ public class Utils { } } else if (originField.getDeType() == 2 || originField.getDeType() == 3 || originField.getDeType() == 4) { for (FieldGroupDTO fieldGroupDTO : dto.getGroupList()) { + exp.append(" WHEN "); exp.append(originField.getDataeaseName()).append(StringUtils.equalsIgnoreCase(fieldGroupDTO.getMinTerm(), "le") ? " >= " : " > ").append(fieldGroupDTO.getMin()); exp.append(" AND "); exp.append(originField.getDataeaseName()).append(StringUtils.equalsIgnoreCase(fieldGroupDTO.getMaxTerm(), "le") ? " <= " : " < ").append(fieldGroupDTO.getMax());