From f84d029d497949af28c6780a52bec9020c642311 Mon Sep 17 00:00:00 2001
From: zqy <2522236926@qq.com>
Date: 星期二, 16 十二月 2025 11:19:20 +0800
Subject: [PATCH] 全局搜索人物时 不按照顺序查询 可少不可多
---
zhang-content/src/main/java/com/ruoyi/service/impl/ZfEconomyServiceImpl.java | 33 ++++++++++++++++
zhang-content/src/main/java/com/ruoyi/domain/ZfDoctor.java | 6 +++
zhang-content/src/main/java/com/ruoyi/domain/ZfEconomy.java | 9 ++++
zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorServiceImpl.java | 29 +++++++++++++-
4 files changed, 73 insertions(+), 4 deletions(-)
diff --git a/zhang-content/src/main/java/com/ruoyi/domain/ZfDoctor.java b/zhang-content/src/main/java/com/ruoyi/domain/ZfDoctor.java
index 76a3bc6..2647465 100644
--- a/zhang-content/src/main/java/com/ruoyi/domain/ZfDoctor.java
+++ b/zhang-content/src/main/java/com/ruoyi/domain/ZfDoctor.java
@@ -11,6 +11,7 @@
import java.io.Serializable;
import java.util.Date;
+import java.util.List;
/**
* <p>
@@ -103,6 +104,11 @@
*/
private String companion;
+ /**
+ * 鍙備笌鑰呭垪琛�
+ */
+ @TableField(exist = false)
+ private List<String> companionList;
/**
* 寮�濮嬫椂闂�
diff --git a/zhang-content/src/main/java/com/ruoyi/domain/ZfEconomy.java b/zhang-content/src/main/java/com/ruoyi/domain/ZfEconomy.java
index 11c20ec..236a681 100644
--- a/zhang-content/src/main/java/com/ruoyi/domain/ZfEconomy.java
+++ b/zhang-content/src/main/java/com/ruoyi/domain/ZfEconomy.java
@@ -13,6 +13,7 @@
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Date;
+import java.util.List;
/**
* <p>
@@ -124,6 +125,14 @@
*/
private String companion;
+ /**
+ * 鍙備笌鑰呭垪琛�
+ */
+ @TableField(exist = false)
+ private List<String> companionList;
+
// @TableField(exist = false)
// private Integer year;
+
+
}
diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorServiceImpl.java
index d61d9f4..beb70cf 100644
--- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorServiceImpl.java
+++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorServiceImpl.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.AjaxResult;
@@ -465,7 +466,27 @@
.like(StringUtils.isNotEmpty(zfDoctor.getWmedical()), ZfDoctor::getWmedical, zfDoctor.getWmedical())
.like(StringUtils.isNotEmpty(zfDoctor.getCmedical()), ZfDoctor::getCmedical, zfDoctor.getCmedical())
.like(StringUtils.isNotEmpty(zfDoctor.getRemark()), ZfDoctor::getRemark, zfDoctor.getRemark());
- lqw.like(StringUtils.isNotEmpty(zfDoctor.getCompanion()),ZfDoctor::getCompanion,zfDoctor.getCompanion());
+// lqw.like(StringUtils.isNotEmpty(zfDoctor.getCompanion()),ZfDoctor::getCompanion,zfDoctor.getCompanion());
+
+ if (CollectionUtils.isNotEmpty(zfDoctor.getCompanionList())) {
+ List<String> companionList = zfDoctor.getCompanionList();
+
+ // 娓呯悊鍜屽幓閲�
+ companionList = companionList.stream()
+ .map(String::trim)
+ .filter(s -> !s.isEmpty())
+ .distinct()
+ .collect(Collectors.toList());
+
+ if (!companionList.isEmpty()) {
+ // 纭繚鎵�鏈夊弬涓庝汉閮藉湪companion瀛楁涓�
+ for (String companion : companionList) {
+ lqw.apply("FIND_IN_SET({0}, REPLACE(REPLACE(companion, ' ', ''), '锛�', ',')) > 0",
+ companion);
+ }
+ }
+ }
+
lqw.between(zfDoctor.getHappenStartTime() != null && zfDoctor.getHappenEndTime() != null, ZfDoctor::getCreateTime, zfDoctor.getHappenStartTime(), zfDoctor.getHappenEndTime());
if (StringUtils.isNotEmpty(zfDoctor.getPrescription())) {
@@ -487,8 +508,10 @@
public List<?> search(String companion, Date happenStartTime, Date happenEndTime) {
ZfDoctor zfDoctor = new ZfDoctor();
- zfDoctor.setCompanion(companion);
- zfDoctor.setHappenStartTime(happenStartTime);
+ String[] split = companion.split(",");
+ List<String> list = Arrays.asList(split);
+
+ zfDoctor.setCompanionList(list); zfDoctor.setHappenStartTime(happenStartTime);
zfDoctor.setHappenEndTime(happenEndTime);
return selectByCondition(zfDoctor);
}
diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEconomyServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEconomyServiceImpl.java
index 2e7b906..6655de3 100644
--- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEconomyServiceImpl.java
+++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEconomyServiceImpl.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.AjaxResult;
@@ -28,6 +29,7 @@
import java.io.IOException;
import java.time.LocalDateTime;
import java.util.*;
+import java.util.regex.Pattern;
import java.util.stream.Collectors;
import static com.ruoyi.constant.MenuAuthority.*;
@@ -78,17 +80,41 @@
lqw.like(StringUtils.isNotEmpty(zfEconomy.getUsePeople()),ZfEconomy::getUsePeople,zfEconomy.getUsePeople());
lqw.like(StringUtils.isNotEmpty(zfEconomy.getBalance()),ZfEconomy::getBalance,zfEconomy.getBalance());
lqw.like(StringUtils.isNotEmpty(zfEconomy.getRemark()),ZfEconomy::getRemark,zfEconomy.getRemark());
- lqw.like(StringUtils.isNotEmpty(zfEconomy.getCompanion()),ZfEconomy::getCompanion,zfEconomy.getCompanion());
+// lqw.in(StringUtils.isNotEmpty(zfEconomy.getCompanionList()),ZfEconomy::getCompanion,zfEconomy.getCompanionList());
// if (zfEconomy.getYear() != 0) {
// System.out.println("pppppppppppppppppppppppppppppppppppppppppppppppppppp"+zfEconomy.getYear());
// lqw.apply("YEAR(happen_time) = {0}", zfEconomy.getYear());
// }
+
+ if (CollectionUtils.isNotEmpty(zfEconomy.getCompanionList())) {
+ List<String> companionList = zfEconomy.getCompanionList();
+
+ // 娓呯悊鍜屽幓閲�
+ companionList = companionList.stream()
+ .map(String::trim)
+ .filter(s -> !s.isEmpty())
+ .distinct()
+ .collect(Collectors.toList());
+
+ if (!companionList.isEmpty()) {
+ // 纭繚鎵�鏈夊弬涓庝汉閮藉湪companion瀛楁涓�
+ for (String companion : companionList) {
+ lqw.apply("FIND_IN_SET({0}, REPLACE(REPLACE(companion, ' ', ''), '锛�', ',')) > 0",
+ companion);
+ }
+ }
+ }
+
+
+
+
lqw.eq(zfEconomy.getHappenTime() != null, ZfEconomy::getHappenTime, zfEconomy.getHappenTime());
lqw.between(zfEconomy.getHappenStartTime() != null && zfEconomy.getHappenEndTime() != null, ZfEconomy::getHappenTime, zfEconomy.getHappenStartTime(), zfEconomy.getHappenEndTime());
System.out.println("鏌ヨ鏉′欢: " + lqw.getCustomSqlSegment());
return lqw;
}
+
private LambdaQueryWrapper<ZfEconomy> uniqueCondition(ZfEconomy zfEconomy) {
LambdaQueryWrapper<ZfEconomy> lqw = new LambdaQueryWrapper<>();
@@ -627,6 +653,11 @@
zfEconomy.setCompanion(companion);
zfEconomy.setHappenStartTime(happenStartTime);
zfEconomy.setHappenEndTime(happenEndTime);
+
+ String[] split = companion.split(",");
+ List<String> list = Arrays.asList(split);
+
+ zfEconomy.setCompanionList(list);
return selectByCondition(zfEconomy);
}
--
Gitblit v1.9.1