From 732024c03df1d810b8f5a8a526066967f1bfbb5d Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 26 六月 2026 17:53:27 +0800
Subject: [PATCH] 南华部分功能提交
---
smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java | 44 ++++++++++++++++++++++++++------------------
1 files changed, 26 insertions(+), 18 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
index 9c7d054..fa8c0f0 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
@@ -74,6 +74,10 @@
@Value("${lwl_app_key}")
private String APP_KEY;
+
+ @Value("${spring.profiles.active}")
+ private String active;
+
@Override
public List<ServiceSLTDInhospResDTO> queryHealthcareRecordList(ServiceSLTDInhospReqVO reqVO) {
try {
@@ -783,6 +787,16 @@
patMedInhosp.setCampusid(dto.getCampusId());
if (StringUtils.isNotEmpty(dto.getHealthcareRecordStatus()) && dto.getHealthcareRecordStatus().equals("FH0109.25"))
patMedInhosp.setRemark("棰勫嚭闄�");
+ if (active.equals("nhfy") && dto.getAreaId() != null && dto.getAreaId().toString().equals("40003483") && StringUtils.isNotEmpty(patMedInhosp.getPatname())) {
+ //鍗楀崕闄勪竴鐨勪骇绉戯紝瑕佹眰涓嶇敓鎴愨�滀箣瀛愩�佷箣濂炽�佷箣濠粹�濈殑闅忚浠诲姟
+ if (patMedInhosp.getPatname().contains("涔嬪瓙") || patMedInhosp.getPatname().contains("涔嬪コ") || patMedInhosp.getPatname().contains("涔嬪┐")) {
+ patMedInhosp.setDeptcheckFlag("3");
+ patMedInhosp.setWardcheckFlag("3");
+ patMedInhosp.setDiagcheckFlag("3");
+ patMedInhosp.setRemark(patMedInhosp.getRemark() + ";涓嶇敓鎴愪箣瀛愩�佷箣濂炽�佷箣濠撮棶鍗�");
+ }
+ }
+
return patMedInhosp;
}
@@ -815,12 +829,11 @@
*/
private PatArchive processPatientArchive(ServiceSLTDInhospResDTO dto) {
// 鏋勫缓閿佺殑 key锛氬熀浜� patientno 鎴� idcardno
- String lockKey = "pat_archive_lock:" +
- (StringUtils.isNotEmpty(dto.getMedicalRecordNo()) ? dto.getMedicalRecordNo() : dto.getIdCardNo());
-
+ String lockKey = "pat_archive_lock:" + (StringUtils.isNotEmpty(dto.getMedicalRecordNo()) ? dto.getMedicalRecordNo() : dto.getIdCardNo());
+
// 灏濊瘯鑾峰彇鍒嗗竷寮忛攣锛屾渶澶氱瓑寰� 3 绉掞紝閿佸畾 10 绉掕嚜鍔ㄩ噴鏀�
Boolean lockAcquired = redisTemplate.opsForValue().setIfAbsent(lockKey, "1", 10, TimeUnit.SECONDS);
-
+
if (lockAcquired == null || !lockAcquired) {
log.warn("銆恜rocessPatientArchive銆戣幏鍙栧垎甯冨紡閿佸け璐ワ紝璺宠繃鏈澶勭悊锛堝叾浠栫嚎绋嬫鍦ㄥ鐞嗭級锛宲atientno={}", dto.getMedicalRecordNo());
// 绛夊緟涓�娈垫椂闂村悗閲嶈瘯鏌ヨ
@@ -830,7 +843,7 @@
Thread.currentThread().interrupt();
}
}
-
+
try {
return doProcessPatientArchive(dto);
} finally {
@@ -865,9 +878,8 @@
}
PatArchive patArchive = buildPatientArchive(dto);
- log.info("銆恜rocessPatientArchive銆戞偅鑰呮。妗堟煡閲嶅畬鎴愶紝patientno={}, 鏄惁宸插瓨鍦�={}",
- patArchive.getPatientno(), CollectionUtils.isEmpty(existingArchives) ? "鍚�" : "鏄�(id=" + existingArchives.get(0).getId() + ")");
-
+ log.info("銆恜rocessPatientArchive銆戞偅鑰呮。妗堟煡閲嶅畬鎴愶紝patientno={}, 鏄惁宸插瓨鍦�={}", patArchive.getPatientno(), CollectionUtils.isEmpty(existingArchives) ? "鍚�" : "鏄�(id=" + existingArchives.get(0).getId() + ")");
+
if (CollectionUtils.isEmpty(existingArchives)) {
try {
// 鏈�缁堢‘璁ゆ煡璇紙闃插尽鎬х紪绋嬶細闃叉Redis閿佸け鏁堢瓑鏋佺鎯呭喌锛�
@@ -878,15 +890,13 @@
if (StringUtils.isNotEmpty(dto.getMedicalRecordNo())) {
finalQuery.setPatientno(dto.getMedicalRecordNo());
}
-
+
List<PatArchive> finalCheck = patArchiveService.selectPatArchiveList(finalQuery);
- log.info("銆恜rocessPatientArchive銆戞渶缁堢‘璁ゆ煡璇紝patientno={}, idcardno={}, 缁撴灉鏁伴噺={}",
- dto.getMedicalRecordNo(), dto.getIdCardNo(), finalCheck.size());
-
+ log.info("銆恜rocessPatientArchive銆戞渶缁堢‘璁ゆ煡璇紝patientno={}, idcardno={}, 缁撴灉鏁伴噺={}", dto.getMedicalRecordNo(), dto.getIdCardNo(), finalCheck.size());
+
if (CollectionUtils.isEmpty(finalCheck)) {
patArchiveService.insertPatArchive(patArchive);
- log.info("銆恜rocessPatientArchive銆戔湏 鏂板鎮h�呮。妗堟垚鍔燂紝patientno={}, id={}",
- patArchive.getPatientno(), patArchive.getId());
+ log.info("銆恜rocessPatientArchive銆戔湏 鏂板鎮h�呮。妗堟垚鍔燂紝patientno={}, id={}", patArchive.getPatientno(), patArchive.getId());
} else {
// 鍏朵粬绾跨▼宸茬粡鎻掑叆锛岀洿鎺ヤ娇鐢ㄥ凡鏈夎褰�
existingArchives = finalCheck;
@@ -896,8 +906,7 @@
log.info("銆恜rocessPatientArchive銆戞。妗堝凡琚叾浠栫嚎绋嬪垱寤猴紝浣跨敤宸叉湁璁板綍锛宨d={}", patArchive.getId());
}
} catch (org.springframework.dao.DuplicateKeyException e) {
- log.warn("銆恜rocessPatientArchive銆戞偅鑰呮。妗堝凡瀛樺湪(骞跺彂鎻掑叆寮傚父)锛岃烦杩囷細patientno={}, idcardno={}",
- patArchive.getPatientno(), patArchive.getIdcardno());
+ log.warn("銆恜rocessPatientArchive銆戞偅鑰呮。妗堝凡瀛樺湪(骞跺彂鎻掑叆寮傚父)锛岃烦杩囷細patientno={}, idcardno={}", patArchive.getPatientno(), patArchive.getIdcardno());
// 骞跺彂鎻掑叆鍦烘櫙锛岄噸鏂版煡璇㈣幏鍙栧凡瀛樺湪鐨勮褰�
PatArchive queryRetry = new PatArchive();
queryRetry.setPatientno(patArchive.getPatientno());
@@ -917,8 +926,7 @@
patArchive.setNotrequiredFlag(existingArchives.get(0).getNotrequiredFlag());
patArchive.setNotrequiredreason(existingArchives.get(0).getNotrequiredreason());
patArchiveService.updateArchive(patArchive);
- log.info("銆恜rocessPatientArchive銆戔湏 鏇存柊鎮h�呮。妗堬紝patientno={}, id={}",
- patArchive.getPatientno(), patArchive.getId());
+ log.info("銆恜rocessPatientArchive銆戔湏 鏇存柊鎮h�呮。妗堬紝patientno={}, id={}", patArchive.getPatientno(), patArchive.getId());
}
return patArchive;
--
Gitblit v1.9.3