From 62dbd8169d8cad03e7a06f9b53b0a1928caf732f Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 06 三月 2025 18:13:45 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java |  138 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 126 insertions(+), 12 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
index 81ba025..f653469 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -50,6 +50,8 @@
     private PatMedOperationItemMapper patMedOperationItemMapper;
     @Autowired
     private Icd10Mapper icd10Mapper;
+    @Autowired
+    private PatMedOuthospMapper patMedOuthospMapper;
 
     @Value("${defaultPwd}")
     private String defaultPwd;
@@ -263,7 +265,41 @@
         log.error("ServiceExternalServiceImpl---addOutHospInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
         Map yeWuXX = (Map) dataMap.get("YeWuXX");
         Map<String, Object> BingRenXX = (Map<String, Object>) yeWuXX.get("BingRenXX");
+        List<HashMap<String, Object>> epai = (List<HashMap<String, Object>>) yeWuXX.get("DiZhiXXList");
+        List<HashMap<String, Object>> epli = (List<HashMap<String, Object>>) yeWuXX.get("LianXiRList");
         ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true);
+        ExternalInHospPatientAddrInfo externalInHospPatientAddrInfo = null;
+        ExternalInHospPatientLiaisonInfo externalInHospPatientLiaisonInfo = null;
+        List<ExternalInHospPatientAddrInfo> epai2 = epai.stream().map(map -> {
+            ExternalInHospPatientAddrInfo info = new ExternalInHospPatientAddrInfo();
+            info.setDiZhiLX((String) map.get("DiZhiLX")); // 鍋囪瀛楁绫诲瀷鏄� Integer
+            info.setDiZhiXX((String) map.get("DiZhiXX"));
+            info.setShengFenDM((String) map.get("ShengFenDM"));
+            info.setShengFenMC((String) map.get("ShengFenMC"));
+            info.setShiDiQDM((String) map.get("ShiDiQDM"));
+            info.setShiDiQMC((String) map.get("ShiDiQMC"));
+            info.setXianQuDM((String) map.get("XianQuDM"));
+            info.setXianQuMC((String) map.get("XianQuMC"));
+            info.setXiangZhenDM((String) map.get("XiangZhenDM"));
+            info.setXiangZhenMC((String) map.get("XiangZhenMC"));
+            info.setCunJiDM((String) map.get("CunJiDM"));
+            info.setQiTaXX((String) map.get("QiTaXX"));
+            info.setYouBian((String) map.get("YouBian"));
+            return info;
+        }).collect(Collectors.toList());
+
+        List<ExternalInHospPatientLiaisonInfo> epli2 = epli.stream().map(map -> {
+            ExternalInHospPatientLiaisonInfo info = new ExternalInHospPatientLiaisonInfo();
+            info.setLianXiRXM((String) map.get("LianXiRXM"));
+            info.setLianXiRDH((String) map.get("LianXiRDH"));
+            info.setGuanXiDM((String) map.get("GuanXiDM"));
+            info.setGuanXiMC((String) map.get("GuanXiMC"));
+            return info;
+        }).collect(Collectors.toList());
+        if (CollectionUtils.isNotEmpty(epai)) externalInHospPatientAddrInfo = epai2.get(0);
+        if (CollectionUtils.isNotEmpty(epli)) externalInHospPatientLiaisonInfo = epli2.get(0);
+        //鏂板鎮h�呭熀鏈俊鎭柊澧炴垨淇敼
+        addPatArchive(externalInHospPatientInfo, externalInHospPatientAddrInfo, externalInHospPatientLiaisonInfo);
 
         PatMedInhosp patMedInhosp = new PatMedInhosp();
         patMedInhosp.setInhospno(externalInHospPatientInfo.getZhuYuanHao());
@@ -295,7 +331,7 @@
             }).collect(Collectors.toList());
             patMedInhosp1.setLeaveicd10code(StringUtils.isNotEmpty(patMedInhosp1.getLeaveicd10code()) ? patMedInhosp1.getLeaveicd10code() + "," + hospPatientDiagnoseInfos2.get(0).getZhenDuanID() : hospPatientDiagnoseInfos2.get(0).getZhenDuanID());
             patMedInhosp1.setLeavediagname(StringUtils.isNotEmpty(patMedInhosp1.getLeavediagname()) ? patMedInhosp1.getLeavediagname() + "," + hospPatientDiagnoseInfos2.get(0).getZhenDuanMC() : hospPatientDiagnoseInfos2.get(0).getZhenDuanMC());
