Commit f65d0db3c9612c0ee19dca49544072d30d49239f

Authored by wangqian
1 parent 5968c962

app首页统计详情页面修改,区分督察员和组长

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<DepartmentCostDO> { @@ -215,5 +215,5 @@ public interface HomepageSummaryMapper extends BaseMapperX<DepartmentCostDO> {
215 * @Param null 215 * @Param null
216 * @Return 216 * @Return
217 */ 217 */
218 - List<AppWorkOrderSummaryVo> countWorkOrder(@Param("queryType") String queryType, @Param("beginTime") String beginTime, @Param("endTime") String endTime); 218 + List<AppWorkOrderSummaryVo> countWorkOrder(@Param("queryType") String queryType,@Param("userId") Long userId, @Param("beginTime") String beginTime, @Param("endTime") String endTime);
219 } 219 }
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 @@ -15,6 +15,7 @@ import com.zteits.urbanops.module.garden.dal.mysql.taskstatistics.TaskStatistics
15 import com.zteits.urbanops.module.system.api.dept.DeptApi; 15 import com.zteits.urbanops.module.system.api.dept.DeptApi;
16 import com.zteits.urbanops.module.system.api.permission.RoleApi; 16 import com.zteits.urbanops.module.system.api.permission.RoleApi;
17 import com.zteits.urbanops.module.system.api.user.AdminUserApi; 17 import com.zteits.urbanops.module.system.api.user.AdminUserApi;
  18 +import com.zteits.urbanops.module.system.enums.common.CommonConstants;
18 import jakarta.annotation.Resource; 19 import jakarta.annotation.Resource;
19 import org.apache.commons.collections4.CollectionUtils; 20 import org.apache.commons.collections4.CollectionUtils;
20 import org.apache.commons.lang3.StringUtils; 21 import org.apache.commons.lang3.StringUtils;
@@ -29,6 +30,8 @@ import java.time.format.DateTimeFormatter; @@ -29,6 +30,8 @@ import java.time.format.DateTimeFormatter;
29 import java.util.*; 30 import java.util.*;
30 import java.util.stream.Collectors; 31 import java.util.stream.Collectors;
31 32
  33 +import static com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
  34 +
