From d6d3e4287589f0be15181e8daf5c8eedf2c23d51 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期五, 05 六月 2026 15:03:28 +0800
Subject: [PATCH] 【丽水】病区Json

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 58 insertions(+), 0 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 d458f35..0f3c6be 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
@@ -1,6 +1,9 @@
 package com.ruoyi.web.controller.smartor;
 
+import com.alibaba.fastjson.JSON;
 import com.github.pagehelper.ISelect;
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
 import com.ruoyi.common.annotation.AddOrgId;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.constant.HttpStatus;
@@ -89,6 +92,9 @@
 
     @Value("${spring.profiles.active}")
     private String active;
+
+    @Value("${isAdmin}")
+    private List<Long> isAdmin;
 
     @Autowired
     private RedisCache redisCache;
@@ -546,6 +552,33 @@
         Integer offset = PageUtils.getOffset(serviceSubtaskCountReq.getPageNum(), serviceSubtaskCountReq.getPageSize());
         serviceSubtaskCountReq.setPageNum(offset);
 
+        Integer statisticaltype = serviceSubtaskCountReq.getStatisticaltype();
+
+        if(ObjectUtils.isNotEmpty(statisticaltype)){
+            SysUser user = getLoginUser().getUser();
+            if(!isAdmin.contains(user.getUserId())){
+                if(statisticaltype==1){
+                    if(CollectionUtils.isEmpty(serviceSubtaskCountReq.getLeavehospitaldistrictcodes())){
+                        //鍏ㄩ儴鐥呭尯
+                        String deptInfo = user.getDeptInfo();
+                        List<String> leavehospitaldistrictcodes = JSON.parseArray(deptInfo)
+                                .stream()
+                                .map(item -> (String) ((List<?>) item).get(0)).collect(Collectors.toList());
+                        serviceSubtaskCountReq.setLeavehospitaldistrictcodes(leavehospitaldistrictcodes);
+                    }
+                }else if(statisticaltype==2){
+                    if(CollectionUtils.isEmpty(serviceSubtaskCountReq.getDeptcodes())){
+                        //鍏ㄩ儴绉戝
+                        String hospInfo = user.getHospInfo();
+                        List<String> deptCodes = JSON.parseArray(hospInfo)
+                                .stream()
+                                .map(item -> (String) ((List<?>) item).get(0)).collect(Collectors.toList());
+                        serviceSubtaskCountReq.setDeptcodes(deptCodes);
+                    }
+                }
+            }
+        }
+
         String followUpCountStyle = configService.selectConfigByKey("followUpCountStyle", serviceSubtaskCountReq.getOrgid());
         if (ObjectUtils.isNotEmpty(followUpCountStyle)) {
             serviceSubtaskCountReq.setFollowUpCountStyle(followUpCountStyle);
@@ -559,6 +592,31 @@
     }
 
     /**
+     * 鑾峰彇涓撶梾闅忚缁熻姣斾緥
+     */
+    @ApiOperation("鑾峰彇涓撶梾闅忚缁熻姣斾緥")
+    @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
+    @PostMapping("/getSpecialSfStatistics")
+    public Map<String, Object> getSpecialSfStatistics(@RequestBody ServiceSubtaskCountReq serviceSubtaskCountReq) {
+        if (CollectionUtils.isEmpty(serviceSubtaskCountReq.getServiceType())) {
+            return error("鏈嶅姟绫诲瀷涓嶈兘涓虹┖");
+        }
+        Integer offset = PageUtils.getOffset(serviceSubtaskCountReq.getPageNum(), serviceSubtaskCountReq.getPageSize());
+        serviceSubtaskCountReq.setPageNum(offset);
+
+        String followUpCountStyle = configService.selectConfigByKey("followUpCountStyle", serviceSubtaskCountReq.getOrgid());
+        if (ObjectUtils.isNotEmpty(followUpCountStyle)) {
+            serviceSubtaskCountReq.setFollowUpCountStyle(followUpCountStyle);
+        } else {
+            serviceSubtaskCountReq.setFollowUpCountStyle("1");
+        }
+        serviceSubtaskCountReq.setPageNum(null);
+        serviceSubtaskCountReq.setPageSize(null);
+        List<ServiceSubtaskStatistic> sfStatistics = serviceSubtaskService.getSpecialSfStatistics(serviceSubtaskCountReq);
+        return getDataTable4(CollectionUtils.isEmpty(sfStatistics) ? sfStatistics.size() : 0, serviceSubtaskService.getSpecialSfStatistics(serviceSubtaskCountReq));
+    }
+
+    /**
      * 鑾峰彇闅忚缁熻姣斾緥
      */
     @ApiOperation("鑾峰彇闅忚婊℃剰搴︾粺璁�")

--
Gitblit v1.9.3