From c046ba5d9354706395c05624159c63a4cffabf96 Mon Sep 17 00:00:00 2001 From: wangqian <1406304305@qq.com> Date: Wed, 17 Dec 2025 16:08:41 +0800 Subject: [PATCH] 工单查询增加业务线 --- urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/admin/maininfo/MainInfoController.java | 3 +++ urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoMapper.java | 28 +++++++++++++++++++++++----- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/admin/maininfo/MainInfoController.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/admin/maininfo/MainInfoController.java index 9a904b8..0cbc896 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/admin/maininfo/MainInfoController.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/admin/maininfo/MainInfoController.java @@ -36,6 +36,7 @@ import java.util.stream.Collectors; import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.EXPORT; import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; +import static com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils.getBusiLine; @Tag(name = "管理后台 - 工单信息") @RestController @@ -111,6 +112,8 @@ public class MainInfoController { @Operation(summary = "获得工单信息分页") @PreAuthorize("@ss.hasPermission('workorder:main-info:query')") public CommonResult> getMainInfoPage(@Valid MainInfoPageReqVO pageReqVO) { + //登录人所属业务线 + pageReqVO.setBusiLine(getBusiLine()); PageResult pageResult = mainInfoService.getMainInfoPage(pageReqVO); if (pageResult == null) { diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoMapper.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoMapper.java index 04e67f9..bf89a49 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoMapper.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoMapper.java @@ -10,6 +10,7 @@ import com.zteits.urbanops.module.workorder.dal.dataobject.maininfo.MainInfoDO; import org.apache.ibatis.annotations.Mapper; import com.zteits.urbanops.module.workorder.controller.admin.maininfo.vo.*; import org.apache.poi.ss.formula.functions.T; +import org.springframework.util.StringUtils; /** * 工单信息 Mapper @@ -20,9 +21,25 @@ import org.apache.poi.ss.formula.functions.T; public interface MainInfoMapper extends BaseMapperX { default PageResult selectPage(MainInfoPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(MainInfoDO::getBusiLine, reqVO.getBusiLine()) - .eqIfPresent(MainInfoDO::getOrderNo, reqVO.getOrderNo()) + + LambdaQueryWrapperX queryWrapper = new LambdaQueryWrapperX<>(); + String[] busiLineArr = reqVO.getBusiLine().split(","); + if (busiLineArr != null && busiLineArr.length > 1) { + // 拼接 OR 条件:FIND_IN_SET(a, busi_line) > 0 OR FIND_IN_SET(c, busi_line) > 0 + for (int i = 0; i < busiLineArr.length; i++) { + String val = busiLineArr[i].trim(); + if (StringUtils.hasText(val)) { + if (i == 0) { + queryWrapper.apply("FIND_IN_SET({0}, busi_line) > 0", val); + } else { + queryWrapper.or().apply("FIND_IN_SET({0}, busi_line) > 0", val); + } + } + } + } else { + queryWrapper.likeIfPresent(MainInfoDO::getBusiLine, reqVO.getBusiLine()); + } + queryWrapper.eqIfPresent(MainInfoDO::getOrderNo, reqVO.getOrderNo()) .likeIfPresent(MainInfoDO::getOrderName, reqVO.getOrderName()) .eqIfPresent(MainInfoDO::getSourceId, reqVO.getSourceId()) .likeIfPresent(MainInfoDO::getSourceName, reqVO.getSourceName()) @@ -50,7 +67,8 @@ public interface MainInfoMapper extends BaseMapperX { .likeIfPresent(MainInfoDO::getRemark, reqVO.getRemark()) .likeIfPresent(MainInfoDO::getHandleResult, reqVO.getHandleResult()) .betweenIfPresent(MainInfoDO::getCreateTime, reqVO.getCreateTime()) - .orderByDesc(MainInfoDO::getId)); + .orderByDesc(MainInfoDO::getId); + return selectPage(reqVO, queryWrapper); } default PageResult selectPage(Long loginUserId,MainInfoPageReqVO reqVO) { @@ -95,4 +113,4 @@ public interface MainInfoMapper extends BaseMapperX { return selectList(new QueryWrapper().in(field, values)); } -} \ No newline at end of file +} -- libgit2 0.21.4