From b11b45122d2b6903e8970e8d55712f7a6a657e22 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期三, 10 一月 2024 00:01:10 +0800 Subject: [PATCH] defaultReferDataGrid接口修改,实现兼容高级查询sql拼接;修改流水处理接口,增加流水处理跳出判断 --- Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSCondition.java | 95 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 95 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 64b0fc0..c015273 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 @@ -6,14 +6,18 @@ 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; /** @@ -24,6 +28,11 @@ * @date 2023/6/6 15:26 */ public class UBCSCondition { + + /** + * 绌烘牸 + */ + public static final String SPACE = " "; public UBCSCondition() { } @@ -136,4 +145,90 @@ 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); + } + 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