From c6461ee45e27ad7f6f1a89d5aab103fbab6e79d3 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 11 四月 2025 17:58:17 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java |  152 ++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 133 insertions(+), 19 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 90b5937..d2345fb 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -254,6 +254,73 @@
     }
 
     @Override
+    public Boolean addInDeptInfo(Map dataMap) {
+        log.error("ServiceExternalServiceImpl---addInDeptInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+        Map yeWuXX = (Map) dataMap.get("YeWuXX");
+        List<HashMap<String, Object>> epai = ObjectUtils.isNotEmpty(yeWuXX) ? (List<HashMap<String, Object>>) yeWuXX.get("DiZhiXXList") : null;
+        List<HashMap<String, Object>> epli = ObjectUtils.isNotEmpty(yeWuXX) ? (List<HashMap<String, Object>>) yeWuXX.get("LianXiRList") : null;
+        List<HashMap<String, Object>> hospPatientDiagnoseInfos = ObjectUtils.isNotEmpty(yeWuXX) ? (List<HashMap<String, Object>>) yeWuXX.get("ZhenDuanList") : null;
+        Map<String, Object> BingRenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null;
+        Map<String, Object> RuKeXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("RuKeXX") : null;
+
+        ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true);
+        ExternalInDeptPatientInfo externalInDeptPatientInfo = BeanUtil.mapToBean(RuKeXX, ExternalInDeptPatientInfo.class, true);
+        externalInHospPatientInfo.setZeRenHSID(externalInDeptPatientInfo.getZeRenHSID());
+        externalInHospPatientInfo.setZeRenHSXM(externalInDeptPatientInfo.getZeRenHSXM());
+        externalInHospPatientInfo.setZhuZhiYSID(externalInDeptPatientInfo.getZhuZhiYSID());
+        externalInHospPatientInfo.setZhuZhiYSXM(externalInDeptPatientInfo.getZhuZhiYSXM());
+        externalInHospPatientInfo.setRuYuanSJ(externalInDeptPatientInfo.getRuYuanSJ());
+
+        ExternalInHospPatientAddrInfo externalInHospPatientAddrInfo = null;
+        ExternalInHospPatientLiaisonInfo externalInHospPatientLiaisonInfo = null;
+        ExternalInHospPatientDiagnoseInfo externalInHospPatientDiagnoseInfo = 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());
+        externalInHospPatientInfo.setExternalInHospPatientLiaisonInfos(epli2);
+
+        List<ExternalInHospPatientDiagnoseInfo> hospPatientDiagnoseInfos2 = hospPatientDiagnoseInfos.stream().map(map -> {
+            ExternalInHospPatientDiagnoseInfo info = new ExternalInHospPatientDiagnoseInfo();
+            info.setZhenDuanID((String) map.get("ZhenDuanID"));
+            info.setZhenDuanMC((String) map.get("ZhenDuanMC"));
+            return info;
+        }).collect(Collectors.toList());
+
+        if (CollectionUtils.isNotEmpty(epai)) externalInHospPatientAddrInfo = epai2.get(0);
+        if (CollectionUtils.isNotEmpty(epli)) externalInHospPatientLiaisonInfo = epli2.get(0);
+        if (CollectionUtils.isNotEmpty(hospPatientDiagnoseInfos))
+            externalInHospPatientDiagnoseInfo = hospPatientDiagnoseInfos2.get(0);
+        //鏂板鎮h�呭熀鏈俊鎭�
+        PatArchive patArchive = addPatArchive(externalInHospPatientInfo, externalInHospPatientAddrInfo, externalInHospPatientLiaisonInfo);
+        //鏂板鎮h�呭叆闄俊鎭�
+        Boolean aBoolean = addPadInhospInfo(externalInHospPatientInfo, patArchive, externalInHospPatientDiagnoseInfo);
+        return aBoolean;
+    }
+
+    @Override
     public Boolean cancelInHospInfo(Map dataMap) {
         log.error("ServiceExternalServiceImpl---cancelInHospInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
         Map yeWuXX = (Map) dataMap.get("YeWuXX");
@@ -261,6 +328,7 @@
         ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true);
         PatMedInhosp patMedInhosp = new PatMedInhosp();
         patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
+        patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
         List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
         for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
             String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
@@ -333,6 +401,7 @@
 
         PatMedInhosp patMedInhosp = new PatMedInhosp();
         patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
+        patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
         List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
         for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
             String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
@@ -410,7 +479,7 @@
                 patMedInhosp1.setOrgid(ObjectUtils.isNotEmpty(BingRenXX.get("ZuZhiJGID")) ? BingRenXX.get("ZuZhiJGID").toString() : null);
                 patMedInhosp1.setPatno(ObjectUtils.isNotEmpty(BingRenXX.get("BingRenID")) ? BingRenXX.get("BingRenID").toString() : null);
                 patMedInhosp1.setInhospno(ObjectUtils.isNotEmpty(BingRenXX.get("BingAnHao")) ? BingRenXX.get("BingAnHao").toString() : null);
-                patMedInhosp1.setSerialnum(ObjectUtils.isNotEmpty(BingRenXX.get("BingAnHao")) ? BingRenXX.get("BingAnHao").toString() : null);
+                patMedInhosp1.setSerialnum(ObjectUtils.isNotEmpty(BingRenXX.get("JiuZhenYWID")) ? BingRenXX.get("JiuZhenYWID").toString() : null);
             }
             patMedInhosp1.setPatid(patArchive.getId());
             patMedInhosp1.setPatname(patArchive.getName());
