From 723d38375c45d24737bfef6f33a9686254abf99b Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 17 十月 2024 13:42:27 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/ServiceThirdDataServiceImpl.java |   46 +++++++++++++++++++++++++++++++++++-----------
 1 files changed, 35 insertions(+), 11 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..d4122ac 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;
@@ -45,9 +45,9 @@
     @Override
     public List<ServiceThirdData> queryList(ServiceThirdData serviceThirdData) {
 
-        log.info("------serviceThirdData鐨勫叆鍙傦細{}", serviceThirdData);
+        log.error("------serviceThirdData鐨勫叆鍙傦細{}", serviceThirdData);
         List<ServiceThirdData> serviceThirdDataList = serviceThirdDataMapper.selectServiceThirdDataList(serviceThirdData);
-        log.info("------serviceThirdDataList鑾峰彇鏁版嵁鐨勬暟閲忥細{}", serviceThirdDataList.size());
+        log.error("------serviceThirdDataList鑾峰彇鏁版嵁鐨勬暟閲忥細{}", serviceThirdDataList.size());
         for (ServiceThirdData std : serviceThirdDataList) {
             PipeParser parser = new PipeParser();
             Message message = null;
@@ -65,19 +65,43 @@
                     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());
-                System.out.println("鏄惁淇敼鎴愬姛锛�" + ii);
+                //鍙湁鍏ラ櫌鎵嶄細寰�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.error("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());
+                log.error("serviceThirdData2鐨勫弬鏁帮細{}", serviceThirdData2);
+                int ii = serviceThirdDataMapper.updateIsDeal(serviceThirdData2);
+                log.error("鏄惁淇敼鎴愬姛锛歿}", ii);
             } catch (HL7Exception e) {
                 e.printStackTrace();
             }

--
Gitblit v1.9.3