物资管理物品列表搜索功能优化,可通过试剂或公司关键词(关键词用空格分隔)搜索

pull/1/head
lqh 3 months ago
parent 316dc1de99
commit 612e59d4fc
  1. 16
      lab-service/lab-capital/src/main/java/org/springblade/lims/goods/controller/GoodsController.java

@ -49,6 +49,7 @@ import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toList;
@ -87,12 +88,15 @@ public class GoodsController extends BladeController {
LambdaQueryWrapper<Goods> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<Goods> queryWrapper = new LambdaQueryWrapper<>();
// 添加物品查询模糊查询 // 添加物品查询模糊查询
if (StringUtil.isNoneBlank(goods.getName())) { if (StringUtil.isNoneBlank(goods.getName())) {
queryWrapper.and(eq -> eq String searchKeyword = goods.getName().trim();
.like(Goods::getName, goods.getName()).or() List<String> keywordList = Arrays.stream(searchKeyword.split("\\s+"))
.like(Goods::getCompany, goods.getName()).or() .collect(Collectors.toList());
.like(Goods::getBrand, goods.getName()).or() for (String keyword : keywordList) {
.like(Goods::getYt, goods.getName()) queryWrapper.and(w -> w.like(Goods::getName, keyword)
); .or().like(Goods::getCompany, keyword)
.or().like(Goods::getBrand, keyword)
.or().like(Goods::getYt, keyword));
}
} }
// 根据物品类型大类查询 // 根据物品类型大类查询
if (goods.getBigClassId() != null) { if (goods.getBigClassId() != null) {

Loading…
Cancel
Save