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

---
 smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java |  177 ++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 110 insertions(+), 67 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 f653469..2b2cc4e 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -246,6 +246,10 @@
         PatMedInhosp patMedInhosp = new PatMedInhosp();
         patMedInhosp.setInhospno(externalInHospPatientInfo.getZhuYuanHao());
         List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+        for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
+            String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+            patMedInhosp1.setTagname(tagname);
+        }
         if (CollectionUtils.isNotEmpty(patMedInhospList)) {
             Map<String, Object> JiuZhenXX = (Map<String, Object>) yeWuXX.get("JiuZhenXX");
             PatMedInhosp patMedInhosp1 = patMedInhospList.get(0);
@@ -265,74 +269,103 @@
         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>> epai = (List<HashMap<String, Object>>) BingRenXX.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());
+        List<ExternalInHospPatientAddrInfo> epai2 = null;
+        if (CollectionUtils.isNotEmpty(epai)) {
+            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 = null;
+        if (CollectionUtils.isNotEmpty(epli)) {
+            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);
+        PatArchive patArchive = addPatArchive(externalInHospPatientInfo, externalInHospPatientAddrInfo, externalInHospPatientLiaisonInfo);
 
         PatMedInhosp patMedInhosp = new PatMedInhosp();
         patMedInhosp.setInhospno(externalInHospPatientInfo.getZhuYuanHao());
         List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+        for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
+            String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+            patMedInhosp1.setTagname(tagname);
+        }
+        Map<String, Object> JiuZhenXX = (Map<String, Object>) yeWuXX.get("JiuZhenXX");
+        PatMedInhosp patMedInhosp1 = new PatMedInhosp();
+        if (CollectionUtils.isNotEmpty(patMedInhospList)) patMedInhosp1 = patMedInhospList.get(0);
+        patMedInhosp1.setSchemestatus(2L);
+        try {
+            patMedInhosp1.setEndtime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(JiuZhenXX.get("ChuYuanSJ").toString()));
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+        patMedInhosp1.setOperator(JiuZhenXX.get("CaoZuoRXM").toString());
+        patMedInhosp1.setOperatorId(JiuZhenXX.get("CaoZuoRID").toString());
+        patMedInhosp1.setUpdateTime(new Date());
+        patMedInhosp1.setTelcode(patArchive.getTelcode());
+        patMedInhosp1.setLeavehospitaldistrictcode(externalInHospPatientInfo.getDangQianBQID());
+        patMedInhosp1.setLeavehospitaldistrictname(externalInHospPatientInfo.getDangQianBQMC());
+        patMedInhosp1.setLeaveldeptname(externalInHospPatientInfo.getDangQianKSMC());
+        patMedInhosp1.setDeptname(externalInHospPatientInfo.getDangQianKSMC());
+        patMedInhosp1.setLeaveldeptcode(externalInHospPatientInfo.getDangQianKSID());
+        patMedInhosp1.setDeptcode(externalInHospPatientInfo.getDangQianKSID());
+        List<HashMap<String, Object>> zhenDuanList = (List<HashMap<String, Object>>) yeWuXX.get("ZhenDuanList");
+        List<ExternalInHospPatientDiagnoseInfo> hospPatientDiagnoseInfos2 = zhenDuanList.stream().map(map -> {
+            ExternalInHospPatientDiagnoseInfo info = new ExternalInHospPatientDiagnoseInfo();
+            info.setZhenDuanID((String) map.get("ZhenDuanID"));
+            info.setZhenDuanMC((String) map.get("ZhenDuanMC"));
+            return info;
+        }).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.setDiagname(StringUtils.isNotEmpty(patMedInhosp1.getLeavediagname()) ? patMedInhosp1.getLeavediagname() + "," + hospPatientDiagnoseInfos2.get(0).getZhenDuanMC() : hospPatientDiagnoseInfos2.get(0).getZhenDuanMC());
+        patMedInhosp1.setIcd10code(StringUtils.isNotEmpty(patMedInhosp1.getLeavediagname()) ? patMedInhosp1.getLeavediagname() + "," + hospPatientDiagnoseInfos2.get(0).getZhenDuanMC() : hospPatientDiagnoseInfos2.get(0).getZhenDuanMC());
+        patMedInhosp1.setInhospstate("1");
         if (CollectionUtils.isNotEmpty(patMedInhospList)) {
-            Map<String, Object> JiuZhenXX = (Map<String, Object>) yeWuXX.get("JiuZhenXX");
-            PatMedInhosp patMedInhosp1 = patMedInhospList.get(0);
-            patMedInhosp1.setSchemestatus(2L);
-            try {
-                patMedInhosp1.setEndtime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(JiuZhenXX.get("ChuYuanSJ").toString()));
-            } catch (ParseException e) {
-                e.printStackTrace();
-            }
-            patMedInhosp1.setOperator(JiuZhenXX.get("CaoZuoRXM").toString());
-            patMedInhosp1.setOperatorId(JiuZhenXX.get("CaoZuoRID").toString());
             patMedInhosp1.setUpdateTime(new Date());
