From 579438ab87a88332f3643fbeefb3bbc43c87ae59 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期三, 04 十一月 2026 10:36:43 +0800
Subject: [PATCH] 【丽水】妇幼门诊接诊完成记录生成专科档案

---
 smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java |   74 +++++++-----------------------------
 1 files changed, 15 insertions(+), 59 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
index 0ae7652..186e31c 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -18,9 +18,8 @@
 import com.smartor.domain.*;
 import com.smartor.domain.entity.ServiceSubtaskEntity;
 import com.smartor.mapper.*;
-import com.smartor.service.IPatChildArchiveService;
-import com.smartor.service.IPatMaternityArchiveService;
 import com.smartor.service.IPatMedOuthospService;
+import com.smartor.service.IPatSpecificArchiveGenerateService;
 import com.smartor.service.IServiceExternalService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
@@ -79,9 +78,7 @@
     @Autowired
     private ISysConfigService configService;
     @Autowired
-    private IPatMaternityArchiveService patMaternityArchiveService;
-    @Autowired
-    private IPatChildArchiveService patChildArchiveService;
+    private IPatSpecificArchiveGenerateService patSpecificArchiveGenerateService;
     @Autowired
     private PatMedOuthospMapper patMedOuthospMapper;
     @Autowired
@@ -2459,61 +2456,20 @@
         return 1;
     }
 
-    //鏂板鎮h�呬笓绉戞。妗堝熀鏈俊鎭�
+    /**
+     * 瀹屾垚鎺ヨ瘖鏃舵寜涓撶妗f鐢熸垚閰嶇疆鐢熸垚濡囩/鍎跨妗f銆�
+     *
+     * <p>鐢熸垚閫昏緫鍐呴儴鍙鎸囧畾鏈烘瀯鐢熸晥锛屾湭鍛戒腑閰嶇疆鎴栫敓鎴愬け璐ュ潎涓嶅奖鍝嶆帴璇婁富娴佺▼銆�</p>
+     */
     private void genePatSpecificArchive(PatMedOuthosp patMedOuthosp, PatArchive patArchive) {
-        String deptCategory = judgeDeptCategory(patMedOuthosp.getDeptcode(), patMedOuthosp.getOrgid());
-
-        boolean isGynecology = "1".equals(deptCategory);  // 鏄惁濡囩
-        boolean isPediatrics = "2".equals(deptCategory);  // 鏄惁鍎跨
-
-        if (isGynecology) {
-            // 璧板绉戞。妗堢敓鎴愰�昏緫
-            PatMaternityArchiveDetail patMaternityArchiveDetail
-                    = DtoConversionUtils.sourceToTarget(patMedOuthosp, PatMaternityArchiveDetail.class);
-            patMaternityArchiveDetail.setSourceType("1");
-            patMaternityArchiveDetail.setPhone(patArchive.getTelcode());
-            patMaternityArchiveDetail.setPatid(patArchive.getId());
-            patMaternityArchiveDetail.setPatname(patArchive.getName());
-            patMaternityArchiveDetail.setBirthdate(patArchive.getBirthdate());
-            patMaternityArchiveDetail.setSex(patArchive.getSex());
-            patMaternityArchiveDetail.setAddress(patArchive.getPlaceOfResidence());
-            patMaternityArchiveDetail.setOuthospno(patMedOuthosp.getOuthospno());
-            patMaternityArchiveDetail.setSerialnum(patMedOuthosp.getSerialnum());
-            patMaternityArchiveDetail.setIcd10code(patMedOuthosp.getIcd10code());
-            patMaternityArchiveDetail.setDeptcode(patMedOuthosp.getDeptcode());
-            patMaternityArchiveDetail.setDeptname(patMedOuthosp.getDeptname());
-            patMaternityArchiveDetail.setDoctorName(patMedOuthosp.getDrname());
-            patMaternityArchiveDetail.setDoctorCode(patMedOuthosp.getDrcode());
-            patMaternityArchiveDetail.setManagementDoctorName(patMedOuthosp.getDrname());
-            patMaternityArchiveDetail.setManagementDoctorCode(patMedOuthosp.getDrcode());
-            patMaternityArchiveDetail.setOrgid(patMedOuthosp.getOrgid());
-            patMaternityArchiveDetail.setCampusid(patMedOuthosp.getCampusid());
-            patMaternityArchiveService.insertOrUpdateMaternityArchive(patMaternityArchiveDetail);
-        } else if (isPediatrics) {
-            // 璧板効绉戞。妗堢敓鎴愰�昏緫
-            PatChildArchiveDetail patChildArchiveDetail
-                    = DtoConversionUtils.sourceToTarget(patMedOuthosp, PatChildArchiveDetail.class);
-            patChildArchiveDetail.setSourceType("1");
-            patChildArchiveDetail.setPhone(patArchive.getTelcode());
-            patChildArchiveDetail.setPatid(patArchive.getId());
-            patChildArchiveDetail.setPatname(patArchive.getName());
-            patChildArchiveDetail.setBirthdate(patArchive.getBirthdate());
-            patChildArchiveDetail.setSex(patArchive.getSex());
-//            patChildArchiveDetail.setAddress(patArchive.getPlaceOfResidence());
-            patChildArchiveDetail.setOuthospno(patMedOuthosp.getOuthospno());
-            patChildArchiveDetail.setSerialnum(patMedOuthosp.getSerialnum());
-            patChildArchiveDetail.setIcd10code(patMedOuthosp.getIcd10code());
-            patChildArchiveDetail.setDeptcode(patMedOuthosp.getDeptcode());
-            patChildArchiveDetail.setDeptname(patMedOuthosp.getDeptname());
-            patChildArchiveDetail.setDoctorName(patMedOuthosp.getDrname());
-            patChildArchiveDetail.setDoctorCode(patMedOuthosp.getDrcode());
-            patChildArchiveDetail.setManagementDoctorName(patMedOuthosp.getDrname());
-            patChildArchiveDetail.setManagementDoctorCode(patMedOuthosp.getDrcode());
-            patChildArchiveDetail.setOrgid(patMedOuthosp.getOrgid());
-            patChildArchiveDetail.setCampusid(patMedOuthosp.getCampusid());
-            patChildArchiveService.insertOrUpdateChildArchive(patChildArchiveDetail);
-        } else {
-            // 鏈懡涓厤缃紝涓嶇敓鎴愭。妗�
+        try {
+            int generated = patSpecificArchiveGenerateService.generateByOuthosp(patMedOuthosp, patArchive);
+            if (generated > 0) {
+                log.info("瀹屾垚鎺ヨ瘖鑷姩鐢熸垚涓撶妗f鎴愬姛锛宱uthospno={}锛岀敓鎴愭暟閲�={}",
+                        patMedOuthosp.getOuthospno(), generated);
+            }
+        } catch (Exception e) {
+            log.error("瀹屾垚鎺ヨ瘖鑷姩鐢熸垚涓撶妗f澶辫触锛宱uthospno={}", patMedOuthosp.getOuthospno(), e);
         }
     }
 

--
Gitblit v1.9.3