smartor/src/main/java/com/smartor/domain/ServiceThirdData.java
@@ -69,6 +69,13 @@ @Excel(name = "数据是否处理1:0未处理,1已处理") private Integer isDeal; /** * 备注 */ @ApiModelProperty("备注") @Excel(name = "备注") private String remark; } smartor/src/main/java/com/smartor/mapper/HospitalUserinfoMapper.java
@@ -48,6 +48,8 @@ */ public int updateHospitalUserinfo(HospitalUserinfo hospitalUserinfo); public int updateHospitalUserinfoByPatientID(HospitalUserinfo hospitalUserinfo); /** * 删除【请填写功能名称】 * smartor/src/main/java/com/smartor/mapper/ServiceThirdDataMapper.java
@@ -34,5 +34,5 @@ public int insertThirdDataCfxzsq(ServiceThirdData serviceThirdData); public int updateIsDeal(Long id); public int updateIsDeal(ServiceThirdData serviceThirdData); } smartor/src/main/java/com/smartor/service/IHospitalUserinfoService.java
@@ -6,15 +6,14 @@ /** * 【请填写功能名称】Service接口 * * * @author ruoyi * @date 2024-01-29 */ public interface IHospitalUserinfoService { public interface IHospitalUserinfoService { /** * 查询【请填写功能名称】 * * * @param ID 【请填写功能名称】主键 * @return 【请填写功能名称】 */ @@ -22,7 +21,7 @@ /** * 查询【请填写功能名称】列表 * * * @param hospitalUserinfo 【请填写功能名称】 * @return 【请填写功能名称】集合 */ @@ -30,7 +29,7 @@ /** * 新增【请填写功能名称】 * * * @param hospitalUserinfo 【请填写功能名称】 * @return 结果 */ @@ -38,15 +37,17 @@ /** * 修改【请填写功能名称】 * * * @param hospitalUserinfo 【请填写功能名称】 * @return 结果 */ public int updateHospitalUserinfo(HospitalUserinfo hospitalUserinfo); public int updateHospitalUserinfoByPatientID(HospitalUserinfo hospitalUserinfo); /** * 批量删除【请填写功能名称】 * * * @param IDs 需要删除的【请填写功能名称】主键集合 * @return 结果 */ @@ -54,7 +55,7 @@ /** * 删除【请填写功能名称】信息 * * * @param ID 【请填写功能名称】主键 * @return 结果 */ smartor/src/main/java/com/smartor/service/impl/HospitalUserinfoServiceImpl.java
@@ -63,6 +63,11 @@ return hospitalUserinfoMapper.updateHospitalUserinfo(hospitalUserinfo); } @Override public int updateHospitalUserinfoByPatientID(HospitalUserinfo hospitalUserinfo) { return hospitalUserinfoMapper.updateHospitalUserinfo(hospitalUserinfo); } /** * 批量删除【请填写功能名称】 * 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; @@ -15,10 +16,9 @@ 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; @@ -65,18 +65,39 @@ 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^A01") && 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); } } 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为空"); } int ii = serviceThirdDataMapper.updateIsDeal(serviceThirdData2); System.out.println("是否修改成功:" + ii); } catch (HL7Exception e) { e.printStackTrace(); smartor/src/main/java/com/smartor/yiwudataanalysis/ADT_A01.java
@@ -469,8 +469,10 @@ hospitalRecord.setOutMedNO(id1); //就诊类型描述(门诊、住院...) hospitalRecord.setAdmTypeDesc(AdmTypeEnum.getDescByCode(patientClass)); //入院状态(就诊中、结束就诊...) hospitalRecord.setAdmStatus(LevelHospEnum.getDescByCode(pv136_dischargeDisposition)); //IMP 住院 hospitalRecord.setAdmTypeCode("IMP"); hospitalRecord.setAdmStatus("患者入院"); hospitalRecord.setEncOuthostype(LevelHospEnum.getDescByCode(pv136_dischargeDisposition)); hospitalRecord.setAdmDate(dischargeDateTime); hospitalRecord.setEncPatName(patientName); if (StringUtils.isNotEmpty(xb)) { smartor/src/main/resources/mapper/smartor/HospitalUserinfoMapper.xml
@@ -458,7 +458,7 @@ </trim> </insert> <update id="updateHospitalUserinfo" parameterType="HospitalUserinfo"> <update id="updateHospitalUserinfo" parameterType="com.smartor.domain.HospitalUserinfo"> update hospital_userinfo <trim prefix="SET" suffixOverrides=","> <if test="SourceSystem != null">SourceSystem = #{SourceSystem},</if> @@ -547,6 +547,95 @@ where ID = #{ID} </update> <update id="updateHospitalUserinfoByPatientID" parameterType="com.smartor.domain.HospitalUserinfo"> update hospital_userinfo <trim prefix="SET" suffixOverrides=","> <if test="SourceSystem != null">SourceSystem = #{SourceSystem},</if> <if test="MessageID != null">MessageID = #{MessageID},</if> <if test="CreateTime != null">CreateTime = #{CreateTime},</if> <if test="MethodName != null">MethodName = #{MethodName},</if> <if test="ReqIimRules != null">ReqIimRules = #{ReqIimRules},</if> <if test="PatientID != null">PatientID = #{PatientID},</if> <if test="VisitNum != null">VisitNum = #{VisitNum},</if> <if test="RegDate != null">RegDate = #{RegDate},</if> <if test="IdentityID != null">IdentityID = #{IdentityID},</if> <if test="PatName != null">PatName = #{PatName},</if> <if test="Phone != null">Phone = #{Phone},</if> <if test="PatSex != null">PatSex = #{PatSex},</if> <if test="BirthDate != null">BirthDate = #{BirthDate},</if> <if test="Address != null">Address = #{Address},</if> <if test="AddProvince != null">AddProvince = #{AddProvince},</if> <if test="AddCity != null">AddCity = #{AddCity},</if> <if test="AddCounty != null">AddCounty = #{AddCounty},</if> <if test="AddTown != null">AddTown = #{AddTown},</if> <if test="AddVillage != null">AddVillage = #{AddVillage},</if> <if test="AddHouseNo != null">AddHouseNo = #{AddHouseNo},</if> <if test="HouseAddress != null">HouseAddress = #{HouseAddress},</if> <if test="HouseAddProvince != null">HouseAddProvince = #{HouseAddProvince},</if> <if test="HouseAddCity != null">HouseAddCity = #{HouseAddCity},</if> <if test="HouseAddCounty != null">HouseAddCounty = #{HouseAddCounty},</if> <if test="HouseAddTown != null">HouseAddTown = #{HouseAddTown},</if> <if test="HouseAddVillage != null">HouseAddVillage = #{HouseAddVillage},</if> <if test="HouseAddHouseNo != null">HouseAddHouseNo = #{HouseAddHouseNo},</if> <if test="BirthAddress != null">BirthAddress = #{BirthAddress},</if> <if test="BirthAddProvince != null">BirthAddProvince = #{BirthAddProvince},</if> <if test="BirthAddCity != null">BirthAddCity = #{BirthAddCity},</if> <if test="BirthAddCounty != null">BirthAddCounty = #{BirthAddCounty},</if> <if test="BirthAddTown != null">BirthAddTown = #{BirthAddTown},</if> <if test="BirthAddVillage != null">BirthAddVillage = #{BirthAddVillage},</if> <if test="BirthAddHouseNo != null">BirthAddHouseNo = #{BirthAddHouseNo},</if> <if test="ContactsAddress != null">ContactsAddress = #{ContactsAddress},</if> <if test="ContactsAddProvince != null">ContactsAddProvince = #{ContactsAddProvince},</if> <if test="ContactsAddCity != null">ContactsAddCity = #{ContactsAddCity},</if> <if test="ContactsAddCounty != null">ContactsAddCounty = #{ContactsAddCounty},</if> <if test="ContactsAddTown != null">ContactsAddTown = #{ContactsAddTown},</if> <if test="ContactsAddVillage != null">ContactsAddVillage = #{ContactsAddVillage},</if> <if test="ContactsAddHouseNo != null">ContactsAddHouseNo = #{ContactsAddHouseNo},</if> <if test="NativeAddress != null">NativeAddress = #{NativeAddress},</if> <if test="NativeAddProvince != null">NativeAddProvince = #{NativeAddProvince},</if> <if test="NativeAddCity != null">NativeAddCity = #{NativeAddCity},</if> <if test="NativeAddCounty != null">NativeAddCounty = #{NativeAddCounty},</if> <if test="NativeAddTown != null">NativeAddTown = #{NativeAddTown},</if> <if test="NativeAddVillage != null">NativeAddVillage = #{NativeAddVillage},</if> <if test="NativeAddHouseNo != null">NativeAddHouseNo = #{NativeAddHouseNo},</if> <if test="PostalCode != null">PostalCode = #{PostalCode},</if> <if test="HouseCode != null">HouseCode = #{HouseCode},</if> <if test="WorkCode != null">WorkCode = #{WorkCode},</if> <if test="MaritalStatus != null">MaritalStatus = #{MaritalStatus},</if> <if test="Country != null">Country = #{Country},</if> <if test="Nation != null">Nation = #{Nation},</if> <if test="NationCode != null">NationCode = #{NationCode},</if> <if test="OccupType != null">OccupType = #{OccupType},</if> <if test="OccupTypeCode != null">OccupTypeCode = #{OccupTypeCode},</if> <if test="WorkUnit != null">WorkUnit = #{WorkUnit},</if> <if test="WorkPhone != null">WorkPhone = #{WorkPhone},</if> <if test="HCardNo != null">HCardNo = #{HCardNo},</if> <if test="HCIssuersCode != null">HCIssuersCode = #{HCIssuersCode},</if> <if test="HUrbanCode != null">HUrbanCode = #{HUrbanCode},</if> <if test="MedOrgCode != null">MedOrgCode = #{MedOrgCode},</if> <if test="paycode != null">paycode = #{paycode},</if> <if test="payname != null">payname = #{payname},</if> <if test="ConRelShip != null">ConRelShip = #{ConRelShip},</if> <if test="ConPerPhone != null">ConPerPhone = #{ConPerPhone},</if> <if test="ConPerName != null">ConPerName = #{ConPerName},</if> <if test="RegOrgCode != null">RegOrgCode = #{RegOrgCode},</if> <if test="RegOrgDesc != null">RegOrgDesc = #{RegOrgDesc},</if> <if test="InsureOrgName != null">InsureOrgName = #{InsureOrgName},</if> <if test="InsureOrgCode != null">InsureOrgCode = #{InsureOrgCode},</if> <if test="RegEmpCode != null">RegEmpCode = #{RegEmpCode},</if> <if test="RegEmpName != null">RegEmpName = #{RegEmpName},</if> <if test="INEnroomno != null">INEnroomno = #{INEnroomno},</if> <if test="OUTEnroomno != null">OUTEnroomno = #{OUTEnroomno},</if> <if test="EncAdmSource != null">EncAdmSource = #{EncAdmSource},</if> <if test="Directordoc != null">Directordoc = #{Directordoc},</if> <if test="Attenddoc != null">Attenddoc = #{Attenddoc},</if> <if test="Beddoc != null">Beddoc = #{Beddoc},</if> <if test="Bednur != null">Bednur = #{Bednur},</if> <if test="Regdoc != null">Regdoc = #{Regdoc},</if> </trim> where PatientID = #{PatientID} </update> <delete id="deleteHospitalUserinfoByID" parameterType="Long"> delete from hospital_userinfo smartor/src/main/resources/mapper/smartor/ServiceThirdDataMapper.xml
@@ -15,7 +15,14 @@ </resultMap> <sql id="selectServiceThirdDataVo"> select id, data_type, data_type_explain, data_info, factory, create_time, is_deal select id, data_type, data_type_explain, data_info, factory, create_time, is_deal, remark from service_third_data </sql> @@ -93,10 +100,11 @@ </insert> <update id="updateIsDeal" parameterType="long"> <update id="updateIsDeal" parameterType="com.smartor.domain.ServiceThirdData"> update service_third_data <trim prefix="SET" suffixOverrides=","> is_deal=1 is_deal=1, <if test="remark != null and remark != ''">remark = #{remark}</if> </trim> where id = #{id} </update>