From 300d877312a800c93aef61f1d9b3b0890343dfad Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期四, 28 五月 2026 18:03:08 +0800
Subject: [PATCH] 【丽水】原人工、微信、短信、AI  计算方式修改为   随访成功中的人工、微信、短信、AI人次 参数 followUpCountStyle =3 控制

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 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 386ae84..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,7 +781,7 @@
         patMedInhosp.setDelFlag("0");
         patMedInhosp.setOrgid(dto.getOrgId());
         patMedInhosp.setCampusid(dto.getCampusId());
-        if(StringUtils.isNotEmpty(dto.getHealthcareRecordStatus())&&dto.getHealthcareRecordStatus().equals("FH0109.25"))
+        if (StringUtils.isNotEmpty(dto.getHealthcareRecordStatus()) && dto.getHealthcareRecordStatus().equals("FH0109.25"))
             patMedInhosp.setRemark("棰勫嚭闄�");
         return patMedInhosp;
     }
@@ -811,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);
@@ -831,7 +831,13 @@
 
         if (CollectionUtils.isEmpty(existingArchives)) {
             try {
-                patArchiveService.insertPatArchive(patArchive);
+                //鍐嶆煡涓�娆★紝纭繚涓嶄細鏈夐噸澶嶇殑
+                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.error("銆恜rocessPatientArchive銆戞偅鑰呮。妗堝凡瀛樺湪(骞跺彂鎻掑叆)锛岃烦杩囷細patientno={}, idcardno={}", patArchive.getPatientno(), patArchive.getIdcardno());
@@ -858,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