From e00ef99886b9ab84f39c81432f8c7640e93026f9 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 27 二月 2025 15:54:30 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java |  191 +++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 166 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 c578dbc..744839d 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -1,7 +1,5 @@
 package com.smartor.service.impl;
 
-import java.lang.reflect.Field;
-
 import cn.hutool.core.bean.BeanUtil;
 import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.core.domain.entity.SysUser;
@@ -9,21 +7,22 @@
 import com.smartor.domain.*;
 import com.smartor.mapper.*;
 import com.smartor.service.IServiceExternalService;
-import com.smartor.service.IServiceSubtaskRecordService;
 import com.smartor.service.IServiceSubtaskService;
-import io.swagger.annotations.ApiModelProperty;
+import org.springframework.beans.factory.annotation.Value;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.ObjectUtils;
-import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.security.auth.login.CredentialNotFoundException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -46,11 +45,14 @@
     @Autowired
     private PatMedInhospMapper patMedInhospMapper;
     @Autowired
-    private Icd10AssociationMapper icd10AssociationMapper;
-
+    private PatMedOperationMapper patMedOperationMapper;
     @Autowired
-    private IServiceSubtaskService iServiceSubtaskService;
+    private PatMedOperationItemMapper patMedOperationItemMapper;
+    @Autowired
+    private Icd10Mapper icd10Mapper;
 
+    @Value("${defaultPwd}")
+    private String defaultPwd;
 
     public Boolean generalInterface(Map dataMap) {
         Map XiaoXiTou = (Map) dataMap.get("XiaoXiTou");
@@ -111,11 +113,15 @@
         ExternalUserInfo externalUserInfo = BeanUtil.mapToBean(yongHuXX, ExternalUserInfo.class, true);
         SysUser sysUser = new SysUser();
         sysUser.setGuid(externalUserInfo.getZuZhiJGID());
-        sysUser.setUserName(externalUserInfo.getYongHuID());
+        sysUser.setUserName(externalUserInfo.getYongHuDLM());
         sysUser.setNickName(externalUserInfo.getYongHuXM());
         sysUser.setUserType("");
         sysUser.setDeptId(null);
         sysUser.setTitle(null);
+
+        BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
+        sysUser.setPassword(passwordEncoder.encode(defaultPwd));
+
         sysUser.setHisUserId(externalUserInfo.getYongHuID());
         sysUser.setPhonenumber(externalUserInfo.getLianXiDH());
         sysUser.setJobPhone(externalUserInfo.getGongZuoDH());
@@ -331,20 +337,20 @@
         Map yeWuXX = (Map) dataMap.get("YeWuXX");
         Map<String, Object> JiBing = (Map<String, Object>) yeWuXX.get("JiBing");
         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);
+        Icd10 icd10 = new Icd10();
+        icd10.setIcdcode(externalDiseaseInfo.getJiBingID());
+        icd10.setIcdname(externalDiseaseInfo.getJiBingMC());
+        icd10.setGuid(externalDiseaseInfo.getZuZhiJGID());
+        icd10.setOrgid(externalDiseaseInfo.getZuZhiJGID());
+        icd10.setLastflag(externalDiseaseInfo.getMOJIBZ());
+        icd10.setChimedflag("" + externalDiseaseInfo.getZhongYiZDBZ());
+//        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;
     }
 
@@ -381,6 +387,134 @@
         return true;
     }
 
