From d02571d59633367ac76b7f58ab38584698b1aa1b Mon Sep 17 00:00:00 2001 From: ludc Date: 星期四, 17 十月 2024 09:55:37 +0800 Subject: [PATCH] 高级查询中增加范围查询功能 --- Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSSqlKeyword.java | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 53 insertions(+), 6 deletions(-) diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSSqlKeyword.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSSqlKeyword.java index 7a2fbf4..6b2e357 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSSqlKeyword.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSSqlKeyword.java @@ -3,10 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.enums.SqlKeyword; import com.baomidou.mybatisplus.core.enums.SqlLike; -import com.baomidou.mybatisplus.core.toolkit.sql.SqlUtils; import com.github.yulichang.wrapper.MPJLambdaWrapper; -import com.vci.ubcs.starter.web.util.VciDateUtil; -import javafx.scene.input.DataFormat; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.StringUtil; @@ -41,7 +38,6 @@ private static final String NOT_NULL = "_notnull"; private static final String IGNORE = "_ignore"; - public UBCSSqlKeyword() { } @@ -57,6 +53,7 @@ } return sqlwhere; } + private static String sqlKeywordValueSqlwhere(String field, Object value, SqlKeyword operation){ String sqlwhere=""; switch(operation) { @@ -86,6 +83,7 @@ } return sqlwhere; } + private static String dateValueSqlwhere(String field, Object value, SqlKeyword operation){ String sqlwhere=""; switch(operation) { @@ -104,13 +102,15 @@ } return sqlwhere; } + public static String buildSqlwhere(Map<String, Object> query) { StringBuffer sb=new StringBuffer(); if (!Func.isEmpty(query)) { query.forEach((k, v) -> { - sb.append(" and "); - if (!Func.hasEmpty(new Object[]{k, v}) && !k.endsWith("_ignore")) { + + if (!Func.hasEmpty(new Object[]{k, v})) { + sb.append(" and "); if (k.endsWith(LIKE)) { sb.append(likeValueSqlwhere(getColumn(k,LIKE),v,SqlLike.DEFAULT)); } else if (k.endsWith(NOT_EQUAL)) { @@ -153,6 +153,7 @@ return sb.toString(); } + public static void buildCondition(Map<String, Object> query, QueryWrapper<?> qw) { if (!Func.isEmpty(query)) { query.forEach((k, v) -> { @@ -251,6 +252,52 @@ } } + public static MPJLambdaWrapper buildConditionByMapString(Map<String, String> query) { + MPJLambdaWrapper<?>qw=new MPJLambdaWrapper<>(); + if (!Func.isEmpty(query)) { + query.forEach((k, v) -> { + if (!Func.hasEmpty(new Object[]{k, v}) && !k.endsWith("_ignore")) { + if (k.endsWith("_like")) { + qw.like(getColumn(k, "_like"), v); + } else if (k.endsWith("_notequal")) { + qw.ne(getColumn(k, "_notequal"), v); + } else if (k.endsWith("_likeleft")) { + qw.likeLeft(getColumn(k, "_likeleft"), v); + } else if (k.endsWith("_likeright")) { + qw.likeRight(getColumn(k, "_likeright"), v); + } else if (k.endsWith("_notlike")) { + qw.notLike(getColumn(k, "_notlike"), v); + } else if (k.endsWith("_ge")) { + qw.ge(getColumn(k, "_ge"), v); + } else if (k.endsWith("_le")) { + qw.le(getColumn(k, "_le"), v); + } else if (k.endsWith("_gt")) { + qw.gt(getColumn(k, "_gt"), v); + } else if (k.endsWith("_lt")) { + qw.lt(getColumn(k, "_lt"), v); + } else if (k.endsWith("_datege")) { + qw.ge(getColumn(k, "_datege"), DateUtil.parse(String.valueOf(v), "yyyy-MM-dd HH:mm:ss")); + } else if (k.endsWith("_dategt")) { + qw.gt(getColumn(k, "_dategt"), DateUtil.parse(String.valueOf(v), "yyyy-MM-dd HH:mm:ss")); + } else if (k.endsWith("_dateequal")) { + qw.eq(getColumn(k, "_dateequal"), DateUtil.parse(String.valueOf(v), "yyyy-MM-dd HH:mm:ss")); + } else if (k.endsWith("_datele")) { + qw.le(getColumn(k, "_datele"), DateUtil.parse(String.valueOf(v), "yyyy-MM-dd HH:mm:ss")); + } else if (k.endsWith("_datelt")) { + qw.lt(getColumn(k, "_datelt"), DateUtil.parse(String.valueOf(v), "yyyy-MM-dd HH:mm:ss")); + } else if (k.endsWith("_null")) { + qw.isNull(getColumn(k, "_null")); + } else if (k.endsWith("_notnull")) { + qw.isNotNull(getColumn(k, "_notnull")); + } else { + qw.eq(getColumn(k, "_equal"), v); + } + + } + }); + }; + return qw; + } public static void buildConditionByMapString(Map<String, String> query, MPJLambdaWrapper<?> qw) { if (!Func.isEmpty(query)) { -- Gitblit v1.9.3