@@ -430,6 +499,7 @@
         ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true);
         PatMedInhosp patMedInhosp = new PatMedInhosp();
         patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
+        patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
         List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
         for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
             String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
@@ -490,8 +560,11 @@
 
         PatMedOuthosp patMedOuthosp = new PatMedOuthosp();
         patMedOuthosp.setOuthospno(externalInHospPatientInfo.getBingAnHao());
-        patMedOuthosp.setSerialnum(externalInHospPatientInfo.getBingAnHao());
+        patMedOuthosp.setSerialnum(ObjectUtils.isNotEmpty(yeWuXX.get("JiuZhenYWID")) ? yeWuXX.get("JiuZhenYWID").toString() : null);
+        List<PatMedOuthosp> patMedOuthosps = patMedOuthospMapper.selectPatMedOuthospList(patMedOuthosp);
+
         patMedOuthosp.setPatid(patArchive.getId());
+        patMedOuthosp.setPatno(externalInHospPatientInfo.getBingAnHao());
         patMedOuthosp.setPatname(externalInHospPatientInfo.getXingMing());
         patMedOuthosp.setHospitalname(externalInHospPatientInfo.getZuZhiJGMC());
         patMedOuthosp.setHospitalcode(externalInHospPatientInfo.getZuZhiJGID());
@@ -516,7 +589,16 @@
                 patMedOuthosp.setMainsuit(externalWZInfo.getNeiRong());
             }
         }
-        int i = patMedOuthospMapper.insertPatMedOuthosp(patMedOuthosp);
+        int i = 0;
+        if (CollectionUtils.isNotEmpty(patMedOuthosps)) {
+            patMedOuthosp.setId(patMedOuthosps.get(0).getId());
+            patMedOuthosp.setUpdateTime(new Date());
+            i = patMedOuthospMapper.updatePatMedOuthosp(patMedOuthosp);
+        } else {
+            patMedOuthosp.setCreateTime(new Date());
+            patMedOuthosp.setUpdateTime(new Date());
+            i = patMedOuthospMapper.insertPatMedOuthosp(patMedOuthosp);
+        }
         if (i > 0) {
             return true;
         }
@@ -543,8 +625,8 @@
         icd10.setGuid(externalDiseaseInfo.getZuZhiJGID());
         icd10.setLastflag(externalDiseaseInfo.getMOJIBZ());
         icd10.setChimedflag("" + externalDiseaseInfo.getZhongYiZDBZ());
