From c24d16a37523a49080392610357872ce580cbc38 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 26 十月 2026 14:03:33 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-task/src/main/java/com/ruoyi/task/controller/ServiceSubtaskController.java |   42 +++++++++++++++++++++++++++++++++++-------
 1 files changed, 35 insertions(+), 7 deletions(-)

diff --git a/ruoyi-task/src/main/java/com/ruoyi/task/controller/ServiceSubtaskController.java b/ruoyi-task/src/main/java/com/ruoyi/task/controller/ServiceSubtaskController.java
index ae47d97..4087dd9 100644
--- a/ruoyi-task/src/main/java/com/ruoyi/task/controller/ServiceSubtaskController.java
+++ b/ruoyi-task/src/main/java/com/ruoyi/task/controller/ServiceSubtaskController.java
@@ -160,6 +160,10 @@
     @ApiOperation("鏌ヨ鎮h�呴殢璁夸俊鎭�")
     @PostMapping("/patItem")
     public Map<String, Object> patItem(@RequestBody ServiceSubtaskVO serviceSubtaskVO) {
+        // ==== 涓存椂璇婃柇璁℃椂锛氱‘璁ゆ參鍦ㄥ摢涓�娈靛悗鏁存鍒犻櫎鍗冲彲锛堝彧鍔犳棩蹇楋紝涓嶆敼閫昏緫锛�====
+        long tTotal = System.currentTimeMillis();
+        long tMark = tTotal;
+
         serviceSubtaskVO.setPageNum(PageUtils.getOffset(serviceSubtaskVO.getPageNum(), serviceSubtaskVO.getPageSize()));
         List<ServiceSubtaskRes> serviceSubtaskList = null;
         LoginUser loginUser = getLoginUser();
@@ -172,17 +176,26 @@
             serviceSubtaskEntity.setContinueContent(ObjectUtils.isNotEmpty(serviceSubtaskVO.getContinueContent()) ? serviceSubtaskVO.getContinueContent().toString() : null);
             serviceSubtaskList = serviceSubtaskService.patItem(serviceSubtaskEntity);
         }
+        log.info("[patItem鑰楁椂] 1.鍒楄〃椤�(涓ら樁娈靛垎椤�)={}ms锛岃鏁�={}", System.currentTimeMillis() - tMark,
+                serviceSubtaskList == null ? -1 : serviceSubtaskList.size());
+        tMark = System.currentTimeMillis();
 
         // 鎵归噺鏌� subtask_record锛�1娆QL鏇夸唬寰幆涓璑娆″崟鐙煡
-        List<Long> subtaskIds = serviceSubtaskList.stream().map(ServiceSubtaskRes::getId).filter(ObjectUtils::isNotEmpty).collect(Collectors.toList());
-        Map<Long, List<ServiceSubtaskRecord>> recordMap = serviceSubtaskRecordService.selectRecordMapBySubtaskIds(subtaskIds);
-
-        for (ServiceSubtaskRes serviceSubtask : serviceSubtaskList) {
-            serviceSubtask.setServiceSubtaskRecordList(recordMap.getOrDefault(serviceSubtask.getId(), new ArrayList<>()));
-        }
+//        List<Long> subtaskIds = serviceSubtaskList.stream().map(ServiceSubtaskRes::getId).filter(ObjectUtils::isNotEmpty).collect(Collectors.toList());
+//        Map<Long, List<ServiceSubtaskRecord>> recordMap = serviceSubtaskRecordService.selectRecordMapBySubtaskIds(subtaskIds);
+//        log.info("[patItem鑰楁椂] 2.subtask_record鎵归噺={}ms锛屽叆鍙俰d鏁�={}", System.currentTimeMillis() - tMark, subtaskIds.size());
+//        tMark = System.currentTimeMillis();
+//
+//        for (ServiceSubtaskRes serviceSubtask : serviceSubtaskList) {
+//            serviceSubtask.setServiceSubtaskRecordList(recordMap.getOrDefault(serviceSubtask.getId(), new ArrayList<>()));
+//        }
+        log.info("[patItem鑰楁椂] 3.璁板綍鍥炲~={}ms", System.currentTimeMillis() - tMark);
+        tMark = System.currentTimeMillis();
 
 //      patItemCount 璧癛edis缂撳瓨鐗堬紝閬垮厤姣忔鍏ㄨ〃鑱氬悎鎵弿
         Map<String, Object> map = getPatItemCountWithCache(serviceSubtaskEntity);
