From 0c9ec42a824aa3242fe1e1b8ce372947f2bc9a03 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 29 七月 2024 17:43:06 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/ServiceThirdDataServiceImpl.java |   39 +++++++++++++++++++++++++++++++--------
 1 files changed, 31 insertions(+), 8 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceThirdDataServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceThirdDataServiceImpl.java
index 12a7c82..abd1101 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceThirdDataServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceThirdDataServiceImpl.java
@@ -3,6 +3,7 @@
 import ca.uhn.hl7v2.HL7Exception;
 import ca.uhn.hl7v2.model.Message;
 import ca.uhn.hl7v2.parser.PipeParser;
+import com.ruoyi.common.utils.StringUtils;
 import com.smartor.domain.HospitalRecord;
 import com.smartor.domain.HospitalUserinfo;
 import com.smartor.domain.ServiceThirdData;
@@ -15,10 +16,9 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
 import java.text.SimpleDateFormat;
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -65,18 +65,41 @@
                     objectList = adt_a01.explainPID(message, dataInfo);
                 }
 
-                HospitalRecord hospitalRecord = (HospitalRecord) objectList.get(0);
-                log.info("hospitalRecord鐨勫�间负锛歿}", hospitalRecord);
-                iHospitalRecordService.insertHospitalRecord(hospitalRecord);
-
                 HospitalUserinfo hospitalUserinfo = (HospitalUserinfo) objectList.get(1);
                 Date currentTime = new Date();
                 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                 String formattedDate = formatter.format(currentTime);
                 hospitalUserinfo.setCreateTime(formattedDate);
-                iHospitalUserinfoService.insertHospitalUserinfo(hospitalUserinfo);
 
-                int ii = serviceThirdDataMapper.updateIsDeal(std.getId());
+                //鍙湁鍏ラ櫌鎵嶄細寰�userInfo閲屽啓鐢ㄦ埛淇℃伅
+                if (serviceThirdData.getDataType().equals("ADT^A03") && StringUtils.isNotBlank(hospitalUserinfo.getPatientID())) {
+                    //鍏堝垽鏂竴涓嬶紝patientid鏄惁宸茬粡鍦ㄨ〃涓瓨鍦紝濡傛灉瀛樺湪锛屽氨涓嶆彃鍏ヤ簡锛屼笉瀛樺湪锛屽氨鎻掑叆
+                    HospitalUserinfo hospitalUserinfo1 = new HospitalUserinfo();
+                    hospitalUserinfo1.setPatientID(hospitalUserinfo.getPatientID());
+                    List<HospitalUserinfo> hospitalUserinfos = iHospitalUserinfoService.selectHospitalUserinfoList(hospitalUserinfo1);
+                    if (CollectionUtils.isEmpty(hospitalUserinfos)) {
+                        iHospitalUserinfoService.insertHospitalUserinfo(hospitalUserinfo);
+                    } else {
+                        iHospitalUserinfoService.updateHospitalUserinfoByPatientID(hospitalUserinfo);
+                        hospitalUserinfo.setID(hospitalUserinfos.get(0).getID());
+                    }
+                }
+
+                HospitalRecord hospitalRecord = (HospitalRecord) objectList.get(0);
+                log.info("hospitalRecord鐨勫�间负锛歿}", hospitalRecord);
+                //濡傛灉patientid涓虹┖锛屽啀瀛榬ecord灏辨垚鑴忔暟鎹簡
+                if (StringUtils.isNotBlank(hospitalUserinfo.getPatientID())) {
+                    hospitalRecord.setMessageID(std.getId().toString());
+                    iHospitalRecordService.insertHospitalRecord(hospitalRecord);
+                }
+                //灏唖ervice_third_data鐨刬d鏀惧埌messageid閲岋紝鏂逛究鍚庨潰鏌ョ湅闂
+                ServiceThirdData serviceThirdData2 = new ServiceThirdData();
+                serviceThirdData2.setId(std.getId());
+                if (StringUtils.isEmpty(hospitalUserinfo.getPatientID())) {
+                    serviceThirdData2.setRemark("PatientID涓虹┖");
+                }
+                serviceThirdData2.setUserInfoId(hospitalUserinfo.getID());
+                int ii = serviceThirdDataMapper.updateIsDeal(serviceThirdData2);
                 System.out.println("鏄惁淇敼鎴愬姛锛�" + ii);
             } catch (HL7Exception e) {
                 e.printStackTrace();

--
Gitblit v1.9.3