From c92523467edf0306bad25f141faa5fcb56da8806 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期三, 06 三月 2024 11:24:17 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/ServiceThirdDataServiceImpl.java | 73 +++++++++++++++++++++++++++++++++++- 1 files changed, 70 insertions(+), 3 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 bbfb7fc..12a7c82 100644 --- a/smartor/src/main/java/com/smartor/service/impl/ServiceThirdDataServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/ServiceThirdDataServiceImpl.java @@ -1,10 +1,27 @@ package com.smartor.service.impl; -import java.util.List; - +import ca.uhn.hl7v2.HL7Exception; +import ca.uhn.hl7v2.model.Message; +import ca.uhn.hl7v2.parser.PipeParser; +import com.smartor.domain.HospitalRecord; +import com.smartor.domain.HospitalUserinfo; import com.smartor.domain.ServiceThirdData; +import com.smartor.mapper.ServiceThirdDataMapper; +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.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +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; /** @@ -13,12 +30,62 @@ * @author ruoyi * @date 2023-10-10 */ +@Slf4j @Service public class ServiceThirdDataServiceImpl implements IServiceThirdDataService { + @Autowired + private ServiceThirdDataMapper serviceThirdDataMapper; + + @Autowired + private IHospitalRecordService iHospitalRecordService; + @Autowired + private IHospitalUserinfoService iHospitalUserinfoService; @Override public List<ServiceThirdData> queryList(ServiceThirdData serviceThirdData) { - return null; + + 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; + try { + String dataInfo = std.getDataInfo().substring(1); + dataInfo = dataInfo.replaceAll("\n", ""); + dataInfo = dataInfo.substring(0, dataInfo.length() - 1); + message = parser.parse(dataInfo); + 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); + } + + 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); + } catch (HL7Exception e) { + e.printStackTrace(); + } + + } + + return new ArrayList<>(); } + + } -- Gitblit v1.9.3