From cfededd9721be4322e660fc879f11a806fcc7963 Mon Sep 17 00:00:00 2001
From: weidy <lastanimals@163.com>
Date: 星期二, 20 六月 2023 17:07:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSSqlKeyword.java |   50 +++++++++++++++++++++++++++++++-------------------
 1 files changed, 31 insertions(+), 19 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 3e45663..71ae42e 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
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.vci.ubcs.starter.web.util.VciDateUtil;
 import org.springblade.core.tool.utils.DateUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringUtil;
@@ -35,6 +36,7 @@
 	private static final String IS_NULL = "_null";
 	private static final String NOT_NULL = "_notnull";
 	private static final String IGNORE = "_ignore";
+
 
 	public UBCSSqlKeyword() {
 	}
@@ -84,50 +86,59 @@
 		}
 	}
 
+	public static void buildConditionByAs(Map<String, Object> query, MPJLambdaWrapper<?> qw, String tableAlias){
+		buildConditionMPJ(query,qw,tableAlias);
+	}
+
 	public static void buildCondition(Map<String, Object> query, MPJLambdaWrapper<?> qw) {
+		buildConditionMPJ(query,qw,null);
+	}
+
+	private static void buildConditionMPJ(Map<String, Object> query, MPJLambdaWrapper<?> qw, String tableAlias){
 		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);
+						qw.like(tableAlias+"."+getColumn(k, "_like"), v);
 					} else if (k.endsWith("_notequal")) {
-						qw.ne(getColumn(k, "_notequal"), v);
+						qw.ne(tableAlias+"."+getColumn(k, "_notequal"), v);
 					} else if (k.endsWith("_likeleft")) {
-						qw.likeLeft(getColumn(k, "_likeleft"), v);
+						qw.likeLeft(tableAlias+"."+getColumn(k, "_likeleft"), v);
 					} else if (k.endsWith("_likeright")) {
-						qw.likeRight(getColumn(k, "_likeright"), v);
+						qw.likeRight(tableAlias+"."+getColumn(k, "_likeright"), v);
 					} else if (k.endsWith("_notlike")) {
-						qw.notLike(getColumn(k, "_notlike"), v);
+						qw.notLike(tableAlias+"."+getColumn(k, "_notlike"), v);
 					} else if (k.endsWith("_ge")) {
-						qw.ge(getColumn(k, "_ge"), v);
+						qw.ge(tableAlias+"."+getColumn(k, "_ge"), v);
 					} else if (k.endsWith("_le")) {
-						qw.le(getColumn(k, "_le"), v);
+						qw.le(tableAlias+"."+getColumn(k, "_le"), v);
 					} else if (k.endsWith("_gt")) {
-						qw.gt(getColumn(k, "_gt"), v);
+						qw.gt(tableAlias+"."+getColumn(k, "_gt"), v);
 					} else if (k.endsWith("_lt")) {
-						qw.lt(getColumn(k, "_lt"), v);
+						qw.lt(tableAlias+"."+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"));
+						qw.ge(tableAlias+"."+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"));
+						qw.gt(tableAlias+"."+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"));
+						qw.eq(tableAlias+"."+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"));
+						qw.le(tableAlias+"."+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"));
+						qw.lt(tableAlias+"."+getColumn(k, "_datelt"), DateUtil.parse(String.valueOf(v), "yyyy-MM-dd HH:mm:ss"));
 					} else if (k.endsWith("_null")) {
-						qw.isNull(getColumn(k, "_null"));
+						qw.isNull(tableAlias+"."+getColumn(k, "_null"));
 					} else if (k.endsWith("_notnull")) {
-						qw.isNotNull(getColumn(k, "_notnull"));
+						qw.isNotNull(tableAlias+"."+getColumn(k, "_notnull"));
 					} else {
-						qw.eq(getColumn(k, "_equal"), v);
+						qw.eq(tableAlias+"."+getColumn(k, "_equal"), v);
 					}
 
 				}
 			});
 		}
 	}
+
 
 	public static void buildConditionByMapString(Map<String, String> query, MPJLambdaWrapper<?> qw) {
 		if (!Func.isEmpty(query)) {
@@ -225,13 +236,14 @@
 	 * @param keyword
 	 * @return
 	 */
-	private static String getColumn(String column, String keyword) {
+	public static String getColumn(String column, String keyword) {
 		//娌℃湁杞笅鍒掔嚎鏄犲皠
-		return StringUtil.removeSuffix(column, keyword).toLowerCase(Locale.ROOT);
+		return StringUtil.removeSuffix(column, keyword).toLowerCase(Locale.ROOT).trim();
 	}
 
 	public static String filter(String param) {
 		return param == null ? null : param.replaceAll("(?i)'|%|--|insert|delete|select|count|group|union|drop|truncate|alter|grant|execute|exec|xp_cmdshell|call|declare|sql", "");
 	}
 
+
 }

--
Gitblit v1.9.3