From fd6dca0c559c08129b7e0abdf67093b1a728ffd3 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 29 十一月 2024 17:21:00 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/ServiceThirdDataServiceImpl.java |   62 ++++++++++++++++++++++++++-----
 1 files changed, 52 insertions(+), 10 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 fd958fb..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;
@@ -10,12 +11,16 @@
 import com.smartor.service.IHospitalRecordService;
 import com.smartor.service.IHospitalUserinfoService;
 import com.smartor.service.IServiceThirdDataService;
+import com.smartor.yiwudataanalysis.ADT_A01;
 import com.smartor.yiwudataanalysis.ADT_A03;
-import lombok.extern.log4j.Log4j;
+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.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 
@@ -25,7 +30,7 @@
  * @author ruoyi
  * @date 2023-10-10
  */
-@Log4j
+@Slf4j
 @Service
 public class ServiceThirdDataServiceImpl implements IServiceThirdDataService {
 
@@ -40,7 +45,9 @@
     @Override
     public List<ServiceThirdData> queryList(ServiceThirdData serviceThirdData) {
 
+        log.error("------serviceThirdData鐨勫叆鍙傦細{}", serviceThirdData);
         List<ServiceThirdData> serviceThirdDataList = serviceThirdDataMapper.selectServiceThirdDataList(serviceThirdData);
+        log.error("------serviceThirdDataList鑾峰彇鏁版嵁鐨勬暟閲忥細{}", serviceThirdDataList.size());
         for (ServiceThirdData std : serviceThirdDataList) {
             PipeParser parser = new PipeParser();
             Message message = null;
@@ -49,17 +56,52 @@
                 dataInfo = dataInfo.replaceAll("\n", "");
                 dataInfo = dataInfo.substring(0, dataInfo.length() - 1);
                 message = parser.parse(dataInfo);
-                ADT_A03 adt_a03 = new ADT_A03();
-
-                List<Object> objectList = adt_a03.explainPID(message, dataInfo);
-                HospitalRecord hospitalRecord = (HospitalRecord) objectList.get(0);
-                iHospitalRecordService.insertHospitalRecord(hospitalRecord);
+                List<Object> objectList = new ArrayList<>();
+                if (serviceThirdData.getDataType().equals("ADT^A03")) {
+                    ADT_A03 adt_a03 = new ADT_A03();
+                    objectList = adt_a03.explainPID(message, dataInfo);
+                } else if (serviceThirdData.getDataType().equals("ADT^A01")) {
+                    ADT_A01 adt_a01 = new ADT_A01();
+                    objectList = adt_a01.explainPID(message, dataInfo);
+                }
 
                 HospitalUserinfo hospitalUserinfo = (HospitalUserinfo) objectList.get(1);
-                iHospitalUserinfoService.insertHospitalUserinfo(hospitalUserinfo);
+                Date currentTime = new Date();
+                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                String formattedDate = formatter.format(currentTime);
+                hospitalUserinfo.setCreateTime(formattedDate);
 
-                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