+        icd10.setUpdateTime(new Date());
         if (CollectionUtils.isNotEmpty(icd10s)) {
-            icd10.setUpdateTime(new Date());
             icd10.setIcdid(icd10s.get(0).getIcdid());
             icd10Mapper.updateIcd10(icd10);
         } else {
@@ -561,7 +643,7 @@
         Map<String, Object> bqxx = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingQuXX") : null;
         ExternalWardArea externalWardArea = BeanUtil.mapToBean(bqxx, ExternalWardArea.class, true);
         SysDept sysDept = new SysDept();
-        sysDept.setGuid(externalWardArea.getZuZhiJGID());
+        sysDept.setOrgid(externalWardArea.getZuZhiJGID());
         sysDept.setHisDeptId(externalWardArea.getBingQuID());
 
         sysDept.setDeptName(externalWardArea.getBingQuMC());
@@ -571,19 +653,26 @@
         sysDept.setDeptCode(externalWardArea.getBingQuID());
         sysDept.setCreateBy(externalWardArea.getChuangJianRXM());
         sysDept.setType(externalWardArea.getBingQuLXDM());
-        sysDept.setCreateTime(externalWardArea.getCreateTime());
         sysDept.setUpdateTime(externalWardArea.getUpdateTime());
         sysDept.setUpdateBy(externalWardArea.getUpdateBy());
         if (StringUtils.isNotEmpty(externalWardArea.getShiJianDM()) && externalWardArea.getShiJianDM().equals("3")) {
             sysDept.setStatus("1");
         }
         if (StringUtils.isNotEmpty(externalWardArea.getShiJianDM()) && externalWardArea.getShiJianDM().equals("1")) {
+            sysDept.setCreateTime(externalWardArea.getCreateTime());
             int i = sysDeptMapper.insertDept(sysDept);
             log.error("ServiceExternalServiceImpl---addWardAreaInfo鏄惁鏂板鎴愬姛锛歿}", i);
         } else {
             int i = sysDeptMapper.updateDept(sysDept);
             log.error("ServiceExternalServiceImpl---addWardAreaInfo鏄惁淇敼鎴愬姛锛歿}", i);
         }
+        return true;
+    }
+
+    @Override
+    public Boolean addMedicalTeam(Map dataMap) {
+        log.error("ServiceExternalServiceImpl---addMedicalTeam鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+
         return true;
     }
 
@@ -698,7 +787,7 @@
                 ExternalOperationDetail info = new ExternalOperationDetail();
                 info.setShouShuMCID((String) map.get("ShouShuMCID"));
                 info.setShouShuMC((String) map.get("ShouShuMC"));
-                info.setZhuShouSBZ((String) map.get("ZhuShouSBZ"));
+                info.setZhuShouSBZ(ObjectUtils.isNotEmpty(map.get("ZhuShouSBZ")) ? map.get("ZhuShouSBZ").toString() : null);
                 info.setQieKouLBDM((String) map.get("QieKouLBDM"));
                 info.setQieKouLBMC((String) map.get("QieKouLBMC"));
                 info.setShouShuJBDM((String) map.get("ShouShuJBDM"));
@@ -753,9 +842,12 @@
             }
         }
         PatArchive patArchive = new PatArchive();
+        //濡傛灉鏄垰鍑虹敓鐨勫皬瀛╁瓙锛屾槸娌℃湁韬唤璇佺殑锛屾�庝箞澶勭悊锛燂紵锛燂紵锛燂紵锛燂紵
         patArchive.setIdcardno(externalInHospPatientInfo.getZhengJianHM());
         patArchive.setOrgid(externalInHospPatientInfo.getZuZhiJGID());
-        List<PatArchive> patArchives = patArchiveMapper.selectPatArchiveList(patArchive);
+        List<PatArchive> patArchives = null;
+        if (ObjectUtils.isNotEmpty(patArchive.getIdcardno()))
+            patArchives = patArchiveMapper.selectPatArchiveList(patArchive);
         patArchive.setPatientno(externalInHospPatientInfo.getJiuZhenKH());
         patArchive.setBirthdate(parse);
         patArchive.setPatidHis(externalInHospPatientInfo.getBingRenID());
@@ -789,15 +881,13 @@
         }
 
         patArchive.setTelcode(externalInHospPatientInfo.getLianXiDH());
-        if (StringUtils.isEmpty(externalInHospPatientInfo.getLianXiDH()))
+        if (StringUtils.isEmpty(patArchive.getTelcode()))
             patArchive.setTelcode(externalInHospPatientInfo.getLianXiRDH());
         patArchive.setRelativetelcode(externalInHospPatientInfo.getLianXiRDH());
         patArchive.setGuid(externalInHospPatientInfo.getZuZhiJGID());
-        if (ObjectUtils.isNotEmpty(externalInHospPatientLiaisonInfo))
-            patArchive.setRelativetelcode(externalInHospPatientLiaisonInfo.getLianXiRDH());
         patArchive.setInhospno(externalInHospPatientInfo.getBingAnHao());
-        patArchive.setCreateTime(new Date());
         patArchive.setIdcardtype(externalInHospPatientInfo.getZhengJianLXMC());
+        patArchive.setUpdateTime(new Date());
         if (CollectionUtils.isNotEmpty(patArchives)) {
             //濡傛灉涓嶄负绌猴紝鐩存帴灏嗘煡璇㈠嚭鏉ョ殑瀵硅薄杩斿洖
             PatArchive patArchive1 = patArchives.get(0);
@@ -807,6 +897,7 @@
                 patArchiveMapper.updatePatArchive(patArchive);
             }
         } else {
+            patArchive.setCreateTime(new Date());
             patArchiveMapper.insertPatArchiveSingle(patArchive);
         }
         //鏂板睘淇℃伅