32 /** 35 /**
33 * @Classname HomepageSummaryServiceImpl 36 * @Classname HomepageSummaryServiceImpl
34 * @Description 首页统计实现 37 * @Description 首页统计实现
@@ -56,7 +59,7 @@ public class HomepageSummaryServiceImpl implements HomepageSummaryService{ @@ -56,7 +59,7 @@ public class HomepageSummaryServiceImpl implements HomepageSummaryService{
56 59
57 @Override 60 @Override
58 public List<TaskCompletionStatusRspVo> taskCompletionSummary(AppHomePageSummaryReqVO req) { 61 public List<TaskCompletionStatusRspVo> taskCompletionSummary(AppHomePageSummaryReqVO req) {
59 - Long userId = SecurityFrameworkUtils.getLoginUserId(); 62 + Long userId = getLoginUserId();
60 //巡查任务和养护任务已完成,未完成数量统计 63 //巡查任务和养护任务已完成,未完成数量统计
61 //返回数据初始化 64 //返回数据初始化
62 List<String> days = getDays(req.getBeginTime(), req.getEndTime()); 65 List<String> days = getDays(req.getBeginTime(), req.getEndTime());
@@ -102,7 +105,7 @@ public class HomepageSummaryServiceImpl implements HomepageSummaryService{ @@ -102,7 +105,7 @@ public class HomepageSummaryServiceImpl implements HomepageSummaryService{
102 105
103 @Override 106 @Override
104 public PageResult<TaskDetailsRspVo> queryTaskDetails(AppHomePageSummaryPageReqVO req) { 107 public PageResult<TaskDetailsRspVo> queryTaskDetails(AppHomePageSummaryPageReqVO req) {
105 - Long userId = SecurityFrameworkUtils.getLoginUserId(); 108 + Long userId = getLoginUserId();
106 IPage<TaskDetailsRspVo> mpPage = MyBatisUtils.buildPage(req); 109 IPage<TaskDetailsRspVo> mpPage = MyBatisUtils.buildPage(req);
107 if (req.getQueryType() == 2) { 110 if (req.getQueryType() == 2) {
108 //已完成 111 //已完成
@@ -110,7 +113,7 @@ public class HomepageSummaryServiceImpl implements HomepageSummaryService{ @@ -110,7 +113,7 @@ public class HomepageSummaryServiceImpl implements HomepageSummaryService{
110 } else { 113 } else {
111 //待办 114 //待办
112 Long deptId = SecurityFrameworkUtils.getDeptId(); 115 Long deptId = SecurityFrameworkUtils.getDeptId();
113 - List<Long> roleIds = roleApi.getRoleIdsByUserId(SecurityFrameworkUtils.getLoginUserId()); 116 + List<Long> roleIds = roleApi.getRoleIdsByUserId(getLoginUserId());
114 mpPage = homepageSummaryMapper.queryPendingTaskDetails(mpPage, roleIds, userId, deptId, LocalDateTime.now()); 117 mpPage = homepageSummaryMapper.queryPendingTaskDetails(mpPage, roleIds, userId, deptId, LocalDateTime.now());
115 } 118 }
116 return new PageResult<>(mpPage.getRecords(), mpPage.getTotal()); 119 return new PageResult<>(mpPage.getRecords(), mpPage.getTotal());
@@ -289,9 +292,19 @@ public class HomepageSummaryServiceImpl implements HomepageSummaryService{ @@ -289,9 +292,19 @@ public class HomepageSummaryServiceImpl implements HomepageSummaryService{
289 // 1. 创建返回对象 292 // 1. 创建返回对象
290 AppWorkOrderSummaryRspVo respVo = new AppWorkOrderSummaryRspVo(); 293 AppWorkOrderSummaryRspVo respVo = new AppWorkOrderSummaryRspVo();
291 294
  295 + Long userId = null;
  296 + //部派工单
  297 + if ("1".equals(req.getQueryType())) {
  298 + // 全域督察员查询自己发起的工单
  299 + List<Long> userIds = roleApi.getUserIdsByRoleCode(CommonConstants.INSPECTOR_ROLE_KEY);
  300 + if (userIds.contains(getLoginUserId())) {
  301 + userId = getLoginUserId();
  302 + }
  303 + }
292 // 2. 查询工单列表 304 // 2. 查询工单列表
293 List<AppWorkOrderSummaryVo> workOrderList = homepageSummaryMapper.countWorkOrder( 305 List<AppWorkOrderSummaryVo> workOrderList = homepageSummaryMapper.countWorkOrder(
294 req.getQueryType(), 306 req.getQueryType(),
  307 + userId,
295 req.getBeginTime(), 308 req.getBeginTime(),
296 req.getEndTime() 309 req.getEndTime()
297 ); 310 );
urbanops-module-garden/src/main/resources/mapper/homepage/HomepageSummaryMapper.xml
@@ -603,6 +603,9 @@ @@ -603,6 +603,9 @@
603 <if test='queryType != null and queryType == "1"'> 603 <if test='queryType != null and queryType == "1"'>
604 AND w.order_no LIKE 'IWO%' 604 AND w.order_no LIKE 'IWO%'
605 </if> 605 </if>
  606 + <if test="userId != null">
  607 + AND w.user_id = #{userId}
  608 + </if>
606 <if test="beginTime != null and beginTime != ''"> 609 <if test="beginTime != null and beginTime != ''">
607 AND w.create_time >= #{beginTime} 610 AND w.create_time >= #{beginTime}
608 </if> 611 </if>
urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/enums/common/CommonConstants.java 0 → 100644
  1 +package com.zteits.urbanops.module.system.enums.common;
  2 +
  3 +/**
  4 + * @Classname CommonConstants
  5 + * @Description 公共静态参数
  6 + * @Date 2026/1/3 10:15
  7 + * @Created by wangqian
  8 + */
  9 +public interface CommonConstants {
  10 +
  11 + public static final String INSPECTOR_ROLE_KEY = "Inspector_global";
  12 +
  13 +}
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; @@ -2,6 +2,7 @@ package com.zteits.urbanops.module.workorder.controller.app.maininfo.vo;
2 2
3 import com.zteits.urbanops.framework.common.pojo.PageParam; 3 import com.zteits.urbanops.framework.common.pojo.PageParam;
4 import io.swagger.v3.oas.annotations.media.Schema; 4 import io.swagger.v3.oas.annotations.media.Schema;
  5 +import jakarta.validation.constraints.NotEmpty;
