From d7a1bed2e072cc3e40746c0b9e541d0ccd14e2a3 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期五, 06 二月 2026 14:19:10 +0800
Subject: [PATCH] 【丽水】新增科室用户信息接口输入

---
 smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java |   95 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 95 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..d72677f 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -3,6 +3,7 @@
 import cn.hutool.core.bean.BeanUtil;
 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 +41,8 @@
     private SysDept2Mapper sysDeptMapper;
     @Autowired
     private SysUser2Mapper sysUserMapper;
+    @Autowired
+    private SysUserDeptMapper sysUserDeptMapper;
     @Autowired
     private BaseOrganizationMapper baseOrganizationMapper;
     @Autowired
@@ -132,6 +135,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 +184,94 @@
         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.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()));
+                sysUserMapper.updateUser(sysUser);
+            }
+        }
+        return true;
+    }
 
     private SysUser getUser(List<SysUser> sysUserList) {
         SysUser sysUser = null;
@@ -1781,6 +1873,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