-            patMedInhosp1.setUpdateTime(new Date());
-
-            patMedInhosp1.setLeavehospitaldistrictcode(externalInHospPatientInfo.getDangQianBQID());
-            patMedInhosp1.setLeavehospitaldistrictname(externalInHospPatientInfo.getDangQianBQMC());
-            patMedInhosp1.setLeaveldeptname(externalInHospPatientInfo.getDangQianKSMC());
-            patMedInhosp1.setLeaveldeptcode(externalInHospPatientInfo.getDangQianKSID());
-            List<HashMap<String, Object>> zhenDuanList = (List<HashMap<String, Object>>) yeWuXX.get("ZhenDuanList");
-            List<ExternalInHospPatientDiagnoseInfo> hospPatientDiagnoseInfos2 = zhenDuanList.stream().map(map -> {
-                ExternalInHospPatientDiagnoseInfo info = new ExternalInHospPatientDiagnoseInfo();
-                info.setZhenDuanID((String) map.get("ZhenDuanID"));
-                info.setZhenDuanMC((String) map.get("ZhenDuanMC"));
-                return info;
-            }).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");
+            patMedInhosp1.setOrgid(BingRenXX.get("ZuZhiJGID").toString());
             int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+            if (i != 1) return false;
+        } else {
+            patMedInhosp1.setHospitalname(BingRenXX.get("ZuZhiJGMC").toString());
+            patMedInhosp1.setHospitalcode(BingRenXX.get("ZuZhiJGID").toString());
+            patMedInhosp1.setLeavehospitaldistrictname(BingRenXX.get("DangQianBQMC").toString());
+            patMedInhosp1.setLeavehospitaldistrictcode(BingRenXX.get("DangQianBQID").toString());
+            patMedInhosp1.setPatid(patArchive.getId());
+            patMedInhosp1.setPatname(patArchive.getName());
+            patMedInhosp1.setOrgid(BingRenXX.get("ZuZhiJGID").toString());
+            patMedInhosp1.setPatno(BingRenXX.get("BingRenID").toString());
+            patMedInhosp1.setInhospno(BingRenXX.get("ZhuYuanHao").toString());
+            patMedInhosp1.setSerialnum(BingRenXX.get("BingAnHao").toString());
+            patMedInhosp1.setCreateTime(new Date());
+            int i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp1);
             if (i != 1) return false;
         }
         return true;
@@ -347,6 +380,10 @@
         PatMedInhosp patMedInhosp = new PatMedInhosp();
         patMedInhosp.setInhospno(externalInHospPatientInfo.getZhuYuanHao());
         List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+        for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
