From 1713fac8ca97c63924d2f1ed08ef520a7b4a4439 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 06 二月 2026 17:34:24 +0800
Subject: [PATCH] 修改分页

---
 smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java |  118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 118 insertions(+), 0 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 aed0d9c..eb1dcc5 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -1,8 +1,10 @@
 package com.smartor.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import com.google.gson.Gson;
 import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.entity.SysUserDept;
 import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.StringUtils;
@@ -40,6 +42,8 @@
     private SysDept2Mapper sysDeptMapper;
     @Autowired
     private SysUser2Mapper sysUserMapper;
+    @Autowired
+    private SysUserDeptMapper sysUserDeptMapper;
     @Autowired
     private BaseOrganizationMapper baseOrganizationMapper;
     @Autowired
@@ -132,6 +136,7 @@
         log.info("ServiceExternalServiceImpl---addUserInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
         Map yeWuXX = (Map) dataMap.get("YeWuXX");
         Map<String, Object> yongHuXX = (Map<String, Object>) yeWuXX.get("YongHuXX");
+
         ExternalUserInfo externalUserInfo = BeanUtil.mapToBean(yongHuXX, ExternalUserInfo.class, true);
         if (ObjectUtils.isEmpty(externalUserInfo)) {
             throw new BaseException("externalUserInfo鏄┖鐨勶紝娌℃湁鏁版嵁锛侊紒锛�");
@@ -180,6 +185,116 @@
         return true;
     }
 
+    @Override
+    public Boolean addUserDeptInfo(Map dataMap) {
+        log.info("ServiceExternalServiceImpl---addUserDeptInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+        Map yeWuXX = (Map) dataMap.get("YeWuXX");
+        Map<String, Object> keShiYH = (Map<String, Object>) yeWuXX.get("KeShiYH");
+
+        ExternalUserDeptInfo externalUserDeptInfo = BeanUtil.mapToBean(keShiYH, ExternalUserDeptInfo.class, true);
+        if (ObjectUtils.isEmpty(externalUserDeptInfo)) {
+            throw new BaseException("externalUserDeptInfo鏄┖鐨勶紝娌℃湁鏁版嵁锛侊紒锛�");
+        }
+
+        //鑾峰彇褰撳墠鐢ㄦ埛Name瀵瑰簲鐨剈ser淇℃伅
+        SysUser sysUser = null;
+        SysUser sysUserVo = new SysUser();
+        sysUserVo.setUserName(externalUserDeptInfo.getYongHuDLM());
+        sysUserVo.setOrgid(externalUserDeptInfo.getZuZhiJGID());
+        //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+        sysUserVo.setCampusid("1");
+        //鏍规嵁userName鍒ゆ柇涓�涓嬶紝鏄笉鏄箣鍓嶆湁鏂板
+        List<SysUser> sysUserList = sysUserMapper.selectUserList(sysUserVo);
+        if (CollectionUtils.isNotEmpty(sysUserList)) {
+            sysUser = sysUserList.get(0);
+        }
+
+        //鑾峰彇褰撳墠绉戝hisDeptId瀵瑰簲鐨刣ept淇℃伅
+        SysDept sysDept = null;
+        SysDept sysDeptVo = new SysDept();
+        sysDeptVo.setOrgid(externalUserDeptInfo.getZuZhiJGID());
+        //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+        sysDeptVo.setCampusid("1");
+        sysDeptVo.setHisDeptId(externalUserDeptInfo.getKeShiID());
+        List<SysDept> sysDepts = sysDeptMapper.selectDeptList(sysDeptVo);
+        if (CollectionUtils.isNotEmpty(sysDepts)) {
+            sysDept = sysDepts.get(0);
+        }
+        if(ObjectUtils.isEmpty(sysUser)){
+            log.error("ServiceExternalServiceImpl---addUserDeptInfo 鎵句笉鍒板搴旂殑鐢ㄦ埛 username: {}", externalUserDeptInfo.getYongHuDLM());
+            return false;
+        }else if(ObjectUtils.isEmpty(sysDept)){
+            log.error("ServiceExternalServiceImpl---addUserDeptInfo 鎵句笉鍒板搴旂殑绉戝 hisDeptId: {}", externalUserDeptInfo.getKeShiID());
+            return false;
+        }else {
+            SysUserDept sysUserDept = new SysUserDept();
+            sysUserDept.setDelFlag(0L);
+            sysUserDept.setUserId(sysUser.getUserId());
+            sysUserDept.setUserCode(sysUser.getUserCode());
+            sysUserDept.setDeptType("2");
+            sysUserDept.setGuid(externalUserDeptInfo.getZuZhiJGID());
+            sysUserDept.setDeptId(sysDept.getDeptId());
+            sysUserDept.setDeptCode(sysDept.getDeptCode());
+            sysUserDept.setDeptName(sysDept.getDeptName());
+            sysUserDept.setOrgid(externalUserDeptInfo.getZuZhiJGID());
+            sysUserDept.setCampusid("1");
+
+            sysUserDept.setCreateBy(externalUserDeptInfo.getChuangJianRXM());
+            sysUserDept.setCreateTime(externalUserDeptInfo.getChuangJianSJ());
+            sysUserDept.setUpdateTime(externalUserDeptInfo.getXiuGaiSJ());
+            sysUserDept.setUpdateBy(externalUserDeptInfo.getXiuGaiRXM());
+
+            if (StringUtils.isNotEmpty(externalUserDeptInfo.getShiJianDM()) && externalUserDeptInfo.getShiJianDM().equals("3")) {
+                sysUserDept.setDelFlag(1L);
+            }
+            SysUserDept sysUserDeptVo = new SysUserDept();
+            sysUserDeptVo.setUserId(sysUser.getUserId());
+            sysUserDeptVo.setDeptId(sysDept.getDeptId());
+            sysUserDeptVo.setOrgid(externalUserDeptInfo.getZuZhiJGID());
+            //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+            sysUserDeptVo.setCampusid("1");
+            //鏍规嵁userName鍒ゆ柇涓�涓嬶紝鏄笉鏄箣鍓嶆湁鏂板
+            SysUserDept sysUserDeptOld = null;
+            List<SysUserDept> sysUserDeptList = sysUserDeptMapper.selectSysUserDeptList(sysUserDeptVo);
+            if (CollectionUtils.isNotEmpty(sysUserDeptList)) {
+                sysUserDeptOld = sysUserDeptList.get(0);
+            }
+            if (ObjectUtils.isEmpty(sysUserDeptOld)) {
+                int i = sysUserDeptMapper.insertSysUserDept(sysUserDept);
+                log.info("ServiceExternalServiceImpl---addUserDeptInfo鏄惁鏂板鎴愬姛锛歿}", i);
+            } else {
+                sysUserDept.setUserId(sysUserDeptOld.getUserId());
+                int i = sysUserDeptMapper.updateSysUserDept(sysUserDept);
+                log.info("ServiceExternalServiceImpl---addUserDeptInfo鏄惁淇敼鎴愬姛03锛歿}", i);
+            }
+            //鏇存柊sys-user deptId
+            if(StringUtils.isNotEmpty(externalUserDeptInfo.getKeShiID())){
+                sysUser.setDeptId(Long.valueOf(externalUserDeptInfo.getKeShiID()));
+                //鏌ヨ鐢ㄦ埛绉戝鍏崇郴
+                SysUserDept sysUserDeptTemp = new SysUserDept();
+                sysUserDeptTemp.setUserId(sysUser.getUserId());
+                sysUserDeptTemp.setOrgid(externalUserDeptInfo.getZuZhiJGID());
+                List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDeptTemp);
+                List<String> userDepts = sysUserDepts.stream().map(SysUserDept::getDeptCode).
+                        distinct().collect(Collectors.toList());
+                //鍜宷ueryHospUserInfoList閲囬泦鐨勬暟鎹牸寮忎繚鎸佷竴鑷�
+                List<List<String>> userDeptsList = new ArrayList<>();
+                if(!sysUserDeptList.isEmpty()){
+                    for(String userDept: userDepts){
+                        List<String> uDept = new ArrayList<>();
+                        uDept.add(userDept);
+                        userDeptsList.add(uDept);
+                    }
+                }
+                //灏嗛儴闂ㄦ垜鐥呭尯鏀惧埌鎸囧畾瀛楁涓�
+                Gson gson = new Gson();
+                sysUser.setHospInfo(gson.toJson(userDeptsList));
+
+                sysUserMapper.updateUser(sysUser);
+            }
+        }
+        return true;
+    }
 
     private SysUser getUser(List<SysUser> sysUserList) {
         SysUser sysUser = null;
@@ -1781,6 +1896,9 @@
             case "JG_YH_JiBenXX":
                 log.info("鐢ㄦ埛淇℃伅鍏ュ弬绫诲瀷涓猴細{}", type);
                 return addUserInfo(dataMap);
+            case "JG_YH_KeShiYH":
+                log.info("绉戝鐢ㄦ埛淇℃伅鍏ュ弬绫诲瀷涓猴細{}", type);
+                return addUserDeptInfo(dataMap);
             case "fu_task":
                 log.info("fu_task鏈嶅姟鍏ュ弬绫诲瀷涓猴細{}", type);
                 return addTaskInfo(dataMap);

--
Gitblit v1.9.3