From 6f7e8d037e84b692ebcf786883138f5b35fb7343 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期四, 02 四月 2026 11:14:53 +0800
Subject: [PATCH] 【丽水】门诊统计和首页数据对齐

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java |   38 ++++++++++++++++++++++++++++++--------
 1 files changed, 30 insertions(+), 8 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 f43a74c..f0d78ce 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;
@@ -203,7 +208,7 @@
     //@PreAuthorize("@ss.hasPermi('system:taskcall:export')")
     @Log(title = "鍗曚竴浠诲姟锛堥殢璁垮鏁欙級", businessType = BusinessType.EXPORT)
     @PostMapping("/patItemExport")
-    public void patItemExport(HttpServletResponse response, ServiceSubtaskEntity serviceSubtaskVO) {
+    public void patItemExport(HttpServletResponse response, @RequestBody ServiceSubtaskEntity serviceSubtaskVO) {
         List<ServiceSubtaskRes> serviceSubtaskList = null;
         if (serviceSubtaskVO != null) {
             if (serviceSubtaskVO.getPageNum() != null && serviceSubtaskVO.getPageSize() != null)
@@ -666,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