-
+            patMedInhosp1.setInhospstate("1");
             int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
             if (i != 1) return false;
         }
@@ -326,24 +362,89 @@
 
     @Override
     public Boolean addFinshJZInfo(Map dataMap) {
-        //杩欎釜鍏堢瓑绛�
+        log.error("ServiceExternalServiceImpl---addFinshJZInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+        Map yeWuXX = (Map) dataMap.get("YeWuXX");
+        Map<String, Object> BingRenXX = (Map<String, Object>) yeWuXX.get("BingRenXX");
+        Map<String, Object> JiuZhenXX = (Map<String, Object>) yeWuXX.get("JiuZhenXX");
+        List<HashMap<String, Object>> ZhenDuanList = (List<HashMap<String, Object>>) yeWuXX.get("ZhenDuanList");
+        List<HashMap<String, Object>> externalWZInfos = (List<HashMap<String, Object>>) yeWuXX.get("WenZhenList");
+        ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true);
+        ExternalJZInfo externalJZInfo = BeanUtil.mapToBean(JiuZhenXX, ExternalJZInfo.class, true);
+        List<ExternalDiagnosisInfo> externalDiagnosisInfoList = ZhenDuanList.stream().map(map -> {
+            ExternalDiagnosisInfo info = new ExternalDiagnosisInfo();
+            info.setZhenDuanYSID((String) map.get("ZhenDuanYSID"));
+            info.setZhenDuanYSXM((String) map.get("ZhenDuanYSXM"));
+            info.setZhenDuanID((String) map.get("ZhenDuanID"));
+            info.setZhenDuanMC((String) map.get("ZhenDuanMC"));
+            info.setZhenDuanLBDM((String) map.get("ZhenDuanLBDM"));
+            info.setZhenDuanLBMC((String) map.get("ZhenDuanLBMC"));
+            return info;
+        }).collect(Collectors.toList());
 
-        return null;
+        List<ExternalWZInfo> ExternalWZInfoList = externalWZInfos.stream().map(map -> {
+            ExternalWZInfo info = new ExternalWZInfo();
+            info.setWenZhenLXMC((String) map.get("WenZhenLXMC"));
+            info.setNeiRong((String) map.get("NeiRong"));
+            return info;
+        }).collect(Collectors.toList());
+
+        PatArchive patArchive = addPatArchive(externalInHospPatientInfo, null, null);
+
+        PatMedOuthosp patMedOuthosp = new PatMedOuthosp();
+        patMedOuthosp.setOuthospno(externalInHospPatientInfo.getBingAnHao());
+        patMedOuthosp.setSerialnum(externalInHospPatientInfo.getBingAnHao());
+        patMedOuthosp.setPatid(patArchive.getId());
+        patMedOuthosp.setPatname(externalInHospPatientInfo.getXingMing());
+        patMedOuthosp.setHospitalname(externalInHospPatientInfo.getZuZhiJGMC());
+        patMedOuthosp.setHospitalcode(externalInHospPatientInfo.getZuZhiJGID());
+        patMedOuthosp.setDeptname(externalJZInfo.getJiuZhenKSMC());
+        patMedOuthosp.setDeptcode(externalJZInfo.getJiuZhenKSID());
+        patMedOuthosp.setAdmitdate(externalJZInfo.getJiuZhenRQ());
+
+        Map XiaoXiTou = (Map) dataMap.get("XiaoXiTou");
+        String FaSongJGID = XiaoXiTou.get("FaSongJGID").toString();
+        patMedOuthosp.setOrgid(FaSongJGID);
+
+        for (ExternalDiagnosisInfo externalDiagnosisInfo : externalDiagnosisInfoList) {
+            if (externalDiagnosisInfo.getZhenDuanLBMC().equals("涓昏瘖鏂�")) {
+                patMedOuthosp.setDiagname(externalDiagnosisInfo.getZhenDuanMC());
+                patMedOuthosp.setIcd10code(externalDiagnosisInfo.getZhenDuanID());
+                patMedOuthosp.setDrcode(externalDiagnosisInfo.getZhenDuanYSID());
+                patMedOuthosp.setDrname(externalDiagnosisInfo.getZhenDuanYSXM());
+            }
+        }
+        for (ExternalWZInfo externalWZInfo : ExternalWZInfoList) {
+            if (externalWZInfo.getWenZhenLXMC().equals("鐜扮梾鍙�")) {
+                patMedOuthosp.setHpi(externalWZInfo.getNeiRong());
+            }
+            if (externalWZInfo.getWenZhenLXMC().equals("涓昏瘔")) {
+                patMedOuthosp.setMainsuit(externalWZInfo.getNeiRong());
+            }
+        }
+        int i = patMedOuthospMapper.insertPatMedOuthosp(patMedOuthosp);
+        if (i > 0) {
+            return true;
+        }
+
+        return false;
     }
 
     @Override
     public Boolean addDiseaseInfo(Map dataMap) {
         log.error("ServiceExternalServiceImpl---addDiseaseInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
         Map yeWuXX = (Map) dataMap.get("YeWuXX");
-        Map<String, Object> JiBing = (Map<String, Object>) yeWuXX.get("JiBing");
+        Map<String, Object> JiBing = (Map<String, Object>) yeWuXX.get("JiBingMLXX");
         ExternalDiseaseInfo externalDiseaseInfo = BeanUtil.mapToBean(JiBing, ExternalDiseaseInfo.class, true);
+        Map XiaoXiTou = (Map) dataMap.get("XiaoXiTou");
+        String FaSongJGID = XiaoXiTou.get("FaSongJGID").toString();
         Icd10 icd10 = new Icd10();
-        icd10.setIcdcode(externalDiseaseInfo.getJiBingID());
+        icd10.setIcdcode(externalDiseaseInfo.getIcD10());
+        icd10.setHisIcdid(externalDiseaseInfo.getJiBingID());
         icd10.setIcdname(externalDiseaseInfo.getJiBingMC());
         icd10.setGuid(externalDiseaseInfo.getZuZhiJGID());
-        icd10.setOrgid(externalDiseaseInfo.getZuZhiJGID());
         icd10.setLastflag(externalDiseaseInfo.getMOJIBZ());
         icd10.setChimedflag("" + externalDiseaseInfo.getZhongYiZDBZ());
+        icd10.setOrgid(FaSongJGID);
 //        icd10Association.setIcd10AssortName(externalDiseaseInfo.getJiBingFLMC());
 //        icd10Association.setChineseMedicineDiagnoseSign(externalDiseaseInfo.getZhongYiZDBZ());
 //        icd10Association.setChineseMedicineDiagnoseAssortCode(externalDiseaseInfo.getZhongYiZDFLDM());
@@ -519,8 +620,10 @@
     private PatArchive addPatArchive(ExternalInHospPatientInfo externalInHospPatientInfo, ExternalInHospPatientAddrInfo externalInHospPatientAddrInfo, ExternalInHospPatientLiaisonInfo externalInHospPatientLiaisonInfo) {
         PatArchive patArchive = new PatArchive();
         patArchive.setIdcardno(externalInHospPatientInfo.getZhengJianHM());
+        patArchive.setOrgid(externalInHospPatientInfo.getZuZhiJGID());
         List<PatArchive> patArchives = patArchiveMapper.selectPatArchiveList(patArchive);
         patArchive.setPatientno(externalInHospPatientInfo.getJiuZhenKH());
+        patArchive.setBirthdate(externalInHospPatientInfo.getChuShengRQ());
         patArchive.setPatidHis(externalInHospPatientInfo.getBingRenID());
         patArchive.setSourcefrom(1);
         patArchive.setPattype("2");
@@ -530,26 +633,35 @@
         patArchive.setNation(externalInHospPatientInfo.getMinZuMC());
         patArchive.setNativePlace(externalInHospPatientInfo.getGuoJiMC());
         if (ObjectUtils.isNotEmpty(externalInHospPatientAddrInfo)) {
-            patArchive.setPlaceOfResidence(externalInHospPatientAddrInfo.getShengFenMC() + externalInHospPatientAddrInfo.getShiDiQMC() + externalInHospPatientAddrInfo.getXianQuMC() + externalInHospPatientAddrInfo.getXiangZhenMC() + externalInHospPatientAddrInfo.getCunJiMC() + externalInHospPatientAddrInfo.getQiTaXX());
-            patArchive.setBirthplace(externalInHospPatientAddrInfo.getShengFenMC() + externalInHospPatientAddrInfo.getShiDiQMC() + externalInHospPatientAddrInfo.getXianQuMC() + externalInHospPatientAddrInfo.getXiangZhenMC() + externalInHospPatientAddrInfo.getCunJiMC() + externalInHospPatientAddrInfo.getQiTaXX());
+            String por = null;
+            if (StringUtils.isNotEmpty(externalInHospPatientAddrInfo.getDiZhiXX())) {
+                por = externalInHospPatientAddrInfo.getDiZhiXX();
+            } else {
+                por = externalInHospPatientAddrInfo.getShengFenMC() + externalInHospPatientAddrInfo.getShiDiQMC() + externalInHospPatientAddrInfo.getXianQuMC() + externalInHospPatientAddrInfo.getXiangZhenMC() + externalInHospPatientAddrInfo.getCunJiMC() + externalInHospPatientAddrInfo.getQiTaXX();
+            }
+            patArchive.setPlaceOfResidence(por.replace("null", ""));
+            patArchive.setBirthplace(por.replace("null", ""));
         }
         patArchive.setBirthdate(externalInHospPatientInfo.getChuShengRQ());
         patArchive.setAge(externalInHospPatientInfo.getNianLing());
         patArchive.setAgeUnit(externalInHospPatientInfo.getNianLingDW());
         patArchive.setTelcode(externalInHospPatientInfo.getLianXiDH());
+        if (StringUtils.isEmpty(externalInHospPatientInfo.getLianXiDH()))
+            patArchive.setTelcode(externalInHospPatientInfo.getLianXiRDH());
+        patArchive.setRelativetelcode(externalInHospPatientInfo.getLianXiRDH());
         patArchive.setGuid(externalInHospPatientInfo.getZuZhiJGID());
-        patArchive.setOrgid(externalInHospPatientInfo.getZuZhiJGID());
         if (ObjectUtils.isNotEmpty(externalInHospPatientLiaisonInfo))
             patArchive.setRelativetelcode(externalInHospPatientLiaisonInfo.getLianXiRDH());
         patArchive.setInhospno(externalInHospPatientInfo.getZhuYuanHao());
         patArchive.setCreateTime(new Date());
+        patArchive.setIdcardtype(externalInHospPatientInfo.getZhengJianLXMC());
         if (CollectionUtils.isNotEmpty(patArchives)) {
             //濡傛灉涓嶄负绌猴紝鐩存帴灏嗘煡璇㈠嚭鏉ョ殑瀵硅薄杩斿洖
             PatArchive patArchive1 = patArchives.get(0);
             String orgid = patArchive1.getOrgid();
             if (StringUtils.isNotEmpty(orgid)) {
-                orgid = orgid + "," + externalInHospPatientInfo.getZuZhiJGID();
-                patArchive.setOrgid(orgid);
+//                orgid = orgid + "," + externalInHospPatientInfo.getZuZhiJGID();
+//                patArchive.setOrgid(orgid);
                 patArchive.setId(patArchive1.getId());
                 patArchiveMapper.updatePatArchive(patArchive);
                 return patArchive;
@@ -583,6 +695,8 @@
             patMedInhosp.setLeavehospitaldistrictcode(externalInHospPatientInfo.getDangQianBQID());
             patMedInhosp.setHospitaldistrictname(externalInHospPatientInfo.getDangQianBQMC());
             patMedInhosp.setLeavehospitaldistrictname(externalInHospPatientInfo.getDangQianBQMC());
+            patMedInhosp.setTelcode(patArchive.getTelcode());
+            patMedInhosp.setDrname("");
         }
         if (ObjectUtils.isNotEmpty(externalInHospPatientDiagnoseInfo)) {
             patMedInhosp.setIcd10code(StringUtils.isNotEmpty(patMedInhosp.getIcd10code()) ? patMedInhosp.getIcd10code() + "," + externalInHospPatientDiagnoseInfo.getZhenDuanID() : externalInHospPatientDiagnoseInfo.getZhenDuanID());
@@ -593,7 +707,7 @@
             patMedInhosp.setPatid(patArchive.getId());
             patMedInhosp.setPatno(patArchive.getPatientno());
             patMedInhosp.setPatname(patArchive.getName());
-            patMedInhosp.setDrname("");
+
             patMedInhosp.setSchemestatus(1L);
             patMedInhosp.setCreateTime(new Date());
         }

--
Gitblit v1.9.3