5 import lombok.Data; 6 import lombok.Data;
6 import org.springframework.format.annotation.DateTimeFormat; 7 import org.springframework.format.annotation.DateTimeFormat;
7 8
@@ -15,6 +16,10 @@ import static com.zteits.urbanops.framework.common.util.date.DateUtils.FORMAT_YE @@ -15,6 +16,10 @@ import static com.zteits.urbanops.framework.common.util.date.DateUtils.FORMAT_YE
15 @Data 16 @Data
16 public class AppMainInfoPageReqVO extends PageParam { 17 public class AppMainInfoPageReqVO extends PageParam {
17 18
  19 + @NotEmpty
  20 + @Schema(description = "查询类型", example = "0:全部工单 1:全域工单")
  21 + public String queryType;
  22 +
18 @Schema(description = "搜索类型:1 位置 2 工单名称 3 情况描述 4 工单编号", example = "1") 23 @Schema(description = "搜索类型:1 位置 2 工单名称 3 情况描述 4 工单编号", example = "1")
19 private String type; 24 private String type;
20 25
@@ -56,6 +61,9 @@ public class AppMainInfoPageReqVO extends PageParam { @@ -56,6 +61,9 @@ public class AppMainInfoPageReqVO extends PageParam {
56 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) 61 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
57 private String endTime; 62 private String endTime;
58 63
  64 + @Schema(description = "用户id", example = "12" , hidden = true)
  65 + private Long userId;
  66 +
59 /** 67 /**
60 * 组装时间:beginTime + endTime → createTime 68 * 组装时间:beginTime + endTime → createTime
61 */ 69 */
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&lt;MainInfoDO&gt; { @@ -147,6 +147,10 @@ public interface MainInfoMapper extends BaseMapperX&lt;MainInfoDO&gt; {
147 LambdaQueryWrapperX<MainInfoDO> queryWrapper = new LambdaQueryWrapperX<>(); 147 LambdaQueryWrapperX<MainInfoDO> queryWrapper = new LambdaQueryWrapperX<>();
148 // 不查询快速工单 → 订单类型 != "Q" 148 // 不查询快速工单 → 订单类型 != "Q"
149 queryWrapper.ne(MainInfoDO::getOrderType, "Q"); 149 queryWrapper.ne(MainInfoDO::getOrderType, "Q");
  150 + // 部派工单 → 工单编号以 "IWO" 开头
  151 + if ("1".equals(reqVO.getQueryType()) ) {
  152 + queryWrapper.likeRight(MainInfoDO::getOrderNo, "IWO");
  153 + }
150 queryWrapper.eqIfPresent(MainInfoDO::getWorkerCompanyId, reqVO.getWorkerCompanyId()) 154 queryWrapper.eqIfPresent(MainInfoDO::getWorkerCompanyId, reqVO.getWorkerCompanyId())
151 .eqIfPresent(MainInfoDO::getCompanyId, reqVO.getCompanyId()) 155 .eqIfPresent(MainInfoDO::getCompanyId, reqVO.getCompanyId())
152 .likeIfPresent(MainInfoDO::getOrderNo, reqVO.getOrderNo()) 156 .likeIfPresent(MainInfoDO::getOrderNo, reqVO.getOrderNo())
@@ -155,6 +159,7 @@ public interface MainInfoMapper extends BaseMapperX&lt;MainInfoDO&gt; { @@ -155,6 +159,7 @@ public interface MainInfoMapper extends BaseMapperX&lt;MainInfoDO&gt; {
155 .betweenIfPresent(MainInfoDO::getCreateTime, reqVO.getCreateTime()) 159 .betweenIfPresent(MainInfoDO::getCreateTime, reqVO.getCreateTime())
156 .likeIfPresent(MainInfoDO::getLonLatAddress, reqVO.getLonLatAddress()) 160 .likeIfPresent(MainInfoDO::getLonLatAddress, reqVO.getLonLatAddress())
157 .likeIfPresent(MainInfoDO::getRemark, reqVO.getRemark()) 161 .likeIfPresent(MainInfoDO::getRemark, reqVO.getRemark())
  162 + .eqIfPresent(MainInfoDO::getUserId, reqVO.getUserId())
158 .orderByDesc(MainInfoDO::getId); 163 .orderByDesc(MainInfoDO::getId);
159 return selectPage(reqVO, queryWrapper); 164 return selectPage(reqVO, queryWrapper);
160 } 165 }
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; @@ -3,6 +3,8 @@ package com.zteits.urbanops.module.workorder.service.maininfo;
3 import com.zteits.urbanops.framework.common.pojo.PageResult; 3 import com.zteits.urbanops.framework.common.pojo.PageResult;
4 import com.zteits.urbanops.framework.common.util.object.BeanUtils; 4 import com.zteits.urbanops.framework.common.util.object.BeanUtils;
5 import com.zteits.urbanops.framework.common.util.object.ObjectUtils; 5 import com.zteits.urbanops.framework.common.util.object.ObjectUtils;
  6 +import com.zteits.urbanops.module.system.api.permission.RoleApi;
  7 +import com.zteits.urbanops.module.system.enums.common.CommonConstants;
6 import com.zteits.urbanops.module.workorder.controller.admin.maininfo.vo.MainInfoPageReqVO; 8 import com.zteits.urbanops.module.workorder.controller.admin.maininfo.vo.MainInfoPageReqVO;
7 import com.zteits.urbanops.module.workorder.controller.admin.maininfo.vo.MainInfoSaveReqVO; 9 import com.zteits.urbanops.module.workorder.controller.admin.maininfo.vo.MainInfoSaveReqVO;
8 import com.zteits.urbanops.module.workorder.controller.app.maininfo.vo.AppMainInfoPageReqVO; 10 import com.zteits.urbanops.module.workorder.controller.app.maininfo.vo.AppMainInfoPageReqVO;
@@ -15,6 +17,7 @@ import org.springframework.validation.annotation.Validated; @@ -15,6 +17,7 @@ import org.springframework.validation.annotation.Validated;
15 import java.util.List; 17 import java.util.List;
16 18
17 import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; 19 import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception;
  20 +import static com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
18 import static com.zteits.urbanops.module.workorder.enums.ErrorCodeConstants.MAIN_INFO_NOT_EXISTS; 21 import static com.zteits.urbanops.module.workorder.enums.ErrorCodeConstants.MAIN_INFO_NOT_EXISTS;
19 22
20 /** 23 /**
@@ -29,6 +32,10 @@ public class MainInfoServiceImpl implements MainInfoService { @@ -29,6 +32,10 @@ public class MainInfoServiceImpl implements MainInfoService {
29 @Resource 32 @Resource
30 private MainInfoMapper mainInfoMapper; 33 private MainInfoMapper mainInfoMapper;
31 34
  35 + @Resource
  36 + private RoleApi roleApi;
  37 +
  38 +
32 @Override 39 @Override
33 public Long createMainInfo(MainInfoSaveReqVO createReqVO) { 40 public Long createMainInfo(MainInfoSaveReqVO createReqVO) {
34 // 插入 41 // 插入
@@ -106,6 +113,15 @@ public class MainInfoServiceImpl implements MainInfoService { @@ -106,6 +113,15 @@ public class MainInfoServiceImpl implements MainInfoService {
106 pageReqVO.setOrderName(content); 113 pageReqVO.setOrderName(content);
107 } 114 }
108 } 115 }
  116 + //部派工单
  117 + if ("1".equals(pageReqVO.getQueryType())) {
  118 + //全域督察员查询自己发起的工单
  119 + List<Long> userIds = roleApi.getUserIdsByRoleCode(CommonConstants.INSPECTOR_ROLE_KEY);
  120 + if (userIds.contains(getLoginUserId())) {
  121 + pageReqVO.setUserId(getLoginUserId());
  122 + pageReqVO.setWorkerCompanyId(null);
  123 + }
  124 + }
109 return mainInfoMapper.selectPageExcludeQuickOrder(pageReqVO); 125 return mainInfoMapper.selectPageExcludeQuickOrder(pageReqVO);
110 } 126 }
111 127