From 5677cf19400eca6985fb9cd5d501b35691cdf193 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期日, 10 三月 2024 20:18:04 +0800
Subject: [PATCH] 集成相关代码更改
---
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSCondition.java | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 100 insertions(+), 0 deletions(-)
diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSCondition.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSCondition.java
index 1f63213..da68a2d 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSCondition.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSCondition.java
@@ -1,16 +1,23 @@
package com.vci.ubcs.starter.util;
+import com.alibaba.cloud.commons.lang.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.vci.ubcs.starter.web.constant.QueryOptionConstant;
+import com.vci.ubcs.starter.web.util.VciBaseUtil;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
import java.util.Map;
/**
@@ -21,6 +28,11 @@
* @date 2023/6/6 15:26
*/
public class UBCSCondition {
+
+ /**
+ * 绌烘牸
+ */
+ public static final String SPACE = " ";
public UBCSCondition() {
}
@@ -133,4 +145,92 @@
return qw;
}
+ public static String getWhereSqlByMap(Map<String, String> conditionMap){
+ List<String> whereSqlList = new ArrayList<>();
+ conditionMap.forEach((key,value)->{
+ String sql = "";
+ // 涓嶄负绌烘墠鍘绘嫾鎺�
+ if(!Func.hasEmpty(new Object[]{key, value}) && !key.endsWith("_ignore")){
+ if (key.endsWith("_like")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_like");
+ sql = field + SPACE + "LIKE" + SPACE + "'%" + value + "%'" + SPACE;
+ } else if (key.endsWith("_notequal")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_notequal");
+ sql = field + SPACE + " != " + value + SPACE;
+ } else if (key.endsWith("_likeleft")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_likeleft");
+ sql = field + SPACE + "LIKE" + SPACE + "%" + value + SPACE;
+ } else if (key.endsWith("_likeright")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_likeright");
+ sql = field + SPACE + "LIKE" + SPACE + value + "%" + SPACE;
+ } else if (key.endsWith("_notlike")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_notlike");
+ sql = field + SPACE + "NO LIKE" + SPACE + "%" + value + "%" + SPACE;
+ } else if (key.endsWith("_ge")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_ge");
+ sql = field + SPACE + " >= " + value + SPACE;
+ } else if (key.endsWith("_le")) {
+ //璇存槑鏄�<=鐨勩�傛垜浠渶瑕佸厛鑾峰彇涓�涓�
+ String field = UBCSSqlKeyword.getColumn(key, "_le");
+ sql = field + SPACE + " <= " + value + "" + SPACE;
+ } else if (key.endsWith("_gt")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_gt");
+ sql = field + SPACE + "> " + value + SPACE;
+ } else if (key.endsWith("_lt")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_lt");
+ sql = field + SPACE + "< " + value + SPACE;
+ } else if (key.endsWith("_datege")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_datege");
+ sql = field + SPACE + ">= '" + DateUtil.parse(String.valueOf(value), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+ } else if (key.endsWith("_dategt")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_dategt");
+ sql = field + SPACE + "> '" + DateUtil.parse(String.valueOf(value), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+ } else if (key.endsWith("_dateequal")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_dateequal");
+ sql = field + SPACE + "= '" + DateUtil.parse(String.valueOf(value), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+ } else if (key.endsWith("_datele")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_datele");
+ sql = field + SPACE + "<= '" + DateUtil.parse(String.valueOf(value), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+ } else if (key.endsWith("_datelt")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_datelt");
+ sql = field + SPACE + "< '" + DateUtil.parse(String.valueOf(value), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+ } else if (key.endsWith("_null")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_null");
+ sql = field + SPACE + "IS NULL" + SPACE;
+ } else if (key.endsWith("_notnull")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_notnull");
+ sql = field + SPACE + "IS NOT NULL" + SPACE;
+ } else if (key.endsWith("_dateequal")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_dateequal");
+ sql = field + SPACE + "= '" + DateUtil.parse(String.valueOf(value), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+ } else if (key.endsWith("_equal")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_equal");
+ sql = field + SPACE + "= '" + value + "'" + SPACE;
+ } else if(key.endsWith("_in")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_in");
+ sql = VciBaseUtil.toInSql(field,value);
+ } else if(key.endsWith("_notin")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_notin");
+ sql = VciBaseUtil.toInSql(field,value);
+ }else{
+ sql = key + "='" + value + "'";
+ }
+ if(!sql.isEmpty()){
+ whereSqlList.add(sql);
+ }
+ }
+ });
+ //缁勫悎璧锋潵
+ StringBuilder andSb = new StringBuilder();
+ whereSqlList.stream().forEach(s -> {
+ andSb.append(s).append(SPACE).append(QueryOptionConstant.AND).append(SPACE);
+ });
+ String andString = andSb.toString().trim();
+ String endWithSql = QueryOptionConstant.AND;
+ if (andString.endsWith(endWithSql)) {
+ andString = andString.substring(0, andString.length() - endWithSql.length());
+ }
+ return andString;
+ }
+
}
--
Gitblit v1.9.3