From e0da35d5a25f157f5725edd0908da8174bc4fc38 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期五, 23 十月 2026 11:34:48 +0800
Subject: [PATCH] 【丽水】patInfoByContion 报错问题处理
---
smartor/src/main/java/com/smartor/service/impl/PatMaternityArchiveServiceImpl.java | 65 +++++++++++++++++++++++++++++++-
1 files changed, 62 insertions(+), 3 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatMaternityArchiveServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatMaternityArchiveServiceImpl.java
index f5706f4..cea1042 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMaternityArchiveServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMaternityArchiveServiceImpl.java
@@ -4,8 +4,11 @@
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.DtoConversionUtils;
import com.ruoyi.common.utils.StringUtils;
+import com.smartor.domain.PatChildArchive;
+import com.smartor.domain.PatChildArchiveDetail;
import com.smartor.domain.PatMaternityArchive;
import com.smartor.domain.PatMaternityArchiveDetail;
+import com.smartor.mapper.PatMaternityArchiveDetailMapper;
import com.smartor.mapper.PatMaternityArchiveMapper;
import com.smartor.service.IPatMaternityArchiveDetailService;
import com.smartor.service.IPatMaternityArchiveService;
@@ -32,6 +35,8 @@
@Autowired
private IPatMaternityArchiveDetailService patMaternityArchiveDetailService;
+ @Autowired
+ private PatMaternityArchiveDetailMapper patMaternityArchiveDetailMapper;
@Override
public PatMaternityArchive selectPatMaternityArchiveById(Long id)
@@ -89,9 +94,63 @@
throw new BaseException("濡囩妗f鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
}
+ //淇濊瘉鍚屼竴灏辫瘖璁板綍鍚屼竴妗f绫诲瀷鍙兘鐢熸垚涓�鏉�
+ PatMaternityArchiveDetail patMaternityArchiveDetailVo = new PatMaternityArchiveDetail();
+ patMaternityArchiveDetailVo.setOrgid(patMaternityArchiveDetail.getOrgid());
+ patMaternityArchiveDetailVo.setPatid(patMaternityArchiveDetail.getPatid());
+ patMaternityArchiveDetailVo.setOuthospno(patMaternityArchiveDetail.getOuthospno());
+ patMaternityArchiveDetailVo.setArchiveType(patMaternityArchiveDetail.getArchiveType());
+ List<PatMaternityArchiveDetail> patMaternityArchiveDetailOlds
+ = patMaternityArchiveDetailService.selectPatMaternityArchiveDetailList(patMaternityArchiveDetailVo);
+
+
+ if (StringUtils.isEmpty(patMaternityArchiveDetail.getOuthospno())) {
+ throw new BaseException("濡囩妗f鍏ュ弬闂ㄨ瘖缂栧彿outhospno涓虹┖锛岃妫�鏌ュ叆鍙傞棬璇婄紪鍙�");
+ }
+ if (StringUtils.isEmpty(patMaternityArchiveDetail.getArchiveType())) {
+ throw new BaseException("濡囩妗f鍏ュ弬妗f绫诲瀷archiveType涓虹┖锛岃妫�鏌ュ叆鍙傛。妗堢被鍨�");
+ }
+
+ // 鎸変笟鍔¢敭鏌ヨ鎯�
+ PatMaternityArchiveDetail key = new PatMaternityArchiveDetail();
+ key.setOrgid(patMaternityArchiveDetail.getOrgid());
+ key.setPatid(patMaternityArchiveDetail.getPatid());
+ key.setOuthospno(patMaternityArchiveDetail.getOuthospno());
+ key.setArchiveType(patMaternityArchiveDetail.getArchiveType());
+ List<PatMaternityArchiveDetail> olds =
+ patMaternityArchiveDetailService.selectPatMaternityArchiveDetailList(key);
+
+ Long existArchiveId = null;
+ Long existDetailId = null;
+ if (CollectionUtils.isNotEmpty(olds)) {
+ existArchiveId = olds.get(0).getArchiveid();
+ existDetailId = olds.get(0).getId();
+ }
+
+ // 璇︽儏娌℃煡鍒帮紝鍐嶅厹搴曟寜鍚屾牱閿煡涓昏〃锛岄伩鍏嶄富琛ㄩ噸澶�
+ if (existArchiveId == null) {
+ PatMaternityArchive mainKey = new PatMaternityArchive();
+ mainKey.setOrgid(patMaternityArchiveDetail.getOrgid());
+ mainKey.setPatid(patMaternityArchiveDetail.getPatid());
+ mainKey.setOuthospno(patMaternityArchiveDetail.getOuthospno());
+ mainKey.setArchiveType(patMaternityArchiveDetail.getArchiveType());
+ List<PatMaternityArchive> mainOlds =
+ patMaternityArchiveMapper.selectPatMaternityArchiveList(mainKey);
+ if (CollectionUtils.isNotEmpty(mainOlds)) {
+ existArchiveId = mainOlds.get(0).getId();
+ }
+ }
+ patMaternityArchiveDetail.setArchiveid(existArchiveId);
+
+ // 鍚庨潰鏇存柊璇︽儏鏃讹紝浼樺厛鐢ㄤ笟鍔¢敭鍖归厤鍒扮殑 detail id
+ Long detailId = patMaternityArchiveDetail.getId();
+ if (detailId == null) {
+ detailId = existDetailId;
+ }
+
// 鍙紶浜嗚鎯卛d鏃讹紝鍙嶆煡鍑哄搴旂殑妗f涓婚敭id锛屼繚璇佸悗缁兘姝g‘鏇存柊涓昏〃
- if (patMaternityArchiveDetail.getId() != null && patMaternityArchiveDetail.getArchiveid() == null) {
- PatMaternityArchiveDetail existDetail = patMaternityArchiveDetailService.selectPatMaternityArchiveDetailById(patMaternityArchiveDetail.getId());
+ if (CollectionUtils.isNotEmpty(patMaternityArchiveDetailOlds)) {
+ PatMaternityArchiveDetail existDetail = patMaternityArchiveDetailOlds.get(0);
if (existDetail != null) {
patMaternityArchiveDetail.setArchiveid(existDetail.getArchiveid());
}
@@ -121,7 +180,7 @@
// 鍥炲~涓昏〃id鍒拌鎯咃紝鍚屾鐢熸垚/鏇存柊璇︽儏琛�
patMaternityArchiveDetail.setArchiveid(patMaternityArchive.getId());
- Long detailId = patMaternityArchiveDetail.getId();
+// Long detailId = patMaternityArchiveDetail.getId();
if (detailId == null && patMaternityArchiveDetail.getArchiveid() != null) {
PatMaternityArchiveDetail query = new PatMaternityArchiveDetail();
query.setArchiveid(patMaternityArchiveDetail.getArchiveid());
--
Gitblit v1.9.3