From 7ca6d7d7da579f9a32c7d253eccb0f4e1ba6b6ef Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 20 一月 2026 14:01:55 +0800
Subject: [PATCH] 【丽水】/smartor/patarchive/patInfoByContion、/smartor/patarchive/exportPatInfo、/smartor/patarchive/getPatientInfoQC 调整sql,不关联pat_archivetag

---
 smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java |  106 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 101 insertions(+), 5 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
index 1786915..f9a5cb8 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
@@ -66,6 +66,8 @@
 
     @Autowired
     private RedisCache redisCache;
+    @Autowired
+    private PatArchivetagServiceImpl patArchivetagServiceImpl;
 
 
     /**
@@ -103,6 +105,16 @@
         patArchive.setCreateTime(DateUtils.getNowDate());
         patArchiveMapper.insertPatArchiveSingle(patArchive);
         return patArchive.getId().intValue();
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public Boolean updateArchive(PatArchive patArchive) {
+        int i = patArchiveMapper.updatePatArchive(patArchive);
+        if (i != 1) {
+            return false;
+        }
+        return true;
     }
 
     @Transactional(rollbackFor = Exception.class)
@@ -162,7 +174,7 @@
                 //鍘籸edis涓紝鏌ヨ鏄惁鏈塻ubid锛屾湁鐨勮瘽绉婚櫎cache-exist
                 if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
                     for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
-                        log.error("闇�瑕佺Щ闄ょ殑subId涓猴細{}", serviceSubtask.getId().toString());
+                        log.info("闇�瑕佺Щ闄ょ殑subId涓猴細{}", serviceSubtask.getId().toString());
                         serviceSubtaskMapper.deleteServiceSubtaskById(serviceSubtask.getId());
                         redisCache.removeElementFromList("cache-exist", serviceSubtask.getId().toString());
                         redisCache.removeElementFromList("cache-0", serviceSubtask.getId().toString());
@@ -269,6 +281,13 @@
             List<PatArchiveOthreInfo> patArchives3 = patArchiveMapper.selectPatArchiveInfoByPhysical(patArchiveReq);
             if (CollectionUtils.isNotEmpty(patArchives3)) {
                 patArchiveList.addAll(patArchives3);
+            }
+        } else if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 4) {
+            //  鏌ョ湅浣忛櫌  1  鏌ョ湅闂ㄨ瘖  2   鏌ョ湅浣撴  3   鏌ョ湅鍑洪櫌 4
+            patArchiveReq.setCry(1);
+            List<PatArchiveOthreInfo> patArchives1 = patArchiveMapper.selectPatArchiveInfoByInhospQC(patArchiveReq);
+            if (CollectionUtils.isNotEmpty(patArchives1)) {
+                patArchiveList.addAll(patArchives1);
             }
         }
 
@@ -548,7 +567,12 @@
     @Override
     public List<PatArchive> patInfoByContion(PatArchiveReq patArchive) {
         List<PatArchive> patArchives = new ArrayList<>();
-
+        if (ObjectUtils.isNotEmpty(patArchive.getPageNum()) && ObjectUtils.isNotEmpty(patArchive.getPageSize())) {
+            patArchive.setPn((patArchive.getPageNum() - 1) * patArchive.getPageSize());
+            patArchive.setPs(patArchive.getPageSize());
+            patArchive.setPageNum(null);
+            patArchive.setPageSize(null);
+        }
         //鏍规嵁鏉′欢鑾峰彇鎮h�呬俊鎭�
 //        List<PatArchive> patArchiveList = patArchiveMapper.patInfoByContion(patArchive);
         List<PatArchiveOthreInfo> patArchiveList = new ArrayList<>();
@@ -577,6 +601,13 @@
             List<PatArchiveOthreInfo> patArchives3 = patArchiveMapper.selectPatArchiveInfoByPhysical(patArchive);
             if (CollectionUtils.isNotEmpty(patArchives3)) {
                 patArchiveList.addAll(patArchives3);
+            }
+        } else if (patArchive.getAllhosp() != null && patArchive.getAllhosp() == 4) {
+            //  鏌ョ湅浣忛櫌  1  鏌ョ湅闂ㄨ瘖  2   鏌ョ湅浣撴  3   鏌ョ湅鍑洪櫌 4
+            patArchive.setCry(1);
+            List<PatArchiveOthreInfo> patArchives1 = patArchiveMapper.selectPatArchiveInfoByInhospQC(patArchive);
+            if (CollectionUtils.isNotEmpty(patArchives1)) {
+                patArchiveList.addAll(patArchives1);
             }
         }
 
@@ -741,26 +772,91 @@
 
         List<PatArchiveOthreInfo> patArchiveList = new ArrayList<>();
         if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 1) {
-            //  鏌ョ湅浣忛櫌  1  鏌ョ湅闂ㄨ瘖  2   鏌ョ湅浣撴  3
+            //  鏌ョ湅浣忛櫌  1  鏌ョ湅闂ㄨ瘖  2   鏌ョ湅浣撴  3    鏌ョ湅鍑洪櫌 4
+            patArchiveReq.setCry(0);
             List<PatArchiveOthreInfo> patArchives1 = patArchiveMapper.selectPatArchiveInfoByInhospQC(patArchiveReq);
             if (CollectionUtils.isNotEmpty(patArchives1)) {
                 patArchiveList.addAll(patArchives1);
             }
         } else if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 2) {
-            // 鏌ョ湅浣忛櫌  1  鏌ョ湅闂ㄨ瘖  2   鏌ョ湅浣撴  3
+            // 鏌ョ湅浣忛櫌  1  鏌ョ湅闂ㄨ瘖  2   鏌ョ湅浣撴  3 鏌ョ湅鍑洪櫌 4
             List<PatArchiveOthreInfo> patArchives2 = patArchiveMapper.selectPatArchiveInfoByOuthospQC(patArchiveReq);
             if (CollectionUtils.isNotEmpty(patArchives2)) {
                 patArchiveList.addAll(patArchives2);
             }
         } else if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 3) {
-            //  鏌ョ湅浣忛櫌  1  鏌ョ湅闂ㄨ瘖  2   鏌ョ湅浣撴  3
+            //  鏌ョ湅浣忛櫌  1  鏌ョ湅闂ㄨ瘖  2   鏌ョ湅浣撴  3 鏌ョ湅鍑洪櫌 4
             List<PatArchiveOthreInfo> patArchives3 = patArchiveMapper.selectPatArchiveInfoByPhysicalQC(patArchiveReq);
             if (CollectionUtils.isNotEmpty(patArchives3)) {
                 patArchiveList.addAll(patArchives3);
             }
+
+        } else if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 4) {
+            //  鏌ョ湅浣忛櫌  1  鏌ョ湅闂ㄨ瘖  2   鏌ョ湅浣撴  3   鏌ョ湅鍑洪櫌 4
+            patArchiveReq.setCry(1);
+            log.info("--------鏌ョ湅鍑洪櫌鐨勫叆鍙傚�间负锛歿}", patArchiveReq);
+            List<PatArchiveOthreInfo> patArchives1 = patArchiveMapper.selectPatArchiveInfoByInhospQC(patArchiveReq);
+            log.info("--------鏌ョ湅鍑洪櫌鐨勮繑鍙傚�间负锛歿}", patArchives1.size());
+            if (CollectionUtils.isNotEmpty(patArchives1)) {
+                patArchiveList.addAll(patArchives1);
+            }
         }
+//        //鏌ヨtagName
+//        List<Long> patIds = patArchiveList.stream().map(PatArchiveOthreInfo::getId).distinct().collect(Collectors.toList());
+//        Map<Long, String> patTagMap= patArchivetagMapper.getTagsByPatIds(patArchiveReq.getOrgid(),patIds);
+//        //瑁呴厤tagName
+//        if(ObjectUtils.isNotEmpty(patTagMap)){
+//            patArchiveList.forEach(patArchiveOthreInfo -> {
+//                String tagName = patTagMap.get(patArchiveOthreInfo.getId());
+//                if(StringUtils.isNotEmpty(tagName)){
+//                    patArchiveOthreInfo.setTag(tagName);
+//                }
+//            });
+//        }
 
         return patArchiveList;
     }
+
+    /**
+     * 鑾峰彇鎮h�呬俊鎭�(鍘婚噸)
+     *
+     * @param patArchiveReq
+     * @return
+     */
+//    @Override
+    /**
+     * 鑾峰彇鎮h�呬俊鎭�绘暟锛堝幓閲嶏級
+     *
+     * @param patArchiveReq
+     * @return
+     */
+    @Override
+    public Long getPatientInfoQCCount(PatArchiveReq patArchiveReq) {
+        if (CollectionUtils.isEmpty(patArchiveReq.getLeavehospitaldistrictcodes()) || patArchiveReq.getLeavehospitaldistrictcodes().size() == 0) {
+            patArchiveReq.setLeavehospitaldistrictcodes(null);
+        }
+        if (CollectionUtils.isEmpty(patArchiveReq.getLeaveldeptcodes()) || patArchiveReq.getLeaveldeptcodes().size() == 0) {
+            patArchiveReq.setLeaveldeptcodes(null);
+        }
+
+        Long count = 0L;
+        if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 1) {
+            //  鏌ョ湅浣忛櫌  1  鏌ョ湅闂ㄨ瘖  2   鏌ョ湅浣撴  3    鏌ョ湅鍑洪櫌 4
+            patArchiveReq.setCry(0);
+            count = patArchiveMapper.countPatArchiveInfoByInhospQC(patArchiveReq);
+        } else if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 2) {
+            // 鏌ョ湅浣忛櫌  1  鏌ョ湅闂ㄨ瘖  2   鏌ョ湅浣撴  3 鏌ョ湅鍑洪櫌 4
+            count = patArchiveMapper.countPatArchiveInfoByOuthospQC(patArchiveReq);
+        } else if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 3) {
+            //  鏌ョ湅浣忛櫌  1  鏌ョ湅闂ㄨ瘖  2   鏌ョ湅浣撴  3 鏌ョ湅鍑洪櫌 4
+            count = patArchiveMapper.countPatArchiveInfoByPhysicalQC(patArchiveReq);
+        } else if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 4) {
+            //  鏌ョ湅浣忛櫌  1  鏌ョ湅闂ㄨ瘖  2   鏌ョ湅浣撴  3   鏌ョ湅鍑洪櫌 4
+            patArchiveReq.setCry(1);
+            count = patArchiveMapper.countPatArchiveInfoByInhospQC(patArchiveReq);
+        }
+
+        return count;
+    }
 }
 

--
Gitblit v1.9.3