Commit 55f567fb9dee35fecba031094f5f1f87db6a69cd

Authored by wangqian
1 parent 9bca8455

工单管理查询条件修改

urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoMapper.java
... ... @@ -25,16 +25,20 @@ public interface MainInfoMapper extends BaseMapperX<MainInfoDO> {
25 25 LambdaQueryWrapperX<MainInfoDO> queryWrapper = new LambdaQueryWrapperX<>();
26 26 String[] busiLineArr = reqVO.getBusiLine().split(",");
27 27 // 拼接 OR 条件:FIND_IN_SET(a, busi_line) > 0 OR FIND_IN_SET(c, busi_line) > 0
28   - for (int i = 0; i < busiLineArr.length; i++) {
29   - String val = busiLineArr[i].trim();
30   - if (StringUtils.hasText(val)) {
31   - if (i == 0) {
32   - queryWrapper.apply("FIND_IN_SET({0}, busi_line) > 0", val);
33   - } else {
34   - queryWrapper.or().apply("FIND_IN_SET({0}, busi_line) > 0", val);
  28 + queryWrapper.nested(wrapper -> {
  29 + for (int i = 0; i < busiLineArr.length; i++) {
  30 + String val = busiLineArr[i].trim();
  31 + if (StringUtils.hasText(val)) {
  32 + if (i == 0) {
  33 + // 第一个有效条件:直接 apply
  34 + wrapper.apply("FIND_IN_SET({0}, busi_line) > 0", val);
  35 + } else {
  36 + // 后续有效条件:or() + apply
  37 + wrapper.or().apply("FIND_IN_SET({0}, busi_line) > 0", val);
  38 + }
35 39 }
36 40 }
37   - }
  41 + });
38 42 queryWrapper.eqIfPresent(MainInfoDO::getOrderNo, reqVO.getOrderNo())
39 43 .likeIfPresent(MainInfoDO::getOrderName, reqVO.getOrderName())
40 44 .eqIfPresent(MainInfoDO::getSourceId, reqVO.getSourceId())
... ...