From cf8712a9c0816559f50644f15672e7359028c4c4 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期三, 11 十一月 2026 14:02:58 +0800
Subject: [PATCH] 妇幼-住院完成生成

---
 smartor/src/main/java/com/smartor/service/impl/PatChildArchiveServiceImpl.java |   18 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/PatChildArchiveServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatChildArchiveServiceImpl.java
index 4dd9148..9ccd188 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatChildArchiveServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatChildArchiveServiceImpl.java
@@ -88,8 +88,9 @@
             log.error("insertOrUpdateChildArchive鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
             throw new BaseException("鍎跨妗f鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
         }
-        if (StringUtils.isEmpty(patChildArchiveDetail.getOuthospno())) {
-            throw new BaseException("鍎跨妗f鍏ュ弬闂ㄨ瘖缂栧彿outhospno涓虹┖锛岃妫�鏌ュ叆鍙傞棬璇婄紪鍙�");
+        if (StringUtils.isEmpty(patChildArchiveDetail.getOuthospno())
+                && StringUtils.isEmpty(patChildArchiveDetail.getInhospno())) {
+            throw new BaseException("鍎跨妗f鍏ュ弬闂ㄨ瘖缂栧彿outhospno鍜屼綇闄㈢紪鍙穒nhospno涓嶈兘鍚屾椂涓虹┖");
         }
         if (StringUtils.isEmpty(patChildArchiveDetail.getArchiveType())) {
             throw new BaseException("鍎跨妗f鍏ュ弬妗f绫诲瀷archiveType涓虹┖锛岃妫�鏌ュ叆鍙傛。妗堢被鍨�");
@@ -100,6 +101,7 @@
         key.setOrgid(patChildArchiveDetail.getOrgid());
         key.setPatid(patChildArchiveDetail.getPatid());
         key.setOuthospno(patChildArchiveDetail.getOuthospno());
+        key.setInhospno(patChildArchiveDetail.getInhospno());
         key.setArchiveType(patChildArchiveDetail.getArchiveType());
         List<PatChildArchiveDetail> olds =
                 patChildArchiveDetailService.selectPatChildArchiveDetailList(key);
@@ -117,6 +119,7 @@
             mainKey.setOrgid(patChildArchiveDetail.getOrgid());
             mainKey.setPatid(patChildArchiveDetail.getPatid());
             mainKey.setOuthospno(patChildArchiveDetail.getOuthospno());
+            mainKey.setInhospno(patChildArchiveDetail.getInhospno());
             mainKey.setArchiveType(patChildArchiveDetail.getArchiveType());
             List<PatChildArchive> mainOlds =
                     patChildArchiveMapper.selectPatChildArchiveList(mainKey);
@@ -133,6 +136,17 @@
         }
 
 
+        // 鏂板妗f鏃惰ˉ榛樿鏉ユ簮锛屾洿鏂版椂淇濈暀鍘熸潵婧�
+        if (existArchiveId == null && patChildArchiveDetail.getId() == null) {
+            if (StringUtils.isEmpty(patChildArchiveDetail.getSourceType())) {
+                patChildArchiveDetail.setSourceType("3");
+            }
+            if (StringUtils.isEmpty(patChildArchiveDetail.getSourceBizNo())) {
+                patChildArchiveDetail.setSourceBizNo(StringUtils.isNotEmpty(patChildArchiveDetail.getOuthospno())
+                        ? patChildArchiveDetail.getOuthospno() : patChildArchiveDetail.getInhospno());
+            }
+        }
+
         // 灏嗚鎯呬腑鐨勫叕鍏卞瓧娈靛鍒跺埌涓昏〃瀵硅薄
         PatChildArchive patChildArchive = DtoConversionUtils.sourceToTarget(patChildArchiveDetail, PatChildArchive.class);
         if (patChildArchive == null) {

--
Gitblit v1.9.3