+    @Override
+    public Boolean addOperationInfo(Map dataMap) {
+        log.error("ServiceExternalServiceImpl---addOperationInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+
+        Map yeWuXX = (Map) dataMap.get("YeWuXX");
+        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");
+        //鎵嬫湳鏇存柊
+        Map<String, Object> ssgx = (Map<String, Object>) yeWuXX.get("ShouShuGX");
+        //鎵嬫湳鎾ら攢
+        Map<String, Object> sscx = (Map<String, Object>) yeWuXX.get("ShouShuCX");
+        ExternalOperationInfo externalOperationInfo = null;
+        if (ObjectUtils.isNotEmpty(ssxx))
+            externalOperationInfo = BeanUtil.mapToBean(ssxx, ExternalOperationInfo.class, true);
+        else if (ObjectUtils.isNotEmpty(ssgx))
+            externalOperationInfo = BeanUtil.mapToBean(ssgx, ExternalOperationInfo.class, true);
+        else if (ObjectUtils.isNotEmpty(sscx))
+            externalOperationInfo = BeanUtil.mapToBean(sscx, ExternalOperationInfo.class, true);
+        PatMedOperation patMedOperation = new PatMedOperation();
+        patMedOperation.setPatid(patArchive.getId());
+        patMedOperation.setPatcode(externalInHospPatientInfo.getBingRenID());
+        patMedOperation.setPaname(externalInHospPatientInfo.getXingMing());
+//        patMedOperation.setOpreqid(externalOperationInfo.getShenQingDID());
+        patMedOperation.setOpreqcode(externalOperationInfo.getShenQingDID());
+        //鏌ヨ涓�涓嬶紝璇ユ偅鑰呮槸鍚﹀凡缁忔湁杩欎簺鏁版嵁
+        List<PatMedOperation> patMedOperations = patMedOperationMapper.selectPatMedOperationList(patMedOperation);
+
+        patMedOperation.setOpsstatus(null);
+        patMedOperation.setOptypecode(externalOperationInfo.getShouShuLBDM());
+        patMedOperation.setOptypename(externalOperationInfo.getShouShuLBMC());
+        patMedOperation.setOperatortime(externalOperationInfo.getYaoQiuSJ());
+        patMedOperation.setOpreqtime(externalOperationInfo.getShenQingSJ());
+        patMedOperation.setReqdoccode(externalOperationInfo.getShenQingYSID());
+        patMedOperation.setReqdocname(externalOperationInfo.getShenQingYSXM());
+        patMedOperation.setReqdeptcode(externalOperationInfo.getShenQingKSID());
+        patMedOperation.setReqdeptname(externalOperationInfo.getShenQingKSMC());
+        patMedOperation.setReqloccode(externalOperationInfo.getShouShuKSID());
+        patMedOperation.setReqlocname(externalOperationInfo.getShouShuKSMC());
+        patMedOperation.setSurgeoncode(externalOperationInfo.getZhuDaoYSID());
+        patMedOperation.setSurgeonname(externalOperationInfo.getSanZhuYSXM());
+        patMedOperation.setFirasscode(externalOperationInfo.getYiZhuID());
+        patMedOperation.setFirassname(externalOperationInfo.getYiZhuMC());
+        patMedOperation.setSecasscode(externalOperationInfo.getErZhuYSID());
+        patMedOperation.setSecassname(externalOperationInfo.getErZhuYSXM());
+        patMedOperation.setThrasscode(externalOperationInfo.getSanZhuYSID());
+        patMedOperation.setThrassname(externalOperationInfo.getSanZhuYSXM());
+        patMedOperation.setCanceltime(null);
+        patMedOperation.setCancelreason(null);
+        patMedOperation.setCancelcode(null);
+        patMedOperation.setCancelname(null);
+        patMedOperation.setVisittype(null);
+        patMedOperation.setStatus(null);
+        patMedOperation.setSchemetime(null);
+        patMedOperation.setSchemestatus(null);
+        patMedOperation.setDelFlag("0");
+        patMedOperation.setIsupload(null);
+        patMedOperation.setUploadTime(null);
+        patMedOperation.setOrgid(externalInHospPatientInfo.getZuZhiJGID());
+        patMedOperation.setInhospstate(null);
+        patMedOperation.setPatno(externalInHospPatientInfo.getBingRenID());
+        patMedOperation.setPatname(externalInHospPatientInfo.getXingMing());
+        patMedOperation.setVisitid(null);
+        patMedOperation.setSerialnum(externalInHospPatientInfo.getZhuYuanHao());
+        patMedOperation.setInhospno(externalInHospPatientInfo.getZhuYuanHao());
+        patMedOperation.setHospitalname(externalInHospPatientInfo.getZuZhiJGMC());
+        patMedOperation.setHospitalcode(externalInHospPatientInfo.getZuZhiJGID());
+        patMedOperation.setDeptid(externalOperationInfo.getShouShuKSID());
+        patMedOperation.setDeptcode(externalOperationInfo.getShouShuKSID());
+        patMedOperation.setDeptname(externalOperationInfo.getShouShuKSMC());
+        patMedOperation.setHospitaldistrictcode(null);
+        patMedOperation.setHospitaldistrictname(null);
+        patMedOperation.setRoomno(null);
+        patMedOperation.setBedNo(null);
+        patMedOperation.setDrcode(externalOperationInfo.getZhuDaoYSID());
+        patMedOperation.setDrname(externalOperationInfo.getZhuDaoYSXM());
+        patMedOperation.setNurseId(null);
+        patMedOperation.setNurseName(null);
+        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());
+
+        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());
+                patMedOperationItem.setOpcode(externalOperationDetail.getShouShuMCID());
+                patMedOperationItem.setOpdesc(externalOperationDetail.getShouShuMC());
+                patMedOperationItem.setMainFlag(externalOperationDetail.getZhuShouSBZ());
+                patMedOperationItem.setIncitypecode(externalOperationDetail.getQieKouLBDM());
+                patMedOperationItem.setIncitypedesc(externalOperationDetail.getQieKouLBMC());
+                patMedOperationItem.setOplevelcode(externalOperationDetail.getShouShuJBDM());
+                patMedOperationItem.setOpleveldesc(externalOperationDetail.getShouShuJBMC());
+                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);
+            }
+        }
+        return true;
+    }
+
     //鏂板鎮h�呭熀鏈俊鎭�
     private PatArchive addPatArchive(ExternalInHospPatientInfo externalInHospPatientInfo, ExternalInHospPatientAddrInfo externalInHospPatientAddrInfo, ExternalInHospPatientLiaisonInfo externalInHospPatientLiaisonInfo) {
         PatArchive patArchive = new PatArchive();
@@ -403,7 +537,9 @@
         patArchive.setAge(externalInHospPatientInfo.getNianLing());
         patArchive.setAgeUnit(externalInHospPatientInfo.getNianLingDW());
         patArchive.setTelcode(externalInHospPatientInfo.getLianXiDH());
+        patArchive.setRelativetelcode(externalInHospPatientInfo.getLianXiRDH());
         patArchive.setGuid(externalInHospPatientInfo.getZuZhiJGID());
+        patArchive.setOrgid(externalInHospPatientInfo.getZuZhiJGID());
         if (ObjectUtils.isNotEmpty(externalInHospPatientLiaisonInfo))
             patArchive.setRelativetelcode(externalInHospPatientLiaisonInfo.getLianXiRDH());
         patArchive.setInhospno(externalInHospPatientInfo.getZhuYuanHao());
@@ -434,7 +570,9 @@
             patMedInhosp.setHospitalcode(externalInHospPatientInfo.getZuZhiJGID());
             patMedInhosp.setStarttime(externalInHospPatientInfo.getRuYuanSJ());
             patMedInhosp.setDeptcode(externalInHospPatientInfo.getDangQianKSID());
+            patMedInhosp.setLeaveldeptcode(externalInHospPatientInfo.getDangQianKSID());
             patMedInhosp.setDeptname(externalInHospPatientInfo.getDangQianKSMC());
+            patMedInhosp.setLeaveldeptname(externalInHospPatientInfo.getDangQianKSMC());
             patMedInhosp.setBedNo(externalInHospPatientInfo.getDangQianCWID());
             patMedInhosp.setOrgid(externalInHospPatientInfo.getZuZhiJGID());
             patMedInhosp.setHospitaldistrictid(externalInHospPatientInfo.getDangQianBQID());
@@ -443,7 +581,9 @@
             patMedInhosp.setOperator(externalInHospPatientInfo.getCaoZuoRXM());
             patMedInhosp.setOperatorId(externalInHospPatientInfo.getCaoZuoRID());
             patMedInhosp.setHospitaldistrictcode(externalInHospPatientInfo.getDangQianBQID());
+            patMedInhosp.setLeavehospitaldistrictcode(externalInHospPatientInfo.getDangQianBQID());
             patMedInhosp.setHospitaldistrictname(externalInHospPatientInfo.getDangQianBQMC());
+            patMedInhosp.setLeavehospitaldistrictname(externalInHospPatientInfo.getDangQianBQMC());
         }
         if (ObjectUtils.isNotEmpty(externalInHospPatientDiagnoseInfo)) {
             patMedInhosp.setIcd10code(StringUtils.isNotEmpty(patMedInhosp.getIcd10code()) ? patMedInhosp.getIcd10code() + "," + externalInHospPatientDiagnoseInfo.getZhenDuanID() : externalInHospPatientDiagnoseInfo.getZhenDuanID());
@@ -540,6 +680,7 @@
                 return true;
             case "SM_SQ_ShenQing":
                 log.error("鎵嬫湳鐢宠鍏ュ弬绫诲瀷涓猴細{}", type);
+                addOperationInfo(dataMap);
                 return true;
             case "TJ_YW_BaoGaoXX":
                 log.error("浣撴鎶ュ憡鍏ュ弬绫诲瀷涓猴細{}", type);

--
Gitblit v1.9.3