From c6c9b7d3baa822765768c110304d27623f946286 Mon Sep 17 00:00:00 2001
From: pjb <123456>
Date: 星期二, 15 七月 2025 14:29:09 +0800
Subject: [PATCH] `1`
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/domain/PageParam.java | 368 +++++++++++++++++++++++++++------------------------
1 files changed, 195 insertions(+), 173 deletions(-)
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/domain/PageParam.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/domain/PageParam.java
index a1df787..58fc04b 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/domain/PageParam.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/domain/PageParam.java
@@ -1,173 +1,195 @@
-package com.zy.asrs.wms.common.domain;
-
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.zy.asrs.framework.common.Cools;
-import com.zy.asrs.framework.common.DateUtils;
-import com.zy.asrs.wms.utils.Utils;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.function.Consumer;
-
-/**
- * Created by vincent on 2/13/2024
- */
-public class PageParam<T, U extends BaseParam> extends Page<T> {
-
- private static final long serialVersionUID = 1L;
-
- private final U where;
-
- /**
- * 鏄惁鎶婂瓧娈靛悕绉伴┘宄拌浆涓嬪垝绾�
- */
- private final boolean isToUnderlineCase;
-
- private final Class<T> cls;
-
- public PageParam() {
- this(null);
- }
-
- public PageParam(U where) {
- this(where, true);
- }
-
- public PageParam(U where, Class<T> cls) {
- this(where, true, cls);
- }
-
- public PageParam(U where, boolean isToUnderlineCase) {
- this(where, isToUnderlineCase, null);
- }
-
-
- public PageParam(U where, boolean isToUnderlineCase, Class<T> cls) {
- super();
- this.where = where;
- this.isToUnderlineCase = isToUnderlineCase;
- this.cls = cls;
- if (where != null) {
- if (where.getCurrent() != null) {
- setCurrent(where.getCurrent());
- }
- if (where.getPageSize() != null) {
- setSize(where.getPageSize());
- }
- }
- }
-
- public QueryWrapper<T> buildWrapper() {
- return this.buildWrapper(false);
- }
-
- public QueryWrapper<T> buildWrapper(Consumer<QueryWrapper<T>> consumer) {
- return this.buildWrapper(false, consumer);
- }
-
- public QueryWrapper<T> buildWrapper(boolean like) {
- return this.buildWrapper(like, null);
- }
-
- @SuppressWarnings("all")
- public QueryWrapper<T> buildWrapper(boolean like, Consumer<QueryWrapper<T>> consumer) {
- QueryWrapper<T> queryWrapper = new QueryWrapper<>();
- Map<String, Object> map = where.getMap();
- for (String key : map.keySet()) {
- Object val = map.get(key);
-
- if (key.contains("Range")) {
- ArrayList<String> list = null;
- if (val instanceof ArrayList) {
- list = (ArrayList<String>) val;
- }
- if (null != list) {
- key = key.replaceAll("Range", "");
- if (this.isToUnderlineCase) {
- key = Utils.toSymbolCase(key, '_');
- }
- queryWrapper.ge(key, DateUtils.convert(list.get(0)));
- queryWrapper.le(key, DateUtils.convert(list.get(1)));
- }
- } else {
- if (this.isToUnderlineCase) {
- key = Utils.toSymbolCase(key, '_');
- }
- if (like) {
- queryWrapper.like(key, val);
- } else {
- queryWrapper.eq(key, val);
- }
-
- }
- }
-
- if (null != consumer) {
- consumer.accept(queryWrapper);
- }
-
- Field[] fields = null;
- if (!Cools.isEmpty(cls)) {
- fields = Cools.getAllFields(cls);
- for (Field field : fields) {
- if ("createTime".equals(field.getName())) {
- queryWrapper.orderByDesc(Utils.toSymbolCase(field.getName(), '_'));
- }
- }
- }
-
- if (!Cools.isEmpty(where.getCondition()) && !Cools.isEmpty(fields)) {
- List<String> columns = new ArrayList<>();
- for (Field field : fields){
- if (Modifier.isFinal(field.getModifiers())
- || Modifier.isStatic(field.getModifiers())
- || Modifier.isTransient(field.getModifiers())){
- continue;
- }
-
- if (field.isAnnotationPresent(TableField.class)){
- TableField annotation = field.getAnnotation(TableField.class);
- if (!annotation.exist()) {
- continue;
- }
- }
-
- String column = Utils.toSymbolCase(field.getName(), '_');
- columns.add(column);
- }
- if (!columns.isEmpty()) {
- for (int i=0;i<columns.size();i++){
- String column = columns.get(i);
- String condition = where.getCondition();
-
- if (i == 0) {
- queryWrapper.and(wrapper -> wrapper.like(column, condition));
- } else {
- queryWrapper.or().like(column, condition);
- }
- }
- }
- }
- return queryWrapper;
- }
-
- public Map<String, Object> pickOutMap() {
- return pickOutMap(false);
- }
-
- public Map<String, Object> pickOutMap(boolean mergeCondition) {
- Map<String, Object> map = where.getMap();
- if (mergeCondition) {
- if (!Cools.isEmpty(where.getCondition())) {
- map.put("condition", where.getCondition());
- }
- }
- return map;
- }
-
-}
+package com.zy.asrs.wms.common.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zy.asrs.framework.common.Cools;
+import com.zy.asrs.framework.common.DateUtils;
+import com.zy.asrs.wms.utils.Utils;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Consumer;
+
+/**
+ * Created by vincent on 2/13/2024
+ */
+public class PageParam<T, U extends BaseParam> extends Page<T> {
+
+ private static final long serialVersionUID = 1L;
+
+ private final U where;
+
+ /**
+ * 鏄惁鎶婂瓧娈靛悕绉伴┘宄拌浆涓嬪垝绾�
+ */
+ private final boolean isToUnderlineCase;
+
+ private final Class<T> cls;
+
+ public PageParam() {
+ this(null);
+ }
+
+ public PageParam(U where) {
+ this(where, true);
+ }
+
+ public PageParam(U where, Class<T> cls) {
+ this(where, true, cls);
+ }
+
+ public PageParam(U where, boolean isToUnderlineCase) {
+ this(where, isToUnderlineCase, null);
+ }
+
+
+ public PageParam(U where, boolean isToUnderlineCase, Class<T> cls) {
+ super();
+ this.where = where;
+ this.isToUnderlineCase = isToUnderlineCase;
+ this.cls = cls;
+ if (where != null) {
+ if (where.getCurrent() != null) {
+ setCurrent(where.getCurrent());
+ }
+ if (where.getPageSize() != null) {
+ setSize(where.getPageSize());
+ }
+ }
+ }
+
+ public QueryWrapper<T> buildWrapper() {
+ return this.buildWrapper(false);
+ }
+
+ public QueryWrapper<T> buildWrapper(Consumer<QueryWrapper<T>> consumer) {
+ return this.buildWrapper(false, consumer);
+ }
+
+ public QueryWrapper<T> buildWrapper(boolean like) {
+ return this.buildWrapper(like, null);
+ }
+
+ @SuppressWarnings("all")
+ public QueryWrapper<T> buildWrapper(boolean like, Consumer<QueryWrapper<T>> consumer) {
+ QueryWrapper<T> queryWrapper = new QueryWrapper<>();
+ Map<String, Object> map = where.getMap();
+ for (String key : map.keySet()) {
+ Object val = map.get(key);
+ if (val == null) {
+ continue;
+ }
+
+ if (key.contains("Range")) {
+ ArrayList<String> list = null;
+ if (val instanceof ArrayList) {
+ list = (ArrayList<String>) val;
+ }
+ if (null != list) {
+ key = key.replaceAll("Range", "");
+ if (this.isToUnderlineCase) {
+ key = Utils.toSymbolCase(key, '_');
+ }
+ queryWrapper.ge(key, DateUtils.convert(list.get(0)));
+ queryWrapper.le(key, DateUtils.convert(list.get(1)));
+ }
+ } else if (key.equals("_param")) {
+ Map param = (Map) val;
+ for (Object value : param.entrySet()) {
+ Map.Entry entry = (Map.Entry) value;
+ String paramKey = entry.getKey().toString();
+ if (this.isToUnderlineCase) {
+ paramKey = Utils.toSymbolCase(paramKey, '_');
+ }
+ if (!Cools.isEmpty(entry.getValue())) {
+ queryWrapper.like(paramKey, entry.getValue());
+ }
+ }
+ } else if (val instanceof List) {
+ if (this.isToUnderlineCase) {
+ key = Utils.toSymbolCase(key, '_');
+ }
+ queryWrapper.in(key, (List) val);
+ } else {
+ if (this.isToUnderlineCase) {
+ key = Utils.toSymbolCase(key, '_');
+ }
+ if (like) {
+ queryWrapper.like(key, val);
+ } else {
+ queryWrapper.eq(key, val);
+ }
+
+ }
+ }
+
+ if (null != consumer) {
+ consumer.accept(queryWrapper);
+ }
+
+ Field[] fields = null;
+ if (!Cools.isEmpty(cls)) {
+ fields = Cools.getAllFields(cls);
+ for (Field field : fields) {
+ if ("id".equals(field.getName())) {
+ queryWrapper.orderByDesc("id");
+ } else if ("createTime".equals(field.getName())) {
+ queryWrapper.orderByDesc(Utils.toSymbolCase(field.getName(), '_'));
+ }
+ }
+ }
+
+ if (!Cools.isEmpty(where.getCondition()) && !Cools.isEmpty(fields)) {
+ List<String> columns = new ArrayList<>();
+ for (Field field : fields){
+ if (Modifier.isFinal(field.getModifiers())
+ || Modifier.isStatic(field.getModifiers())
+ || Modifier.isTransient(field.getModifiers())){
+ continue;
+ }
+
+ if (field.isAnnotationPresent(TableField.class)){
+ TableField annotation = field.getAnnotation(TableField.class);
+ if (!annotation.exist()) {
+ continue;
+ }
+ }
+
+ String column = Utils.toSymbolCase(field.getName(), '_');
+ columns.add(column);
+ }
+ if (!columns.isEmpty()) {
+ for (int i=0;i<columns.size();i++){
+ String column = columns.get(i);
+ String condition = where.getCondition();
+
+ if (i == 0) {
+ queryWrapper.and(wrapper -> wrapper.like(column, condition));
+ } else {
+ queryWrapper.or().like(column, condition);
+ }
+ }
+ }
+ }
+ return queryWrapper;
+ }
+
+ public Map<String, Object> pickOutMap() {
+ return pickOutMap(false);
+ }
+
+ public Map<String, Object> pickOutMap(boolean mergeCondition) {
+ Map<String, Object> map = where.getMap();
+ if (mergeCondition) {
+ if (!Cools.isEmpty(where.getCondition())) {
+ map.put("condition", where.getCondition());
+ }
+ }
+ return map;
+ }
+
+}
--
Gitblit v1.9.1