liusheng
2024-03-08 d953c2a400cd1dcafd2ce987181905dc3713d2ca
代码提交
已修改9个文件
183 ■■■■ 文件已修改
smartor/src/main/java/com/smartor/domain/ServiceThirdData.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/HospitalUserinfoMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/ServiceThirdDataMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/IHospitalUserinfoService.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/HospitalUserinfoServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/ServiceThirdDataServiceImpl.java 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/yiwudataanalysis/ADT_A01.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/HospitalUserinfoMapper.xml 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/ServiceThirdDataMapper.xml 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>