From 7aa87d2ffab20f73ffba7384c67d4bbb659aa6a3 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 06 三月 2025 16:22:48 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java |  143 +++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 118 insertions(+), 25 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 09fcb1a..c20ac7b 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -49,7 +49,9 @@
     @Autowired
     private PatMedOperationItemMapper patMedOperationItemMapper;
     @Autowired
-    private Icd10AssociationMapper icd10AssociationMapper;
+    private Icd10Mapper icd10Mapper;
+    @Autowired
+    private PatMedOuthospMapper patMedOuthospMapper;
 
     @Value("${defaultPwd}")
     private String defaultPwd;
@@ -295,7 +297,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,31 +328,96 @@
 
     @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);
-        Icd10Association icd10Association = new Icd10Association();
-        icd10Association.setIcd10code(externalDiseaseInfo.getJiBingID());
-        icd10Association.setIcd10name(externalDiseaseInfo.getJiBingMC());
-        icd10Association.setGuid(externalDiseaseInfo.getZuZhiJGID());
-        icd10Association.setOrgid(externalDiseaseInfo.getZuZhiJGID());
-        icd10Association.setPid(externalDiseaseInfo.getFUJIBID());
-        icd10Association.setIcd10AssortCode(externalDiseaseInfo.getJiBingFLDM());
-        icd10Association.setIcd10AssortName(externalDiseaseInfo.getJiBingFLMC());
-        icd10Association.setChineseMedicineDiagnoseSign(externalDiseaseInfo.getZhongYiZDBZ());
-        icd10Association.setChineseMedicineDiagnoseAssortCode(externalDiseaseInfo.getZhongYiZDFLDM());
-        icd10Association.setChineseMedicineDiagnoseAssortName(externalDiseaseInfo.getZhongYiZDFLMC());
-        icd10Association.setOutpatientUseAssort(externalDiseaseInfo.getMenZhenSYBZ());
-        icd10Association.setInpatientUseAssort(externalDiseaseInfo.getZhuYuanSYBZ());
-        icd10AssociationMapper.insertIcd10Association(icd10Association);
+        Map XiaoXiTou = (Map) dataMap.get("XiaoXiTou");
+        String FaSongJGID = XiaoXiTou.get("FaSongJGID").toString();
+        Icd10 icd10 = new Icd10();
+        icd10.setIcdcode(externalDiseaseInfo.getIcD10());
+        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);
         return true;
     }
 
@@ -395,6 +462,9 @@
         Map<String, Object> BingRenXX = (Map<String, Object>) yeWuXX.get("BingRenXX");
         ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true);
 
+        PatArchive patArchive = addPatArchive(externalInHospPatientInfo, null, null);
+
+
         //鎵嬫湳淇℃伅鏂板
         Map<String, Object> ssxx = (Map<String, Object>) yeWuXX.get("ShouShuSQ");
         //鎵嬫湳鏇存柊
@@ -409,7 +479,7 @@
         else if (ObjectUtils.isNotEmpty(sscx))
             externalOperationInfo = BeanUtil.mapToBean(sscx, ExternalOperationInfo.class, true);
         PatMedOperation patMedOperation = new PatMedOperation();
-        patMedOperation.setPatid(null);
+        patMedOperation.setPatid(patArchive.getId());
         patMedOperation.setPatcode(externalInHospPatientInfo.getBingRenID());
         patMedOperation.setPaname(externalInHospPatientInfo.getXingMing());
 //        patMedOperation.setOpreqid(externalOperationInfo.getShenQingDID());
@@ -418,8 +488,8 @@
         List<PatMedOperation> patMedOperations = patMedOperationMapper.selectPatMedOperationList(patMedOperation);
 
         patMedOperation.setOpsstatus(null);
-        patMedOperation.setOperationcode(externalOperationInfo.getShouShuLBDM());
-        patMedOperation.setOperationname(externalOperationInfo.getShouShuLBMC());
+        patMedOperation.setOptypecode(externalOperationInfo.getShouShuLBDM());
+        patMedOperation.setOptypename(externalOperationInfo.getShouShuLBMC());
         patMedOperation.setOperatortime(externalOperationInfo.getYaoQiuSJ());
         patMedOperation.setOpreqtime(externalOperationInfo.getShenQingSJ());
         patMedOperation.setReqdoccode(externalOperationInfo.getShenQingYSID());
