From 21ce122193e2fb57d206dbfca59e8d2ab2114fd0 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 23 三月 2026 17:12:56 +0800
Subject: [PATCH] 新增病区与科室组合
---
smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java | 68 ++++++++++++++++++++++++++++-----
1 files changed, 57 insertions(+), 11 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
index 9a0e2cf..6baf3e1 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
@@ -63,7 +63,7 @@
private PatArchivecontactMapper patArchivecontactMapper;
@Autowired
- private IPatMedPhysicalService patMedPhysicalService;
+ private PatMedOuthospMapper patMedOuthospMapper;
@Autowired
private RedisCache redisCache;
@@ -273,9 +273,11 @@
}
} else if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 2) {
// 鏌ョ湅浣忛櫌 1 鏌ョ湅闂ㄨ瘖 2 鏌ョ湅浣撴 3
- List<PatArchiveOthreInfo> patArchives2 = patArchiveMapper.selectPatArchiveInfoByOuthosp(patArchiveReq);
- if (CollectionUtils.isNotEmpty(patArchives2)) {
- patArchiveList.addAll(patArchives2);
+// List<PatArchiveOthreInfo> patArchives2 = patArchiveMapper.selectPatArchiveInfoByOuthosp(patArchiveReq);
+ List<PatArchiveOthreInfo> patientInfoQC = getPatientInfoUtils(patArchiveReq);
+
+ if (CollectionUtils.isNotEmpty(patientInfoQC)) {
+ patArchiveList.addAll(patientInfoQC);
}
} else if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 3) {
// 鏌ョ湅浣忛櫌 1 鏌ョ湅闂ㄨ瘖 2 鏌ョ湅浣撴 3
@@ -594,9 +596,9 @@
patArchiveList.addAll(patArchives1);
}
} else if (patArchive.getAllhosp() != null && patArchive.getAllhosp() == 2) {
- List<PatArchiveOthreInfo> patArchives2 = patArchiveMapper.selectPatArchiveInfoByOuthosp(patArchive);
- if (CollectionUtils.isNotEmpty(patArchives2)) {
- patArchiveList.addAll(patArchives2);
+ List<PatArchiveOthreInfo> patientInfoUtils = getPatientInfoUtils(patArchive);
+ if (CollectionUtils.isNotEmpty(patientInfoUtils)) {
+ patArchiveList.addAll(patientInfoUtils);
}
} else if (patArchive.getAllhosp() != null && patArchive.getAllhosp() == 3) {
List<PatArchiveOthreInfo> patArchives3 = patArchiveMapper.selectPatArchiveInfoByPhysical(patArchive);
@@ -781,9 +783,13 @@
}
} else if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 2) {
// 鏌ョ湅浣忛櫌 1 鏌ョ湅闂ㄨ瘖 2 鏌ョ湅浣撴 3 鏌ョ湅鍑洪櫌 4
- List<PatArchiveOthreInfo> patArchives2 = patArchiveMapper.selectPatArchiveInfoByOuthospQC(patArchiveReq);
- if (CollectionUtils.isNotEmpty(patArchives2)) {
- patArchiveList.addAll(patArchives2);
+ List<PatArchiveOthreInfo> patArchives2 = new ArrayList<>();
+// List<PatArchiveOthreInfo> patArchives2 = patArchiveMapper.selectPatArchiveInfoByOuthospQC(patArchiveReq);
+
+ //闂ㄦ�ヨ瘖淇℃伅锛岄噰鐢ㄥ垎琛ㄦ煡璇紙鍏堟煡闂ㄦ�ヨ瘖鐨勫瓨鍌ㄨ繃绋嬶紝鍐嶆煡鎮h�呭熀鏈俊鎭〃锛屽叧鑱旀潯浠讹細patid锛�
+ List<PatArchiveOthreInfo> patientInfoUtils = getPatientInfoUtils(patArchiveReq);
+ if (CollectionUtils.isNotEmpty(patientInfoUtils)) {
+ patArchiveList.addAll(patientInfoUtils);
}
} else if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 3) {
// 鏌ョ湅浣忛櫌 1 鏌ョ湅闂ㄨ瘖 2 鏌ョ湅浣撴 3 鏌ョ湅鍑洪櫌 4
@@ -847,7 +853,19 @@
count = patArchiveMapper.countPatArchiveInfoByInhospQC(patArchiveReq);
} else if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 2) {
// 鏌ョ湅浣忛櫌 1 鏌ョ湅闂ㄨ瘖 2 鏌ョ湅浣撴 3 鏌ョ湅鍑洪櫌 4
- count = patArchiveMapper.countPatArchiveInfoByOuthospQC(patArchiveReq);
+// count = patArchiveMapper.countPatArchiveInfoByOuthospQC(patArchiveReq);
+ PatMedOuthospQueryReq req=new PatMedOuthospQueryReq();
+ String deptcodes = CollectionUtils.isEmpty(patArchiveReq.getLeaveldeptcodes()) ? null : String.join(",", patArchiveReq.getLeaveldeptcodes());
+ String leavehospitaldistrictcodes = CollectionUtils.isEmpty(patArchiveReq.getLeavehospitaldistrictcodes()) ? null : String.join(",", patArchiveReq.getLeavehospitaldistrictcodes());
+ req.setDeptcode(deptcodes);
+ req.setHospitaldistrictcode(leavehospitaldistrictcodes);
+ req.setOrgid(patArchiveReq.getOrgid());
+ req.setDrname(StringUtils.isNotEmpty(patArchiveReq.getDrname()) ? patArchiveReq.getDrname() : null);
+ req.setPatname(StringUtils.isNotEmpty(patArchiveReq.getName()) ? patArchiveReq.getName() : null);
+ req.setDiagname(StringUtils.isNotEmpty(patArchiveReq.getLeavediagname()) ? patArchiveReq.getLeavediagname() : null);
+ count = patMedOuthospMapper.callSpQueryOuthospCount(req);
+
+
} else if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 3) {
// 鏌ョ湅浣忛櫌 1 鏌ョ湅闂ㄨ瘖 2 鏌ョ湅浣撴 3 鏌ョ湅鍑洪櫌 4
count = patArchiveMapper.countPatArchiveInfoByPhysicalQC(patArchiveReq);
@@ -859,5 +877,33 @@
return count;
}
+
+ private List<PatArchiveOthreInfo> getPatientInfoUtils(PatArchiveReq patArchiveReq) {
+ List<PatArchiveOthreInfo> patArchiveList = new ArrayList<>();
+
+ //闂ㄦ�ヨ瘖淇℃伅锛岄噰鐢ㄥ垎琛ㄦ煡璇紙鍏堟煡闂ㄦ�ヨ瘖鐨勫瓨鍌ㄨ繃绋嬶紝鍐嶆煡鎮h�呭熀鏈俊鎭〃锛屽叧鑱旀潯浠讹細patid锛�
+ PatMedOuthospQueryReq req=new PatMedOuthospQueryReq();
+ String deptcodes = CollectionUtils.isEmpty(patArchiveReq.getLeaveldeptcodes()) ? null : String.join(",", patArchiveReq.getLeaveldeptcodes());
+ String leavehospitaldistrictcodes = CollectionUtils.isEmpty(patArchiveReq.getLeavehospitaldistrictcodes()) ? null : String.join(",", patArchiveReq.getLeavehospitaldistrictcodes());
+ req.setDeptcode(deptcodes);
+ req.setHospitaldistrictcode(leavehospitaldistrictcodes);
+ req.setOrgid(patArchiveReq.getOrgid());
+ req.setDrname(StringUtils.isNotEmpty(patArchiveReq.getDrname()) ? patArchiveReq.getDrname() : null);
+ req.setPatname(StringUtils.isNotEmpty(patArchiveReq.getName()) ? patArchiveReq.getName() : null);
+ req.setDiagname(StringUtils.isNotEmpty(patArchiveReq.getLeavediagname()) ? patArchiveReq.getLeavediagname() : null);
+ req.setPageNum(patArchiveReq.getPageNum()==null?null:patArchiveReq.getPageNum());
+ req.setPageSize(patArchiveReq.getPageSize()==null?null:patArchiveReq.getPageSize());
+ List<PatMedOuthosp> patMedOuthosps = patMedOuthospMapper.callSpQueryOuthosp(req);
+ for (PatMedOuthosp patMedOuthosp:patMedOuthosps ) {
+ PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOuthosp.getPatid());
+ PatArchiveOthreInfo patArchiveOthreInfo = DtoConversionUtils.sourceToTarget(patArchive, PatArchiveOthreInfo.class);
+ patArchiveOthreInfo.setDeptcode(patMedOuthosp.getDeptcode());
+ patArchiveOthreInfo.setDeptname(patMedOuthosp.getDeptname());
+ patArchiveOthreInfo.setDrcode(patMedOuthosp.getDrcode());
+ patArchiveOthreInfo.setDrname(patMedOuthosp.getDrname());
+ patArchiveList.add(patArchiveOthreInfo);
+ }
+ return patArchiveList;
+ }
}
--
Gitblit v1.9.3