From 946e9e3154fc9859ffd19ea8345d6e6268c51369 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 28 一月 2026 19:08:13 +0800
Subject: [PATCH] 处理数据查询慢的问题

---
 smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java |   45 +++++++++++++++++++++++----------------------
 1 files changed, 23 insertions(+), 22 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java
index 988b5af..3f2f265 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java
@@ -71,31 +71,32 @@
      * @return 鎮h�呴棬璇婅褰�
      */
     @Override
-    @Cacheable(value = "selectPatMedOuthospList", key = "T(org.springframework.util.DigestUtils).md5DigestAsHex(#patMedOuthosp.toString().getBytes())", unless = "#result == null or #result.isEmpty()")
     public List<PatMedOuthosp> selectPatMedOuthospList(PatMedOuthosp patMedOuthosp) {
         List<PatMedOuthosp> patMedOuthosps = patMedOuthospMapper.selectPatMedOuthospList(patMedOuthosp);
-        for (PatMedOuthosp patMedOuthosp1 : patMedOuthosps) {
-            PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOuthosp1.getPatid());
-            if (patArchive.getBirthdate() != null) {
-                Map<String, String> map = calculateAge(patArchive.getBirthdate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), LocalDate.now());
-                patArchive.setAge(ObjectUtils.isNotEmpty(map.get("age")) ? Long.valueOf(map.get("age")) : null);
-                patArchive.setAgeUnit(map.get("ageUnit"));
-                patArchive.setAge2(ObjectUtils.isNotEmpty(map.get("age2")) ? Long.valueOf(map.get("age2")) : null);
-                patArchive.setAgeUnit2(map.get("ageUnit2"));
-                patMedOuthosp1.setAge(patArchive.getAge() + patArchive.getAgeUnit() + patArchive.getAge2() + patArchive.getAgeUnit2());
-                patMedOuthosp1.setTelcode(patArchive.getTelcode());
-                patMedOuthosp1.setIdcardno(patArchive.getIdcardno());
+        if (patMedOuthosp.getPageNum() != null) {
+            for (PatMedOuthosp patMedOuthosp1 : patMedOuthosps) {
+                PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOuthosp1.getPatid());
+                if (patArchive.getBirthdate() != null) {
+                    Map<String, String> map = calculateAge(patArchive.getBirthdate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), LocalDate.now());
+                    patArchive.setAge(ObjectUtils.isNotEmpty(map.get("age")) ? Long.valueOf(map.get("age")) : null);
+                    patArchive.setAgeUnit(map.get("ageUnit"));
+                    patArchive.setAge2(ObjectUtils.isNotEmpty(map.get("age2")) ? Long.valueOf(map.get("age2")) : null);
+                    patArchive.setAgeUnit2(map.get("ageUnit2"));
+                    patMedOuthosp1.setAge(patArchive.getAge() + patArchive.getAgeUnit() + patArchive.getAge2() + patArchive.getAgeUnit2());
+                    patMedOuthosp1.setTelcode(patArchive.getTelcode());
+                    patMedOuthosp1.setIdcardno(patArchive.getIdcardno());
+                }
+                ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+                serviceSubtaskVO.setPatid(patMedOuthosp1.getPatid());
+                List<Long> sendstates = new ArrayList<>();
+                sendstates.add(1L);
+                sendstates.add(2L);
+                sendstates.add(3L);
+                serviceSubtaskVO.setSendstates(sendstates);
+                serviceSubtaskVO.setServiceType("3");
+                List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskBySendstate(serviceSubtaskVO);
+                if (!CollectionUtils.isEmpty(serviceSubtaskList)) patMedOuthosp1.setServerState("1");
             }
-            ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
-            serviceSubtaskVO.setPatid(patMedOuthosp1.getPatid());
-            List<Long> sendstates = new ArrayList<>();
-            sendstates.add(1L);
-            sendstates.add(2L);
-            sendstates.add(3L);
-            serviceSubtaskVO.setSendstates(sendstates);
-            serviceSubtaskVO.setServiceType("3");
-            List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskBySendstate(serviceSubtaskVO);
-            if (!CollectionUtils.isEmpty(serviceSubtaskList)) patMedOuthosp1.setServerState("1");
         }
         return patMedOuthosps;
     }

--
Gitblit v1.9.3