From 9f9e9be084ea03f7b7eb301f2f6e201c6c2589d7 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期三, 05 八月 2026 17:10:31 +0800
Subject: [PATCH] 【景宁】手术随访增加出院科室、病区限制

---
 smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java |   30 +++++++++++++++++++++++++++---
 1 files changed, 27 insertions(+), 3 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 66d22d4..9276652 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -1204,12 +1204,23 @@
                 patMedOuthosp.setFuflag("1");
             }
         }
+        Integer visitTimeNum = null;
+        String visitTimeUnit = "澶�";
         for (ExternalWZInfo externalWZInfo : ExternalWZInfoList) {
             if (externalWZInfo.getWenZhenLXMC().equals("鐜扮梾鍙�")) {
                 patMedOuthosp.setHpi(externalWZInfo.getNeiRong());
             }
             if (externalWZInfo.getWenZhenLXMC().equals("涓昏瘔")) {
                 patMedOuthosp.setMainsuit(externalWZInfo.getNeiRong());
+            }
+            if (externalWZInfo.getWenZhenLXMC().equals("闅忚澶╂暟")) {
+                String visitTimeNumStr = externalWZInfo.getNeiRong();
+                if(StringUtils.isNotEmpty(visitTimeNumStr) && visitTimeNumStr.matches("^-?\\d+$")){
+                    visitTimeNum = Integer.parseInt(visitTimeNumStr);
+                }
+            }
+            if (externalWZInfo.getWenZhenLXMC().equals("闅忚澶╂暟鍗曚綅")) {
+                visitTimeUnit = externalWZInfo.getNeiRong();
             }
         }
         int i = 0;
@@ -1230,6 +1241,11 @@
             }
             i = patMedOuthospService.insertPatMedOuthosp(patMedOuthosp);
 
+        }
+        Date adminDate = externalJZInfo.getJiuZhenRQ();
+        //瀹屾垚鎺ヨ瘖 宸茬粡瀹屾垚浠诲姟鍐嶆闅忚
+        if(ObjectUtils.isNotEmpty(visitTimeNum) && ObjectUtils.isNotEmpty(adminDate)){
+            patMedOuthospService.followUpAgainByPatMedOuthosp(patMedOuthosp, adminDate, visitTimeNum);
         }
 
         if (i > 0) {
@@ -1319,7 +1335,6 @@
         Map yeWuXX = (Map) dataMap.get("YeWuXX");
         Map<String, Object> BingRenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null;
         ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true);
-
         PatArchive patArchive = addPatArchive(externalInHospPatientInfo, null, null);
 
 
@@ -1340,6 +1355,10 @@
         patMedOperation.setPatid(patArchive.getId());
         patMedOperation.setPatcode(externalInHospPatientInfo.getBingRenID());
         patMedOperation.setPaname(externalInHospPatientInfo.getXingMing());
+        patMedOperation.setLeaveldeptcode(externalInHospPatientInfo.getDangQianKSID());
+        patMedOperation.setLeaveldeptname(externalInHospPatientInfo.getDangQianKSMC());
+        patMedOperation.setLeavehospitaldistrictcode(externalInHospPatientInfo.getDangQianBQID());
+        patMedOperation.setLeavehospitaldistrictname(externalInHospPatientInfo.getDangQianBQMC());
         patMedOperation.setOpreqcode(externalOperationInfo.getShenQingDID());
         //鏌ヨ涓�涓嬶紝璇ユ偅鑰呮槸鍚﹀凡缁忔湁杩欎簺鏁版嵁
         List<PatMedOperation> patMedOperations = patMedOperationMapper.selectPatMedOperationList(patMedOperation);
@@ -1441,7 +1460,9 @@
             Boolean addMianTableFalg = true;
             for (ExternalOperationDetail externalOperationDetail : externalOperationDetails) {
                 PatMedOperationItem patMedOperationItem = new PatMedOperationItem();
-                patMedOperationItem.setOpid(patMedOperation.getOpid());
+                if(ObjectUtils.isNotEmpty(patMedOperation.getId())){
+                    patMedOperationItem.setOpid(patMedOperation.getId().toString());
+                }
                 patMedOperationItem.setOpcode(externalOperationDetail.getShouShuMCID());
                 patMedOperationItem.setOpdesc(externalOperationDetail.getShouShuMC());
                 patMedOperationItem.setMainFlag(externalOperationDetail.getZhuShouSBZ());
@@ -1457,7 +1478,10 @@
                 if (externalOperationDetail.getZhuShouSBZ().equals("1") && addMianTableFalg == true) {
                     patMedOperation.setOpcode(externalOperationDetail.getShouShuMCID());
                     patMedOperation.setOpdesc(externalOperationDetail.getShouShuMC());
-//                    patMedOperation.setOpid(externalOperationDetail.getShouShuJBDM());
+                    if(ObjectUtils.isNotEmpty(patMedOperation.getId())){
+                        patMedOperation.setOpid(patMedOperation.getId().toString());
+                    }
+
                     patMedOperation.setUpdateTime(new Date());
                     patMedOperationMapper.updatePatMedOperation(patMedOperation);
                     addMianTableFalg = false;

--
Gitblit v1.9.3