From 9819e228f5ee6ace0ad0ec56661f6da953f5148f Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期三, 18 三月 2026 16:41:43 +0800
Subject: [PATCH] 【丽水】获取当前用户随访数量统计 补充

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java |   37 ++++++++++++++++++++++++++++++-------
 1 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
index 10d2848..62b009e 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
@@ -10,6 +10,7 @@
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.entity.SysUserDept;
 import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.core.redis.RedisCache;
@@ -24,6 +25,7 @@
 import com.ruoyi.common.utils.uuid.IdUtils;
 import com.ruoyi.system.domain.SysConfig;
 import com.ruoyi.system.service.ISysConfigService;
+import com.ruoyi.system.service.ISysUserDeptService;
 import com.smartor.domain.*;
 import com.smartor.domain.VO.ServiceSubtaskVO;
 import com.smartor.domain.entity.ServiceSubtaskEntity;
@@ -72,6 +74,9 @@
 
     @Autowired
     private IServiceTaskService serviceTaskService;
+
+    @Autowired
+    private ISysUserDeptService sysUserDeptService;
 
     @Autowired
     private IServiceSubtaskRecordService serviceSubtaskRecordService;
@@ -658,6 +663,7 @@
      *         pendingVisitCount: 褰撳墠鐧诲綍浜烘埅姝粖鏃ュ緟闅忚鎬婚噺
      *         failedVisitCount: 褰撳墠鐧诲綍浜洪殢璁夸换鍔″け璐ユ�婚噺
      *         abnormalVisitVount: 褰撳墠鐧诲綍浜洪殢璁夸换鍔″紓甯告�婚噺
+     *         allVisitCount: 褰撳墠鐧诲綍浜洪殢璁夸换鍔℃�婚噺
      */
     @ApiOperation("鑾峰彇褰撳墠鐢ㄦ埛闅忚鏁伴噺缁熻")
     @PostMapping("/getCurrentUserServiceSubtaskCount")
@@ -665,13 +671,30 @@
         Map<String, Object> map = new HashMap<>();
         LoginUser loginUser = getLoginUser();
         SysUser sysUser = loginUser.getUser();
-        if (ObjectUtils.isNotEmpty(sysUser)) {
-            List<String> deptCodes = sysUser.getDeptCodes();
-            List<String> wardCodes = sysUser.getWardCodes();
-            ServiceSubtaskEntity entity = new ServiceSubtaskEntity();
-            entity.setLeaveldeptcodes(deptCodes);
-            entity.setLeavehospitaldistrictcodes(wardCodes);
-            map = serviceSubtaskService.getCurrentUserServiceSubtaskCount(entity);
+        SysUserDept sysUserDept = new SysUserDept();
+        sysUserDept.setUserId(sysUser.getUserId());
+        sysUserDept.setOrgid(sysUser.getOrgid());
+        sysUserDept.setDeptType("1");
+        List<SysUserDept> sysUserDepts = sysUserDeptService.selectSysUserDeptList(sysUserDept);
+        SysUserDept sysUserWard = new SysUserDept();
+        sysUserWard.setUserId(sysUser.getUserId());
+        sysUserWard.setOrgid(sysUser.getOrgid());
+        sysUserWard.setDeptType("2");
+        List<SysUserDept> sysUserWards = sysUserDeptService.selectSysUserDeptList(sysUserWard);
+        List<String> deptCodes = sysUserDepts.stream().map(SysUserDept::getDeptCode).collect(Collectors.toList());
+        List<String> wardCodes = sysUserWards.stream().map(SysUserDept::getDeptCode).collect(Collectors.toList());
+        ServiceSubtaskEntity entity = new ServiceSubtaskEntity();
+        entity.setOrgid(sysUser.getOrgid());
+        entity.setLeaveldeptcodes(deptCodes);
+        entity.setLeavehospitaldistrictcodes(wardCodes);
+        if(ObjectUtils.isNotEmpty(sysUser)){
+            if(!("admin").equals(sysUser.getUserName())){
+                if(ObjectUtils.isNotEmpty(sysUserWards) && ObjectUtils.isNotEmpty(sysUserDepts)){
+                    map = serviceSubtaskService.getCurrentUserServiceSubtaskCount(entity);
+                }
+            }else {
+                map = serviceSubtaskService.getCurrentUserServiceSubtaskCount(entity);
+            }
         }
         return map;
     }

--
Gitblit v1.9.3