+            String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+            patMedInhosp1.setTagname(tagname);
+        }
         if (CollectionUtils.isNotEmpty(patMedInhospList)) {
             Map<String, Object> JiuZhenXX = (Map<String, Object>) yeWuXX.get("JiuZhenXX");
             PatMedInhosp patMedInhosp1 = patMedInhospList.get(0);
@@ -364,11 +401,17 @@
     public Boolean addFinshJZInfo(Map dataMap) {
         log.error("ServiceExternalServiceImpl---addFinshJZInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
         Map yeWuXX = (Map) dataMap.get("YeWuXX");
+        Map XiaoXiTou = (Map) dataMap.get("XiaoXiTou");
+        String FaSongJGID = ObjectUtils.isNotEmpty(XiaoXiTou.get("FaSongJGID")) ? XiaoXiTou.get("FaSongJGID").toString() : null;
+
         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);
+        //鐥呬汉淇℃伅閲屾病鏈夌粍缁囨満鏋処D
+        externalInHospPatientInfo.setZuZhiJGID(FaSongJGID);
+
         ExternalJZInfo externalJZInfo = BeanUtil.mapToBean(JiuZhenXX, ExternalJZInfo.class, true);
         List<ExternalDiagnosisInfo> externalDiagnosisInfoList = ZhenDuanList.stream().map(map -> {
             ExternalDiagnosisInfo info = new ExternalDiagnosisInfo();
@@ -400,9 +443,6 @@
         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) {
@@ -411,6 +451,7 @@
                 patMedOuthosp.setIcd10code(externalDiagnosisInfo.getZhenDuanID());
                 patMedOuthosp.setDrcode(externalDiagnosisInfo.getZhenDuanYSID());
                 patMedOuthosp.setDrname(externalDiagnosisInfo.getZhenDuanYSXM());
+                patMedOuthosp.setIcd10code(externalDiagnosisInfo.getIcd10());
             }
         }
         for (ExternalWZInfo externalWZInfo : ExternalWZInfoList) {
@@ -439,19 +480,23 @@
         String FaSongJGID = XiaoXiTou.get("FaSongJGID").toString();
         Icd10 icd10 = new Icd10();
         icd10.setIcdcode(externalDiseaseInfo.getIcD10());
+        icd10.setDelFlag("0");
+        icd10.setOrgid(FaSongJGID);
+        //閫氳繃icdCode鏌ヨ涓�涓嬶紝鏄惁瀛樺湪
+        List<Icd10> icd10s = icd10Mapper.selectIcd10List(icd10);
         icd10.setHisIcdid(externalDiseaseInfo.getJiBingID());
         icd10.setIcdname(externalDiseaseInfo.getJiBingMC());
         icd10.setGuid(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());
-//        icd10Association.setChineseMedicineDiagnoseAssortName(externalDiseaseInfo.getZhongYiZDFLMC());
-//        icd10Association.setOutpatientUseAssort(externalDiseaseInfo.getMenZhenSYBZ());
-//        icd10Association.setInpatientUseAssort(externalDiseaseInfo.getZhuYuanSYBZ());
-        icd10Mapper.insertIcd10(icd10);
+        if (CollectionUtils.isNotEmpty(icd10s)) {
+            icd10.setUpdateTime(new Date());
+            icd10.setIcdid(icd10s.get(0).getIcdid());
+            icd10Mapper.updateIcd10(icd10);
+        } else {
+            icd10.setCreateTime(new Date());
+            icd10Mapper.insertIcd10(icd10);
+        }
         return true;
     }
 
@@ -660,8 +705,6 @@
             PatArchive patArchive1 = patArchives.get(0);
             String orgid = patArchive1.getOrgid();
             if (StringUtils.isNotEmpty(orgid)) {
-//                orgid = orgid + "," + externalInHospPatientInfo.getZuZhiJGID();
-//                patArchive.setOrgid(orgid);
                 patArchive.setId(patArchive1.getId());
                 patArchiveMapper.updatePatArchive(patArchive);
                 return patArchive;

--
Gitblit v1.9.3