From a3776853fa6ff1c4a9805615a79852d54f700e3f Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期六, 20 七月 2024 09:21:04 +0800 Subject: [PATCH] 增加库位明细导出功能,曾加物料、单据、库存全局搜索功能 --- zy-asrs-common/src/main/java/com/zy/asrs/common/web/BaseController.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 56 insertions(+), 0 deletions(-) diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/web/BaseController.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/web/BaseController.java index 7a7572a..55bd786 100644 --- a/zy-asrs-common/src/main/java/com/zy/asrs/common/web/BaseController.java +++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/web/BaseController.java @@ -1,7 +1,9 @@ package com.zy.asrs.common.web; import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zy.asrs.common.sys.entity.User; import com.zy.asrs.common.sys.entity.UserLogin; @@ -125,4 +127,58 @@ return tagService.getTop(getHostId()); } + /** + * 鍏ㄥ瓧娈垫ā绯婃悳绱� + * @param cls 妯″瀷绫� + * @param set 鎺掗櫎瀛楁闆嗗悎 + * @param condition 鎼滅储鍐呭 + */ + protected <T> void allLike(Class<T> cls, Set<String> set, QueryWrapper<T> wrapper, String condition){ + if (Cools.isEmpty(condition)) { + return; + } + final List<String> columns = new ArrayList<>(); + for (Field field :Cools.getAllFields(cls)){ + if (Modifier.isFinal(field.getModifiers()) + || Modifier.isStatic(field.getModifiers()) + || Modifier.isTransient(field.getModifiers())){ + continue; + } + String column = null; + if (field.isAnnotationPresent(TableField.class)) { + column = field.getAnnotation(TableField.class).value(); + } + if (Cools.isEmpty(column)) { + column = field.getName(); + } + if (!set.contains(column)) { + columns.add(column); + } + } + if (columns.isEmpty()) { + return; + } + + wrapper.and( w -> { + for (int i=0;i<columns.size();i++){ + String colums = columns.get(i); + if (i==0){ + w.like(colums, condition); + }else { + w.or().like(colums, condition); + } + } + }); + +// for (int i=0;i<columns.size();i++){ +// String colums = columns.get(i); +// if (i==0){ +// wrapper.and(w -> w.like(colums, condition)); +// } else { +// wrapper.or(w -> w.like(colums, condition)); +// } +//// wrapper.like(columns.get(i), condition); +// } + } + } -- Gitblit v1.9.1