@@ -835,10 +926,12 @@
     //鏂板鎮h�呭叆闄俊鎭�
     private Boolean addPadInhospInfo(ExternalInHospPatientInfo externalInHospPatientInfo, PatArchive patArchive, ExternalInHospPatientDiagnoseInfo externalInHospPatientDiagnoseInfo) {
         PatMedInhosp patMedInhosp = new PatMedInhosp();
+        List<PatMedInhosp> patMedInhospList = null;
         if (ObjectUtils.isNotEmpty(externalInHospPatientInfo)) {
             //鍖婚櫌閭h竟璇磋鐢ㄧ梾妗堝彿锛屼笉瑕佺敤浣忛櫌鍙�
             patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
-            patMedInhosp.setSerialnum(externalInHospPatientInfo.getZhuYuanHao());
+            patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
+            patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
             patMedInhosp.setHospitalname(externalInHospPatientInfo.getZuZhiJGMC());
             patMedInhosp.setHospitalcode(externalInHospPatientInfo.getZuZhiJGID());
             patMedInhosp.setStarttime(externalInHospPatientInfo.getRuYuanSJ());
@@ -858,11 +951,18 @@
             patMedInhosp.setHospitaldistrictname(externalInHospPatientInfo.getDangQianBQMC());
             patMedInhosp.setLeavehospitaldistrictname(externalInHospPatientInfo.getDangQianBQMC());
             patMedInhosp.setTelcode(patArchive.getTelcode());
-            patMedInhosp.setDrname("");
+            patMedInhosp.setDrname(externalInHospPatientInfo.getZhuZhiYSXM());
+            patMedInhosp.setDrcode(externalInHospPatientInfo.getZhuZhiYSID());
+            patMedInhosp.setNurseId(externalInHospPatientInfo.getZeRenHSID());
+            patMedInhosp.setNurseName(externalInHospPatientInfo.getZeRenHSXM());
         }
         if (ObjectUtils.isNotEmpty(externalInHospPatientDiagnoseInfo)) {
-            patMedInhosp.setIcd10code(StringUtils.isNotEmpty(patMedInhosp.getIcd10code()) ? patMedInhosp.getIcd10code() + "," + externalInHospPatientDiagnoseInfo.getZhenDuanID() : externalInHospPatientDiagnoseInfo.getZhenDuanID());
-            patMedInhosp.setDiagname(StringUtils.isNotEmpty(patMedInhosp.getDiagname()) ? patMedInhosp.getDiagname() + "," + externalInHospPatientDiagnoseInfo.getZhenDuanMC() : externalInHospPatientDiagnoseInfo.getZhenDuanMC());
+//            patMedInhosp.setIcd10code(StringUtils.isNotEmpty(patMedInhosp.getIcd10code()) ? patMedInhosp.getIcd10code() + "," + externalInHospPatientDiagnoseInfo.getZhenDuanID() : externalInHospPatientDiagnoseInfo.getZhenDuanID());
+//            patMedInhosp.setDiagname(StringUtils.isNotEmpty(patMedInhosp.getDiagname()) ? patMedInhosp.getDiagname() + "," + externalInHospPatientDiagnoseInfo.getZhenDuanMC() : externalInHospPatientDiagnoseInfo.getZhenDuanMC());
+
+            patMedInhosp.setIcd10code(externalInHospPatientDiagnoseInfo.getZhenDuanID());
+            patMedInhosp.setDiagname(externalInHospPatientDiagnoseInfo.getZhenDuanMC());
+
         }
 
         if (ObjectUtils.isNotEmpty(patArchive)) {
@@ -871,9 +971,17 @@
             patMedInhosp.setPatname(patArchive.getName());
 
             patMedInhosp.setSchemestatus(1L);
-            patMedInhosp.setCreateTime(new Date());
+
         }
-        int i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp);
+        int i = 1;
+        if (CollectionUtils.isNotEmpty(patMedInhospList)) {
+            patMedInhosp.setUpdateTime(new Date());
+            patMedInhosp.setInhospid(patMedInhospList.get(0).getInhospid());
+            i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp);
+        } else {
+            patMedInhosp.setCreateTime(new Date());
+            i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp);
+        }
         if (i == 1) return true;
         return false;
     }
@@ -997,8 +1105,14 @@
                 log.error("鍙栨秷鍑洪櫌鍏ュ弬绫诲瀷涓猴細{}", type);
                 return cancelOutHospInfo(dataMap);
             case "JG_ZZ_BingQu":
-                log.error("鐥呭尯淇℃伅鍏ュ弬绫诲瀷涓鸿緟锛歿}", type);
+                log.error("鐥呭尯淇℃伅鍏ュ弬绫诲瀷涓猴細{}", type);
                 return addWardAreaInfo(dataMap);
+            case "JG_ZZ_YiLiaoZYS":
+                log.error("鍖荤枟缁勫尰鐢熶负锛歿}", type);
+                return addMedicalTeam(dataMap);
+            case "JZ_ZY_RuKe":
+                log.error("鍏ョ鐨勬暟鎹负锛歿}", type);
+                return addInDeptInfo(dataMap);
         }
         return true;
     }

--
Gitblit v1.9.3