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());