From 18a48c5c23bf1c8547165cb2bb3162f2c2172016 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 27 五月 2026 18:07:44 +0800
Subject: [PATCH] bug修改,task新增时,tase_diag表的dept_code、ward_code没有新增成功
---
smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java | 29 +++++++++++++++--------------
1 files changed, 15 insertions(+), 14 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 fe2ceb1..59212f3 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
@@ -781,6 +781,8 @@
patMedInhosp.setDelFlag("0");
patMedInhosp.setOrgid(dto.getOrgId());
patMedInhosp.setCampusid(dto.getCampusId());
+ if (StringUtils.isNotEmpty(dto.getHealthcareRecordStatus()) && dto.getHealthcareRecordStatus().equals("FH0109.25"))
+ patMedInhosp.setRemark("棰勫嚭闄�");
return patMedInhosp;
}
@@ -809,9 +811,9 @@
private PatArchive processPatientArchive(ServiceSLTDInhospResDTO dto) {
List<PatArchive> existingArchives = null;
-
+ log.info("銆恜rocessPatientArchive銆戞柊澧炴偅鑰呮。妗堬紝鏌ヨ鍏ュ弬淇℃伅patientno:{}锛宨dcardno:{}", dto.getMedicalRecordNo(), dto.getIdCardNo());
// 绗竴姝ワ細鎸� patientno 绮剧‘鏌ラ噸锛堜笌鎻掑叆鏃朵娇鐢ㄧ殑 medicalRecordNo 涓�鑷达級
- String patientno = dto.getMedicalRecordNo() == null ? null : String.valueOf(dto.getMedicalRecordNo());
+ String patientno = StringUtils.isEmpty(dto.getMedicalRecordNo()) ? null : dto.getMedicalRecordNo();
if (StringUtils.isNotEmpty(patientno)) {
PatArchive queryByPatientNo = new PatArchive();
queryByPatientNo.setPatientno(patientno);
@@ -825,21 +827,20 @@
existingArchives = patArchiveService.selectPatArchiveList(queryByIdCard);
}
- // 绗笁姝ワ細鎸� patidHis 鏌ラ噸锛堝吋瀹规棫鏁版嵁锛屾棫鏁版嵁鍙兘浠� patientId 瀛樹负 patientno锛�
- if (CollectionUtils.isEmpty(existingArchives) && dto.getPatientId() != null) {
- PatArchive queryByPatidHis = new PatArchive();
- queryByPatidHis.setPatientno(String.valueOf(dto.getPatientId()));
- existingArchives = patArchiveService.selectPatArchiveList(queryByPatidHis);
- }
-
PatArchive patArchive = buildPatientArchive(dto);
if (CollectionUtils.isEmpty(existingArchives)) {
try {
- patArchiveService.insertPatArchive(patArchive);
- log.debug("銆恜rocessPatientArchive銆戞柊澧炴偅鑰呮。妗堬紝鎮h�呯紪鍙凤細{}", patArchive.getPatientno());
+ //鍐嶆煡涓�娆★紝纭繚涓嶄細鏈夐噸澶嶇殑
+ PatArchive queryByIdCard = new PatArchive();
+ if(StringUtils.isNotEmpty(dto.getIdCardNo())) queryByIdCard.setIdcardno(dto.getIdCardNo().trim());
+ if(StringUtils.isNotEmpty(dto.getMedicalRecordNo())) queryByIdCard.setPatientno(dto.getMedicalRecordNo());
+ List<PatArchive> archivesByIdCard = patArchiveService.selectPatArchiveList(queryByIdCard);
+
+ if (CollectionUtils.isEmpty(archivesByIdCard)) patArchiveService.insertPatArchive(patArchive);
+ log.info("銆恜rocessPatientArchive銆戞柊澧炴偅鑰呮。妗堬紝鎮h�呯紪鍙凤細{}", patArchive.getPatientno());
} catch (org.springframework.dao.DuplicateKeyException e) {
- log.warn("銆恜rocessPatientArchive銆戞偅鑰呮。妗堝凡瀛樺湪(骞跺彂鎻掑叆)锛岃烦杩囷細patientno={}, idcardno={}", patArchive.getPatientno(), patArchive.getIdcardno());
+ log.error("銆恜rocessPatientArchive銆戞偅鑰呮。妗堝凡瀛樺湪(骞跺彂鎻掑叆)锛岃烦杩囷細patientno={}, idcardno={}", patArchive.getPatientno(), patArchive.getIdcardno());
// 骞跺彂鎻掑叆鍦烘櫙锛岄噸鏂版煡璇㈣幏鍙栧凡瀛樺湪鐨勮褰�
PatArchive queryRetry = new PatArchive();
queryRetry.setPatientno(patArchive.getPatientno());
@@ -855,7 +856,7 @@
patArchive.setNotrequiredFlag(existingArchives.get(0).getNotrequiredFlag());
patArchive.setNotrequiredreason(existingArchives.get(0).getNotrequiredreason());
patArchiveService.updateArchive(patArchive);
- log.debug("銆恜rocessPatientArchive銆戞洿鏂版偅鑰呮。妗堬紝鎮h�呯紪鍙凤細{}", patArchive.getPatientno());
+ log.info("銆恜rocessPatientArchive銆戞洿鏂版偅鑰呮。妗堬紝鎮h�呯紪鍙凤細{}", patArchive.getPatientno());
}
return patArchive;
@@ -863,7 +864,7 @@
private PatArchive buildPatientArchive(ServiceSLTDInhospResDTO dto) {
PatArchive patArchive = new PatArchive();
- patArchive.setPatientno(dto.getMedicalRecordNo() == null ? null : String.valueOf(dto.getMedicalRecordNo()));
+ patArchive.setPatientno(StringUtils.isEmpty(dto.getMedicalRecordNo()) ? null : dto.getMedicalRecordNo());
patArchive.setPatidHis(dto.getPatientId() == null ? null : String.valueOf(dto.getPatientId()));
patArchive.setIdcardno(StringUtils.isEmpty(dto.getIdCardNo()) ? "" + dto.getMedicalCardId() : dto.getIdCardNo().trim());
patArchive.setName(dto.getPatientName());
--
Gitblit v1.9.3