From 6605af34249a6fec0b3967698dcc53ae366d781c Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 14 七月 2025 16:56:49 +0800
Subject: [PATCH] 保洁巡检本周代码

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectorController.java |  100 +++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 83 insertions(+), 17 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectorController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectorController.java
index 9770e05..d07a2e9 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectorController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectorController.java
@@ -73,47 +73,62 @@
     public R<PageInfo<InspectorListVO>> pageList(@RequestBody InsepectorListQuery query) {
         List<SysUser> sysUsers = sysUserService.selectAllList();
         List<TLocation> locationList = locationService.list();
-        if (StringUtils.hasLength(query.getDeptName())){
-            List<String> projectIds = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list()
+        if (StringUtils.hasLength(query.getDeptName())) {
+            List<TProjectDept> list = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list();
+            List<String> projectIds = list
                     .stream().map(TProjectDept::getId).collect(Collectors.toList());
             List<String> deptIds = deptService.lambdaQuery().like(TDept::getDeptName, query.getDeptName()).list()
                     .stream().map(TDept::getId).collect(Collectors.toList());
+            for (TProjectDept projectDept : list) {
+                if (projectDept.getParentId().equals("0")){
+                    List<TProjectDept> list1 = projectDeptService.lambdaQuery().eq(TProjectDept::getParentId, projectDept.getId()).list();
+                    List<String> collect = list1.stream().map(TProjectDept::getId).collect(Collectors.toList());
+                    projectIds.addAll(collect);
+                }
+            }
             projectIds.addAll(deptIds);
-            if (projectIds.isEmpty()){
+            if (projectIds.isEmpty()) {
                 return R.ok(new PageInfo<>());
             }
-            if (StringUtils.hasLength(query.getPhonenumber())){
+            // 用户ids
+            List<Long> collect = sysUsers.stream().filter(e -> e.getDeptType() == 1 && projectIds.contains(e.getDeptId())).map(SysUser::getUserId)
+                    .collect(Collectors.toList());
+            List<Long> collect1 = sysUsers.stream().filter(e -> e.getDeptType() == 2 && deptIds.contains(e.getDeptId())).map(SysUser::getUserId)
+                    .collect(Collectors.toList());
+            collect.addAll(collect1);
+            if (collect.isEmpty()) {
+                return R.ok(new PageInfo<>());
+            }
+            query.setPatrolInspectorIds(collect);
+
+            if (StringUtils.hasLength(query.getPhonenumber())) {
                 List<Long> patrolInspectorIds = sysUsers.stream().filter(sysUser ->
                         sysUser.getPhonenumber().equals(query.getPhonenumber())
                                 && projectIds.contains(sysUser.getDeptId())
                 ).map(SysUser::getUserId).collect(Collectors.toList());
-                if (patrolInspectorIds.isEmpty()){
+                if (patrolInspectorIds.isEmpty()) {
                     return R.ok(new PageInfo<>());
+                } else {
+                    patrolInspectorIds = patrolInspectorIds.stream().filter(query.getPatrolInspectorIds()::contains).collect(Collectors.toList());
+                    query.setPatrolInspectorIds(patrolInspectorIds);
                 }
-                query.setPatrolInspectorIds(patrolInspectorIds);
             }
         }
         if (StringUtils.hasLength(query.getPhonenumber())){
             List<Long> patrolInspectorIds = sysUsers.stream().filter(sysUser ->
-                    sysUser.getPhonenumber().equals(query.getPhonenumber())
+                    sysUser.getPhonenumber().contains(query.getPhonenumber())
             ).map(SysUser::getUserId).collect(Collectors.toList());
-            if (!query.getPatrolInspectorIds().isEmpty()){
+            if (query.getPatrolInspectorIds()!=null&&!query.getPatrolInspectorIds().isEmpty()){
                 // 取交集
                 patrolInspectorIds = patrolInspectorIds.stream().filter(query.getPatrolInspectorIds()::contains).collect(Collectors.toList());
             }
-            query.setPatrolInspectorIds(patrolInspectorIds);
             if (patrolInspectorIds.isEmpty()){
                 return R.ok(new PageInfo<>());
             }
+            query.setPatrolInspectorIds(patrolInspectorIds);
+
         }
-        if (query.getClearStatus()!=null){
-            List<String> collect = tTaskDetailService.lambdaQuery().eq(TTaskDetail::getClearStatus, query.getClearStatus())
-                    .list().stream().distinct().map(TTaskDetail::getTaskId).collect(Collectors.toList());
-            query.setTaskIds(collect);
-            if (collect.isEmpty()){
-                return R.ok(new PageInfo<>());
-            }
-        }
+
         if (query.getLocationType()!=null){
             List<String> collect = locationList.stream().filter(e -> e.getLocationType().equals(query.getLocationType())).map(TLocation::getId)
                     .collect(Collectors.toList());
@@ -318,6 +333,57 @@
         dto.setAuditPerson(tokenService.getLoginUser().getUserId()+"");
         inspectorService.updateById(dto);
         return R.ok();
+
+
+//        TInspector byId = inspectorService.getById(dto.getId());
+//
+//        TTaskAuditDTO tTaskAuditDTO = new TTaskAuditDTO();
+//        BeanUtils.copyProperties(dto, tTaskAuditDTO);
+//        TLocation location = locationService.getById(byId.getLocationId());
+//        TNotice tNotice = new TNotice();
+//        TNoticeSet noticeSet = noticeSetService.lambdaQuery().eq(TNoticeSet::getType, 2).last("limit 1")
+//                .one();
+//        tNotice.setUserId(location.getLocationLeader());
+//        tNotice.setStatus(1);
+//        tNotice.setDataId(byId.getId());
+//        tNotice.setNoticeSetType(noticeSet.getNoticeType());
+//        SysUser sysUser = sysUserService.selectUserById(Long.valueOf(location.getLocationLeader()));
+//        // 邮箱
+//        TDictData email = dictDataService.lambdaQuery().eq(TDictData::getDataType,4).one();
+//        // 授权码
+//        TDictData code = dictDataService.lambdaQuery().eq(TDictData::getDataType,5).one();
+//        if (dto.getAuditStatus()==1){
+//            if (byId.getClearStatus()==2){
+//                tTaskAuditDTO.setHandleType(3);
+//                dto.setStatus(2);
+//                // 增加消息
+//                tNotice.setNoticeType(8);
+//                tNotice.setNoticeContent("【"+location.getLocationName()+"】督察任务不合格,请重新上传!");
+//                noticeService.save(tNotice);
+//                switch (noticeSet.getNoticeType()) {
+//                    case 1:
+//                        msgUtils.sendMsg5(sysUser.getPhonenumber(), location.getLocationName());
+//                        break;
+//                    case 2:
+//                        if (StringUtils.hasLength(email.getDataContent()) && StringUtils.hasLength(code.getDataContent())) {
+//                            EmailUtils.sendEmail(sysUser.getEmail(), email.getDataContent(), code.getDataContent(), "【"+location.getLocationName()+"】任务督察不合格,请及时整改!");
+//                        }
+//                        break;
+//                    case 3:
+//                        break;
+//                }
+//            }else{
+//                if (dto.getAuditTime()!=null){
+//                    dto.setStatus(3);
+//                }else{
+//                    dto.setStatus(4);
+//                }
+//            }
+//        }
+//        dto.setAuditTime(LocalDateTime.now());
+//        dto.setAuditPerson(tokenService.getLoginUser().getUserId()+"");
+//        inspectorService.updateById(dto);
+//        return R.ok();
     }
 }
 

--
Gitblit v1.7.1