| | |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * UBCSSqlKeyword |
| | | * UBCSSqlKeyword,高级查询不传的时候默认是_equal |
| | | * map转wrapper时用到的比对转换 |
| | | * @author ludc |
| | | * @date 2023/06/06 10:01 |
| | |
| | | if (!Func.isEmpty(query)) { |
| | | query.forEach((k, v) -> { |
| | | if (!Func.hasEmpty(new Object[]{k, v}) && !k.endsWith("_ignore")) { |
| | | if (k.endsWith("_equal")) { |
| | | qw.eq(getColumn(k, "_equal"), v); |
| | | 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")) { |
| | |
| | | } else if (k.endsWith("_notnull")) { |
| | | qw.isNotNull(getColumn(k, "_notnull")); |
| | | } else { |
| | | qw.like(getColumn(k, "_like"), v); |
| | | qw.eq(getColumn(k, "_equal"), v); |
| | | } |
| | | |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | 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("_equal")) { |
| | | qw.eq(getColumn(k, "_equal"), v); |
| | | if (k.endsWith("_like")) { |
| | | 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.like(getColumn(k, "_like"), v); |
| | | qw.eq(tableAlias+"."+getColumn(k, "_equal"), v); |
| | | } |
| | | |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | |
| | | public static void buildConditionByMapString(Map<String, String> query, MPJLambdaWrapper<?> qw) { |
| | | if (!Func.isEmpty(query)) { |
| | | query.forEach((k, v) -> { |
| | | if (!Func.hasEmpty(new Object[]{k, v}) && !k.endsWith("_ignore")) { |
| | | if (k.endsWith("_equal")) { |
| | | qw.eq(getColumn(k, "_equal"), v); |
| | | 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")) { |
| | |
| | | } else if (k.endsWith("_notnull")) { |
| | | qw.isNotNull(getColumn(k, "_notnull")); |
| | | } else { |
| | | qw.like(getColumn(k, "_like"), v); |
| | | qw.eq(getColumn(k, "_equal"), v); |
| | | } |
| | | |
| | | } |
| | |
| | | if (!Func.isEmpty(query)) { |
| | | query.forEach((k, v) -> { |
| | | if (!Func.hasEmpty(new Object[]{k, v}) && !k.endsWith("_ignore")) { |
| | | if (k.endsWith("_equal")) { |
| | | qw.eq(getColumn(k, "_equal"), v); |
| | | 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")) { |
| | |
| | | } else if (k.endsWith("_notnull")) { |
| | | qw.isNotNull(getColumn(k, "_notnull")); |
| | | } else { |
| | | qw.like(getColumn(k, "_like"), v); |
| | | qw.eq(getColumn(k, "_equal"), v); |
| | | } |
| | | |
| | | } |
| | |
| | | } |
| | | |
| | | /** |
| | | * 目前考虑一种特殊情况,在做连表查询的时候,因为查询条件是map转wrapper, |
| | | * 这样就会出现未明确定义列的错误,所以需要考虑在何处来做处理, |
| | | * 获取列名,没有转下划线映射 |
| | | * @param column |
| | | * @param keyword |
| | | * @return |
| | | */ |
| | | private static String getColumn(String column, String keyword) { |
| | | |
| | | //没有转下划线映射 |
| | | return StringUtil.removeSuffix(column, keyword).toLowerCase(Locale.ROOT); |
| | | } |