From 02eb9d41eb2f201ce18d8481f56d82fb89641d42 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 16 二月 2024 20:54:15 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/PageParam.java |  199 ++++++++++++++++++++-----------------------------
 1 files changed, 83 insertions(+), 116 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/PageParam.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/PageParam.java
index f94705f..82f0a05 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/PageParam.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/PageParam.java
@@ -1,17 +1,11 @@
 package com.zy.asrs.wcs.common.domain;
 
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableLogic;
 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.domain.QueryField;
-import com.zy.asrs.framework.domain.QueryType;
+import com.zy.asrs.framework.common.DateUtils;
 import com.zy.asrs.wcs.utils.Utils;
 
-import java.lang.reflect.Field;
-import java.util.Arrays;
-import java.util.List;
+import java.util.ArrayList;
 import java.util.Map;
 
 /**
@@ -50,124 +44,97 @@
         }
     }
 
-    /**
-     * @param excludes 涓嶅寘鍚殑瀛楁
-     */
-    public QueryWrapper<T> getWrapper(String... excludes) {
-        return buildWrapper(null, Arrays.asList(excludes));
+    public QueryWrapper<T> buildWrapper() {
+        return this.buildWrapper(false);
     }
 
-    /**
-     * @param columns 鍙寘鍚殑瀛楁
-     */
-    public QueryWrapper<T> getWrapperWith(String... columns) {
-        return buildWrapper(Arrays.asList(columns), null);
-    }
-
-
-    private QueryWrapper<T> buildWrapper(List<String> columns, List<String> excludes) {
+    @SuppressWarnings("all")
+    public QueryWrapper<T> buildWrapper(boolean like) {
         QueryWrapper<T> queryWrapper = new QueryWrapper<>();
-        Map<String, Object> map = Cools.conver(where);
-        for (String fieldName : map.keySet()) {
-            Object fieldValue = map.get(fieldName);
-            Field field = Cools.getField(where.getClass(), fieldName);
-            assert field != null;
-            // 杩囨护涓嶅寘鍚殑瀛楁
-            if (columns != null && !columns.contains(fieldName)) {
-                continue;
-            }
+        Map<String, Object> map = where.getMap();
+        for (String key : map.keySet()) {
+            Object val = map.get(key);
 
-            // 杩囨护鎺掗櫎鐨勫瓧娈�
-            if (excludes != null && excludes.contains(fieldName)) {
-                continue;
-            }
-
-            // 杩囨护閫昏緫鍒犻櫎瀛楁
-            if (field.getAnnotation(TableLogic.class) != null) {
-                continue;
-            }
-
-            // 杩囨护绉熸埛id瀛楁
-            if (fieldName.equals("hostId")) {
-                continue;
-            }
-
-            // 鑾峰彇娉ㄨВ鎸囧畾鐨勬煡璇㈠瓧娈靛強鏌ヨ鏂瑰紡
-            QueryType queryType = QueryType.LIKE;
-            QueryField queryField = field.getAnnotation(QueryField.class);
-            if (queryField != null) {
-                if (!Cools.isEmpty(queryField.value())) {
-                    fieldName = queryField.value();
+            if (key.contains("Range")) {
+                ArrayList<String> list = null;
+                if (val instanceof ArrayList) {
+                    list = (ArrayList<String>) val;
                 }
-                queryField.type();
-                queryType = queryField.type();
+                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 {
-                // 杩囨护闈炴湰琛ㄧ殑瀛楁
-                TableField tableField = field.getAnnotation(TableField.class);
-                if (tableField != null && !tableField.exist()) {
-                    continue;
+                if (this.isToUnderlineCase) {
+                    key = Utils.toSymbolCase(key, '_');
                 }
+                if (like) {
+                    queryWrapper.like(key, val);
+                } else {
+                    queryWrapper.eq(key, val);
+                }
+
             }
 
-            // 瀛楁鍚嶉┘宄拌浆涓嬪垝绾�
-            if (this.isToUnderlineCase) {
-                fieldName = Utils.toSymbolCase(fieldName, '_');
-            }
 
-            switch (queryType) {
-                case EQ:
-                    queryWrapper.eq(fieldName, fieldValue);
-                    break;
-                case NE:
-                    queryWrapper.ne(fieldName, fieldValue);
-                    break;
-                case GT:
-                    queryWrapper.gt(fieldName, fieldValue);
-                    break;
-                case GE:
-                    queryWrapper.ge(fieldName, fieldValue);
-                    break;
-                case LT:
-                    queryWrapper.lt(fieldName, fieldValue);
-                    break;
-                case LE:
-                    queryWrapper.le(fieldName, fieldValue);
-                    break;
-                case LIKE:
-                    queryWrapper.like(fieldName, fieldValue);
-                    break;
-                case NOT_LIKE:
-                    queryWrapper.notLike(fieldName, fieldValue);
-                    break;
-                case LIKE_LEFT:
-                    queryWrapper.likeLeft(fieldName, fieldValue);
-                    break;
-                case LIKE_RIGHT:
-                    queryWrapper.likeRight(fieldName, fieldValue);
-                    break;
-                case IS_NULL:
-                    queryWrapper.isNull(fieldName);
-                    break;
-                case IS_NOT_NULL:
-                    queryWrapper.isNotNull(fieldName);
-                    break;
-                case IN:
-                    queryWrapper.in(fieldName, fieldValue);
-                    break;
-                case NOT_IN:
-                    queryWrapper.notIn(fieldName, fieldValue);
-                    break;
-                case IN_STR:
-                    if (fieldValue instanceof String) {
-                        queryWrapper.in(fieldName, Arrays.asList(((String) fieldValue).split(",")));
-                    }
-                    break;
-                case NOT_IN_STR:
-                    if (fieldValue instanceof String) {
-                        queryWrapper.notIn(fieldName, Arrays.asList(((String) fieldValue).split(",")));
-                    }
-                    break;
-            }
+//            switch (queryType) {
+//                case EQ:
+//                    queryWrapper.eq(fieldName, fieldValue);
+//                    break;
+//                case NE:
+//                    queryWrapper.ne(fieldName, fieldValue);
+//                    break;
+//                case GT:
+//                    queryWrapper.gt(fieldName, fieldValue);
+//                    break;
+//                case GE:
+//                    queryWrapper.ge(fieldName, fieldValue);
+//                    break;
+//                case LT:
+//                    queryWrapper.lt(fieldName, fieldValue);
+//                    break;
+//                case LE:
+//                    queryWrapper.le(fieldName, fieldValue);
+//                    break;
+//                case LIKE:
+//                    queryWrapper.like(fieldName, fieldValue);
+//                    break;
+//                case NOT_LIKE:
+//                    queryWrapper.notLike(fieldName, fieldValue);
+//                    break;
+//                case LIKE_LEFT:
+//                    queryWrapper.likeLeft(fieldName, fieldValue);
+//                    break;
+//                case LIKE_RIGHT:
+//                    queryWrapper.likeRight(fieldName, fieldValue);
+//                    break;
+//                case IS_NULL:
+//                    queryWrapper.isNull(fieldName);
+//                    break;
+//                case IS_NOT_NULL:
+//                    queryWrapper.isNotNull(fieldName);
+//                    break;
+//                case IN:
+//                    queryWrapper.in(fieldName, fieldValue);
+//                    break;
+//                case NOT_IN:
+//                    queryWrapper.notIn(fieldName, fieldValue);
+//                    break;
+//                case IN_STR:
+//                    if (fieldValue instanceof String) {
+//                        queryWrapper.in(fieldName, Arrays.asList(((String) fieldValue).split(",")));
+//                    }
+//                    break;
+//                case NOT_IN_STR:
+//                    if (fieldValue instanceof String) {
+//                        queryWrapper.notIn(fieldName, Arrays.asList(((String) fieldValue).split(",")));
+//                    }
+//                    break;
+//            }
         }
         return queryWrapper;
     }

--
Gitblit v1.9.1