From 1787e235922ca30045c6875269c5114defef52d7 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期五, 23 十月 2026 15:48:31 +0800
Subject: [PATCH] 【丽水】指标统计,出院人次为0。同一科室有多条信息展示。
---
smartor/src/main/java/com/smartor/service/impl/PatChildArchiveServiceImpl.java | 48 ++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 42 insertions(+), 6 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 04aef2b..4dd9148 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatChildArchiveServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatChildArchiveServiceImpl.java
@@ -88,14 +88,50 @@
log.error("insertOrUpdateChildArchive鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
throw new BaseException("鍎跨妗f鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
}
+ if (StringUtils.isEmpty(patChildArchiveDetail.getOuthospno())) {
+ throw new BaseException("鍎跨妗f鍏ュ弬闂ㄨ瘖缂栧彿outhospno涓虹┖锛岃妫�鏌ュ叆鍙傞棬璇婄紪鍙�");
+ }
+ if (StringUtils.isEmpty(patChildArchiveDetail.getArchiveType())) {
+ throw new BaseException("鍎跨妗f鍏ュ弬妗f绫诲瀷archiveType涓虹┖锛岃妫�鏌ュ叆鍙傛。妗堢被鍨�");
+ }
- // 鍙紶浜嗚鎯卛d鏃讹紝鍙嶆煡鍑哄搴旂殑妗f涓婚敭id锛屼繚璇佸悗缁兘姝g‘鏇存柊涓昏〃
- if (patChildArchiveDetail.getId() != null && patChildArchiveDetail.getArchiveid() == null) {
- PatChildArchiveDetail existDetail = patChildArchiveDetailService.selectPatChildArchiveDetailById(patChildArchiveDetail.getId());
- if (existDetail != null) {
- patChildArchiveDetail.setArchiveid(existDetail.getArchiveid());
+ // 鎸変笟鍔¢敭鏌ヨ鎯�
+ PatChildArchiveDetail key = new PatChildArchiveDetail();
+ key.setOrgid(patChildArchiveDetail.getOrgid());
+ key.setPatid(patChildArchiveDetail.getPatid());
+ key.setOuthospno(patChildArchiveDetail.getOuthospno());
+ key.setArchiveType(patChildArchiveDetail.getArchiveType());
+ List<PatChildArchiveDetail> olds =
+ patChildArchiveDetailService.selectPatChildArchiveDetailList(key);
+
+ Long existArchiveId = null;
+ Long existDetailId = null;
+ if (CollectionUtils.isNotEmpty(olds)) {
+ existArchiveId = olds.get(0).getArchiveid();
+ existDetailId = olds.get(0).getId();
+ }
+
+ // 璇︽儏娌℃煡鍒帮紝鍐嶅厹搴曟寜鍚屾牱閿煡涓昏〃锛岄伩鍏嶄富琛ㄩ噸澶�
+ if (existArchiveId == null) {
+ PatChildArchive mainKey = new PatChildArchive();
+ mainKey.setOrgid(patChildArchiveDetail.getOrgid());
+ mainKey.setPatid(patChildArchiveDetail.getPatid());
+ mainKey.setOuthospno(patChildArchiveDetail.getOuthospno());
+ mainKey.setArchiveType(patChildArchiveDetail.getArchiveType());
+ List<PatChildArchive> mainOlds =
+ patChildArchiveMapper.selectPatChildArchiveList(mainKey);
+ if (CollectionUtils.isNotEmpty(mainOlds)) {
+ existArchiveId = mainOlds.get(0).getId();
}
}
+ patChildArchiveDetail.setArchiveid(existArchiveId);
+
+ // 鍚庨潰鏇存柊璇︽儏鏃讹紝浼樺厛鐢ㄤ笟鍔¢敭鍖归厤鍒扮殑 detail id
+ Long detailId = patChildArchiveDetail.getId();
+ if (detailId == null) {
+ detailId = existDetailId;
+ }
+
// 灏嗚鎯呬腑鐨勫叕鍏卞瓧娈靛鍒跺埌涓昏〃瀵硅薄
PatChildArchive patChildArchive = DtoConversionUtils.sourceToTarget(patChildArchiveDetail, PatChildArchive.class);
@@ -121,7 +157,7 @@
// 鍥炲~涓昏〃id鍒拌鎯咃紝鍚屾鐢熸垚/鏇存柊璇︽儏琛�
patChildArchiveDetail.setArchiveid(patChildArchive.getId());
- Long detailId = patChildArchiveDetail.getId();
+// Long detailId = patChildArchiveDetail.getId();
if (detailId == null && patChildArchiveDetail.getArchiveid() != null) {
PatChildArchiveDetail query = new PatChildArchiveDetail();
query.setArchiveid(patChildArchiveDetail.getArchiveid());
--
Gitblit v1.9.3