From 1468abbfadd8ba623c85e0c871aade69607ce085 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 25 二月 2025 14:24:54 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java |  135 ++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 122 insertions(+), 13 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 f4607c6..09fcb1a 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 PatMedOperationMapper patMedOperationMapper;
+    @Autowired
+    private PatMedOperationItemMapper patMedOperationItemMapper;
+    @Autowired
     private Icd10AssociationMapper icd10AssociationMapper;
 
-    @Autowired
-    private IServiceSubtaskService iServiceSubtaskService;
-
+    @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());
@@ -383,10 +389,111 @@
 
     @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);
 
-        return 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(null);
+        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.setOperationcode(externalOperationInfo.getShouShuLBDM());
+        patMedOperation.setOperationname(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);
+            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);
+            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());
+                patMedOperationItemMapper.insertPatMedOperationItem(patMedOperationItem);
+            }
+        }
+        return true;
     }
 
     //鏂板鎮h�呭熀鏈俊鎭�
@@ -412,6 +519,7 @@
         patArchive.setAgeUnit(externalInHospPatientInfo.getNianLingDW());
         patArchive.setTelcode(externalInHospPatientInfo.getLianXiDH());
         patArchive.setGuid(externalInHospPatientInfo.getZuZhiJGID());
+        patArchive.setOrgid(externalInHospPatientInfo.getZuZhiJGID());
         if (ObjectUtils.isNotEmpty(externalInHospPatientLiaisonInfo))
             patArchive.setRelativetelcode(externalInHospPatientLiaisonInfo.getLianXiRDH());
         patArchive.setInhospno(externalInHospPatientInfo.getZhuYuanHao());
@@ -552,6 +660,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