From f65d0db3c9612c0ee19dca49544072d30d49239f Mon Sep 17 00:00:00 2001 From: wangqian <1406304305@qq.com> Date: Fri, 29 May 2026 18:24:39 +0800 Subject: [PATCH] app首页统计详情页面修改,区分督察员和组长 --- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/homepage/HomepageSummaryMapper.java | 2 +- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/homepage/HomepageSummaryServiceImpl.java | 19 ++++++++++++++++--- urbanops-module-garden/src/main/resources/mapper/homepage/HomepageSummaryMapper.xml | 3 +++ urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/enums/common/CommonConstants.java | 13 +++++++++++++ urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/maininfo/vo/AppMainInfoPageReqVO.java | 8 ++++++++ urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoMapper.java | 5 +++++ urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/maininfo/MainInfoServiceImpl.java | 16 ++++++++++++++++ 7 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/enums/common/CommonConstants.java diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/homepage/HomepageSummaryMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/homepage/HomepageSummaryMapper.java index d97391b..40d10be 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/homepage/HomepageSummaryMapper.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/homepage/HomepageSummaryMapper.java @@ -215,5 +215,5 @@ public interface HomepageSummaryMapper extends BaseMapperX { * @Param null * @Return */ - List countWorkOrder(@Param("queryType") String queryType, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + List countWorkOrder(@Param("queryType") String queryType,@Param("userId") Long userId, @Param("beginTime") String beginTime, @Param("endTime") String endTime); } diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/homepage/HomepageSummaryServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/homepage/HomepageSummaryServiceImpl.java index 760ff08..2daaa50 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/homepage/HomepageSummaryServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/homepage/HomepageSummaryServiceImpl.java @@ -15,6 +15,7 @@ import com.zteits.urbanops.module.garden.dal.mysql.taskstatistics.TaskStatistics import com.zteits.urbanops.module.system.api.dept.DeptApi; import com.zteits.urbanops.module.system.api.permission.RoleApi; import com.zteits.urbanops.module.system.api.user.AdminUserApi; +import com.zteits.urbanops.module.system.enums.common.CommonConstants; import jakarta.annotation.Resource; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -29,6 +30,8 @@ import java.time.format.DateTimeFormatter; import java.util.*; import java.util.stream.Collectors; +import static com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; + /** * @Classname HomepageSummaryServiceImpl * @Description 首页统计实现 @@ -56,7 +59,7 @@ public class HomepageSummaryServiceImpl implements HomepageSummaryService{ @Override public List taskCompletionSummary(AppHomePageSummaryReqVO req) { - Long userId = SecurityFrameworkUtils.getLoginUserId(); + Long userId = getLoginUserId(); //巡查任务和养护任务已完成,未完成数量统计 //返回数据初始化 List days = getDays(req.getBeginTime(), req.getEndTime()); @@ -102,7 +105,7 @@ public class HomepageSummaryServiceImpl implements HomepageSummaryService{ @Override public PageResult queryTaskDetails(AppHomePageSummaryPageReqVO req) { - Long userId = SecurityFrameworkUtils.getLoginUserId(); + Long userId = getLoginUserId(); IPage mpPage = MyBatisUtils.buildPage(req); if (req.getQueryType() == 2) { //已完成 @@ -110,7 +113,7 @@ public class HomepageSummaryServiceImpl implements HomepageSummaryService{ } else { //待办 Long deptId = SecurityFrameworkUtils.getDeptId(); - List roleIds = roleApi.getRoleIdsByUserId(SecurityFrameworkUtils.getLoginUserId()); + List roleIds = roleApi.getRoleIdsByUserId(getLoginUserId()); mpPage = homepageSummaryMapper.queryPendingTaskDetails(mpPage, roleIds, userId, deptId, LocalDateTime.now()); } return new PageResult<>(mpPage.getRecords(), mpPage.getTotal()); @@ -289,9 +292,19 @@ public class HomepageSummaryServiceImpl implements HomepageSummaryService{ // 1. 创建返回对象 AppWorkOrderSummaryRspVo respVo = new AppWorkOrderSummaryRspVo(); + Long userId = null; + //部派工单 + if ("1".equals(req.getQueryType())) { + // 全域督察员查询自己发起的工单 + List userIds = roleApi.getUserIdsByRoleCode(CommonConstants.INSPECTOR_ROLE_KEY); + if (userIds.contains(getLoginUserId())) { + userId = getLoginUserId(); + } + } // 2. 查询工单列表 List workOrderList = homepageSummaryMapper.countWorkOrder( req.getQueryType(), + userId, req.getBeginTime(), req.getEndTime() ); diff --git a/urbanops-module-garden/src/main/resources/mapper/homepage/HomepageSummaryMapper.xml b/urbanops-module-garden/src/main/resources/mapper/homepage/HomepageSummaryMapper.xml index bef2204..b42e5a6 100644 --- a/urbanops-module-garden/src/main/resources/mapper/homepage/HomepageSummaryMapper.xml +++ b/urbanops-module-garden/src/main/resources/mapper/homepage/HomepageSummaryMapper.xml @@ -603,6 +603,9 @@ AND w.order_no LIKE 'IWO%' + + AND w.user_id = #{userId} + AND w.create_time >= #{beginTime} diff --git a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/enums/common/CommonConstants.java b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/enums/common/CommonConstants.java new file mode 100644 index 0000000..efd2252 --- /dev/null +++ b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/enums/common/CommonConstants.java @@ -0,0 +1,13 @@ +package com.zteits.urbanops.module.system.enums.common; + +/** + * @Classname CommonConstants + * @Description 公共静态参数 + * @Date 2026/1/3 10:15 + * @Created by wangqian + */ +public interface CommonConstants { + + public static final String INSPECTOR_ROLE_KEY = "Inspector_global"; + +} diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/maininfo/vo/AppMainInfoPageReqVO.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/maininfo/vo/AppMainInfoPageReqVO.java index 4993fa0..755a661 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/maininfo/vo/AppMainInfoPageReqVO.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/maininfo/vo/AppMainInfoPageReqVO.java @@ -2,6 +2,7 @@ package com.zteits.urbanops.module.workorder.controller.app.maininfo.vo; import com.zteits.urbanops.framework.common.pojo.PageParam; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; @@ -15,6 +16,10 @@ import static com.zteits.urbanops.framework.common.util.date.DateUtils.FORMAT_YE @Data public class AppMainInfoPageReqVO extends PageParam { + @NotEmpty + @Schema(description = "查询类型", example = "0:全部工单 1:全域工单") + public String queryType; + @Schema(description = "搜索类型:1 位置 2 工单名称 3 情况描述 4 工单编号", example = "1") private String type; @@ -56,6 +61,9 @@ public class AppMainInfoPageReqVO extends PageParam { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) private String endTime; + @Schema(description = "用户id", example = "12" , hidden = true) + private Long userId; + /** * 组装时间:beginTime + endTime → createTime */ 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 e424b9f..98b74a5 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 @@ -147,6 +147,10 @@ public interface MainInfoMapper extends BaseMapperX { LambdaQueryWrapperX queryWrapper = new LambdaQueryWrapperX<>(); // 不查询快速工单 → 订单类型 != "Q" queryWrapper.ne(MainInfoDO::getOrderType, "Q"); + // 部派工单 → 工单编号以 "IWO" 开头 + if ("1".equals(reqVO.getQueryType()) ) { + queryWrapper.likeRight(MainInfoDO::getOrderNo, "IWO"); + } queryWrapper.eqIfPresent(MainInfoDO::getWorkerCompanyId, reqVO.getWorkerCompanyId()) .eqIfPresent(MainInfoDO::getCompanyId, reqVO.getCompanyId()) .likeIfPresent(MainInfoDO::getOrderNo, reqVO.getOrderNo()) @@ -155,6 +159,7 @@ public interface MainInfoMapper extends BaseMapperX { .betweenIfPresent(MainInfoDO::getCreateTime, reqVO.getCreateTime()) .likeIfPresent(MainInfoDO::getLonLatAddress, reqVO.getLonLatAddress()) .likeIfPresent(MainInfoDO::getRemark, reqVO.getRemark()) + .eqIfPresent(MainInfoDO::getUserId, reqVO.getUserId()) .orderByDesc(MainInfoDO::getId); return selectPage(reqVO, queryWrapper); } diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/maininfo/MainInfoServiceImpl.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/maininfo/MainInfoServiceImpl.java index 9af1ba7..8d553ce 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/maininfo/MainInfoServiceImpl.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/maininfo/MainInfoServiceImpl.java @@ -3,6 +3,8 @@ package com.zteits.urbanops.module.workorder.service.maininfo; import com.zteits.urbanops.framework.common.pojo.PageResult; import com.zteits.urbanops.framework.common.util.object.BeanUtils; import com.zteits.urbanops.framework.common.util.object.ObjectUtils; +import com.zteits.urbanops.module.system.api.permission.RoleApi; +import com.zteits.urbanops.module.system.enums.common.CommonConstants; import com.zteits.urbanops.module.workorder.controller.admin.maininfo.vo.MainInfoPageReqVO; import com.zteits.urbanops.module.workorder.controller.admin.maininfo.vo.MainInfoSaveReqVO; import com.zteits.urbanops.module.workorder.controller.app.maininfo.vo.AppMainInfoPageReqVO; @@ -15,6 +17,7 @@ import org.springframework.validation.annotation.Validated; import java.util.List; import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; import static com.zteits.urbanops.module.workorder.enums.ErrorCodeConstants.MAIN_INFO_NOT_EXISTS; /** @@ -29,6 +32,10 @@ public class MainInfoServiceImpl implements MainInfoService { @Resource private MainInfoMapper mainInfoMapper; + @Resource + private RoleApi roleApi; + + @Override public Long createMainInfo(MainInfoSaveReqVO createReqVO) { // 插入 @@ -106,6 +113,15 @@ public class MainInfoServiceImpl implements MainInfoService { pageReqVO.setOrderName(content); } } + //部派工单 + if ("1".equals(pageReqVO.getQueryType())) { + //全域督察员查询自己发起的工单 + List userIds = roleApi.getUserIdsByRoleCode(CommonConstants.INSPECTOR_ROLE_KEY); + if (userIds.contains(getLoginUserId())) { + pageReqVO.setUserId(getLoginUserId()); + pageReqVO.setWorkerCompanyId(null); + } + } return mainInfoMapper.selectPageExcludeQuickOrder(pageReqVO); } -- libgit2 0.21.4