+        log.info("[patItem鑰楁椂] 4.缁熻patItemCount(鍚紦瀛�)={}ms", System.currentTimeMillis() - tMark);
+        tMark = System.currentTimeMillis();
         map.put("serviceSubtaskList", serviceSubtaskList);
         List<Map<String, Object>> list = new ArrayList<>();
         list.add(map);
@@ -200,6 +213,8 @@
             total = CollectionUtils.isNotEmpty(serviceSubtasks) ? serviceSubtasks.size() : 0L;
         }
 
+        log.info("[patItem鑰楁椂] 5.缁勮杩斿洖total={}={}ms锛屾暣浣撳悎璁�={}ms", total,
+                System.currentTimeMillis() - tMark, System.currentTimeMillis() - tTotal);
         return getDataTable3(total, list);
     }
 
@@ -774,7 +789,12 @@
     @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
     @PostMapping("/getSfStatisticsCountDetails")
     public AjaxResult getSfStatisticsCountDetails(@RequestBody ServiceSubtaskCountReq serviceSubtaskCountReq) {
-        if (serviceSubtaskCountReq.getLeavehospitaldistrictcodes().size() == 0 && serviceSubtaskCountReq.getDeptcodes().size() == 0) {
+        boolean noDeptOrDistrict = CollectionUtils.isEmpty(serviceSubtaskCountReq.getLeavehospitaldistrictcodes())
+                && CollectionUtils.isEmpty(serviceSubtaskCountReq.getDeptcodes())
+                && CollectionUtils.isEmpty(serviceSubtaskCountReq.getLeaveldeptcodes())
+                && CollectionUtils.isEmpty(serviceSubtaskCountReq.getHospitaldeptcodes())
+                && CollectionUtils.isEmpty(serviceSubtaskCountReq.getHospitaldistrictcodes());
+        if (noDeptOrDistrict) {
             return error("绉戝鎴栫梾鍖轰笉鑳戒负绌�");
         }
         //澶嶈瘖缁熻
@@ -980,23 +1000,31 @@
                 serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(4L)));
         }
         if (ObjectUtils.isNotEmpty(userId)) {
+            long tRedis = System.currentTimeMillis();
             Map<String, Object> redisMap = redisCache.getCacheObject(userId + "patItemCount");
+            log.info("[patItem鑰楁椂] 4.1 Redis鍙朿ount缂撳瓨={}ms", System.currentTimeMillis() - tRedis);
             Boolean redisFlag = false;
             if (MapUtils.isNotEmpty(redisMap)) {
+                long tCmp = System.currentTimeMillis();
                 ServiceSubtaskEntity oldCondition = (ServiceSubtaskEntity) redisMap.get("searchCondition");
                 if (ObjectUtils.isNotEmpty(oldCondition) && isSameCondition(oldCondition, serviceSubtaskEntity)) {
                     redisFlag = true;
                     map = redisMap;
                     redisCache.setCacheObject(userId + "patItemCount", map, 60, TimeUnit.MINUTES);
                 }
+                log.info("[patItem鑰楁椂] 4.2 鏉′欢姣斿={}ms锛屽懡涓�={}", System.currentTimeMillis() - tCmp, redisFlag);
             }
             if (!redisFlag) {
+                long tCalc = System.currentTimeMillis();
                 map = serviceSubtaskService.patItemCount(serviceSubtaskEntity);
+                log.info("[patItem鑰楁椂] 4.3 count鑱氬悎(鏈懡涓紦瀛橈紝璧板簱)={}ms", System.currentTimeMillis() - tCalc);
                 map.put("searchCondition", serviceSubtaskEntity);
                 redisCache.setCacheObject(userId + "patItemCount", map, 120, TimeUnit.MINUTES);
             }
         } else {
+            long tCalc = System.currentTimeMillis();
             map = serviceSubtaskService.patItemCount(serviceSubtaskEntity);
+            log.info("[patItem鑰楁椂] 4.3 count鑱氬悎(鏃犵櫥褰曚汉锛岃蛋搴�)={}ms", System.currentTimeMillis() - tCalc);
         }
         return map;
     }

--
Gitblit v1.9.3