From 562a960261b75d70abd65aa10528f09aeece94e8 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 24 九月 2024 09:49:23 +0800
Subject: [PATCH] 代码提交
---
smartor/src/main/java/com/smartor/service/impl/ServiceThirdDataServiceImpl.java | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 50 insertions(+), 9 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..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;
@@ -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.info("------serviceThirdData鐨勫叆鍙傦細{}", serviceThirdData);
List<ServiceThirdData> serviceThirdDataList = serviceThirdDataMapper.selectServiceThirdDataList(serviceThirdData);
+ log.info("------serviceThirdDataList鑾峰彇鏁版嵁鐨勬暟閲忥細{}", serviceThirdDataList.size());
for (ServiceThirdData std : serviceThirdDataList) {
PipeParser parser = new PipeParser();
Message message = null;
@@ -49,16 +56,50 @@
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());
+ //鍙湁鍏ラ櫌鎵嶄細寰�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