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; /** * 开始时间 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; } 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); } 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); }