| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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()); |
| | | //只有入院才会往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为空,再存record就成脏数据了 |
| | | if (StringUtils.isNotBlank(hospitalUserinfo.getPatientID())) { |
| | | hospitalRecord.setMessageID(std.getId().toString()); |
| | | iHospitalRecordService.insertHospitalRecord(hospitalRecord); |
| | | } |
| | | //将service_third_data的id放到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(); |