@@ -470,6 +540,12 @@
         if (CollectionUtils.isNotEmpty(patMedOperations)) {
             Long id = patMedOperations.get(0).getId();
             patMedOperation.setId(id);
+            patMedOperation.setCheckFlag(patMedOperations.get(0).getCheckFlag());
+            //濡傛灉鎵嬫湳鎾ら攢锛岀洿鎺ュ垹闄よ鏉℃墜鏈俊鎭�
+            if (ObjectUtils.isNotEmpty(sscx)) {
+                patMedOperation.setDelFlag("1");
+                //鍚屾椂鍘绘煡璇紝鏄惁鍦╯ubtask涓敓鎴愪换鍔★紝濡傛灉鐢熸垚鍑哄緱绔嬮┈鍒犻櫎
+            }
             patMedOperationMapper.updatePatMedOperation(patMedOperation);
         } else patMedOperationMapper.insertPatMedOperation(patMedOperation);
         log.error("-----patMedOperation鐨勪富閿甶d涓猴細{}", patMedOperation.getId());
@@ -477,6 +553,8 @@
         if (ObjectUtils.isNotEmpty(ssxx)) {
             Map<String, Object> ShouShuMXList = (Map<String, Object>) ssxx.get("ShouShuMXList");
             List<ExternalOperationDetail> externalOperationDetails = BeanUtil.mapToBean(ShouShuMXList, List.class, true);
+            //addMianTableFalg鏄惁闇�瑕佸皢涓绘墜鏈殑淇℃伅鏀惧埌PatMedOperation琛ㄤ腑锛堝彧鏈夌涓�涓富鎵嬫湳淇℃伅闇�瑕佹斁锛屽悗闈㈢殑閮戒笉闇�瑕佹斁浜嗭紝涔熷氨鏄锛岀涓�涓斁瀹屽悗锛屽氨瑕佹妸杩欎釜flag鏀规垚false锛�
+            Boolean addMianTableFalg = true;
             for (ExternalOperationDetail externalOperationDetail : externalOperationDetails) {
                 PatMedOperationItem patMedOperationItem = new PatMedOperationItem();
                 patMedOperationItem.setOpid(patMedOperation.getId());
@@ -490,6 +568,14 @@
                 patMedOperationItem.setOpposition(externalOperationDetail.getShouShuBW());
                 patMedOperationItem.setDelFlag("0");
                 patMedOperationItem.setOrgid(patMedOperation.getOrgid());
+                if (externalOperationDetail.getZhuShouSBZ().equals("1") && addMianTableFalg == true) {
+                    patMedOperation.setOpcode(externalOperationDetail.getShouShuMCID());
+                    patMedOperation.setOpdesc(externalOperationDetail.getShouShuMC());
+//                    patMedOperation.setOpid(externalOperationDetail.getShouShuJBDM());
+                    patMedOperationMapper.updatePatMedOperation(patMedOperation);
+                    addMianTableFalg = false;
+                }
+
                 patMedOperationItemMapper.insertPatMedOperationItem(patMedOperationItem);
             }
         }
@@ -511,13 +597,18 @@
         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 = externalInHospPatientAddrInfo.getShengFenMC() + externalInHospPatientAddrInfo.getShiDiQMC() + externalInHospPatientAddrInfo.getXianQuMC() + externalInHospPatientAddrInfo.getXiangZhenMC() + externalInHospPatientAddrInfo.getCunJiMC() + externalInHospPatientAddrInfo.getQiTaXX();
+            patArchive.setPlaceOfResidence(por.replace(null, ""));
+            String bp = externalInHospPatientAddrInfo.getShengFenMC() + externalInHospPatientAddrInfo.getShiDiQMC() + externalInHospPatientAddrInfo.getXianQuMC() + externalInHospPatientAddrInfo.getXiangZhenMC() + externalInHospPatientAddrInfo.getCunJiMC() + externalInHospPatientAddrInfo.getQiTaXX();
+            patArchive.setBirthplace(bp.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))
@@ -564,6 +655,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());
@@ -574,7 +667,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