From f55c563e2a0b52e4569ce6b5f81632cac598f7fe Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期三, 30 十月 2024 18:36:55 +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