From d953c2a400cd1dcafd2ce987181905dc3713d2ca Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 08 三月 2024 18:08:21 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/mapper/HospitalUserinfoMapper.java            |    2 
 smartor/src/main/java/com/smartor/domain/ServiceThirdData.java                  |    7 +
 smartor/src/main/java/com/smartor/service/impl/HospitalUserinfoServiceImpl.java |    5 +
 smartor/src/main/java/com/smartor/yiwudataanalysis/ADT_A01.java                 |    6 +
 smartor/src/main/java/com/smartor/service/impl/ServiceThirdDataServiceImpl.java |   37 +++++++--
 smartor/src/main/resources/mapper/smartor/ServiceThirdDataMapper.xml            |   14 ++
 smartor/src/main/java/com/smartor/mapper/ServiceThirdDataMapper.java            |    2 
 smartor/src/main/java/com/smartor/service/IHospitalUserinfoService.java         |   19 ++--
 smartor/src/main/resources/mapper/smartor/HospitalUserinfoMapper.xml            |   91 ++++++++++++++++++++++
 9 files changed, 159 insertions(+), 24 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/domain/ServiceThirdData.java b/smartor/src/main/java/com/smartor/domain/ServiceThirdData.java
index 444a6ba..b6f486f 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceThirdData.java
+++ b/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;
+
 
 }
 
diff --git a/smartor/src/main/java/com/smartor/mapper/HospitalUserinfoMapper.java b/smartor/src/main/java/com/smartor/mapper/HospitalUserinfoMapper.java
index 8ccfaa2..01ed5d6 100644
--- a/smartor/src/main/java/com/smartor/mapper/HospitalUserinfoMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/HospitalUserinfoMapper.java
@@ -48,6 +48,8 @@
      */
     public int updateHospitalUserinfo(HospitalUserinfo hospitalUserinfo);
 
+    public int updateHospitalUserinfoByPatientID(HospitalUserinfo hospitalUserinfo);
+
     /**
      * 鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆�
      *
diff --git a/smartor/src/main/java/com/smartor/mapper/ServiceThirdDataMapper.java b/smartor/src/main/java/com/smartor/mapper/ServiceThirdDataMapper.java
index 8397fe6..29fe884 100644
--- a/smartor/src/main/java/com/smartor/mapper/ServiceThirdDataMapper.java
+++ b/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);
 }
diff --git a/smartor/src/main/java/com/smartor/service/IHospitalUserinfoService.java b/smartor/src/main/java/com/smartor/service/IHospitalUserinfoService.java
index 6ba74e2..b1fe1a5 100644
--- a/smartor/src/main/java/com/smartor/service/IHospitalUserinfoService.java
+++ b/smartor/src/main/java/com/smartor/service/IHospitalUserinfoService.java
@@ -6,15 +6,14 @@
 
 /**
  * 銆愯濉啓鍔熻兘鍚嶇О銆慡ervice鎺ュ彛
- * 
+ *
  * @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 缁撴灉
      */
diff --git a/smartor/src/main/java/com/smartor/service/impl/HospitalUserinfoServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/HospitalUserinfoServiceImpl.java
index c68c7e7..27d077e 100644
--- a/smartor/src/main/java/com/smartor/service/impl/HospitalUserinfoServiceImpl.java
+++ b/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);
+    }
+
     /**
      * 鎵归噺鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆�
      *
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 12a7c82..cd5a2f3 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;
@@ -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涓虹┖锛屽啀瀛榬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涓虹┖");
+                }
+                int ii = serviceThirdDataMapper.updateIsDeal(serviceThirdData2);
                 System.out.println("鏄惁淇敼鎴愬姛锛�" + ii);
             } catch (HL7Exception e) {
                 e.printStackTrace();
diff --git a/smartor/src/main/java/com/smartor/yiwudataanalysis/ADT_A01.java b/smartor/src/main/java/com/smartor/yiwudataanalysis/ADT_A01.java
index fc30dba..e1be69f 100644
--- a/smartor/src/main/java/com/smartor/yiwudataanalysis/ADT_A01.java
+++ b/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("鎮h�呭叆闄�");
+        hospitalRecord.setEncOuthostype(LevelHospEnum.getDescByCode(pv136_dischargeDisposition));
         hospitalRecord.setAdmDate(dischargeDateTime);
         hospitalRecord.setEncPatName(patientName);
         if (StringUtils.isNotEmpty(xb)) {
diff --git a/smartor/src/main/resources/mapper/smartor/HospitalUserinfoMapper.xml b/smartor/src/main/resources/mapper/smartor/HospitalUserinfoMapper.xml
index d7d7e8d..d083271 100644
--- a/smartor/src/main/resources/mapper/smartor/HospitalUserinfoMapper.xml
+++ b/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
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceThirdDataMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceThirdDataMapper.xml
index 4ec08a6..afaf329 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceThirdDataMapper.xml
+++ b/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>

--
Gitblit v1.9.3