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/domain/ExternalUserDeptInfo.java                        |   72 ++++++++++++++++++
 smartor/src/main/java/com/smartor/service/IServiceExternalService.java                    |    7 +
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java                              |    3 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceExternalController.java |   18 ++++
 smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java            |   95 +++++++++++++++++++++++
 5 files changed, 192 insertions(+), 3 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceExternalController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceExternalController.java
index 2079da6..9751402 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceExternalController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceExternalController.java
@@ -150,6 +150,24 @@
 
     }
 
+    /**
+     * 鏂板绉戝淇℃伅
+     */
+    @ApiOperation("鏂板鐢ㄦ埛淇℃伅")
+    @PostMapping("/addUserDeptInfo")
+    public Map<String, Object> addUserDeptInfo(@RequestBody Map dataMap) {
+        Boolean aBoolean = true;
+        try {
+            aBoolean = serviceExternalService.addUserDeptInfo(dataMap);
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error("serviceExternal---addUserDeptInfo鍑哄紓甯镐簡锛歿}", e.getMessage());
+            aBoolean = false;
+        }
+        return returnParam(aBoolean, dataMap);
+
+    }
+
 
     /**
      * 鏂板鏈烘瀯淇℃伅
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
index c32f368..7e08a3b 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -935,8 +935,9 @@
             // 鎵惧埌涓嬩竴涓猻ort瀵瑰簲鐨刾reachform
             String nextPreachform = serviceSubtaskPreachforms.stream().filter(item -> nextSort.equals(item.getSort())).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse("-1");
 
+            String orgid = serviceSubtask.getOrgid();
             //寰俊宸插彂閫併�佸凡棰嗗彇璺宠繃鐭俊鍙戦�侊紝杩涜浜哄伐 -涓芥按涓尰闄�
-            if (active.equals("47231022633110211A2101")) {
+            if (StringUtils.isNotEmpty(orgid) && orgid.equals("47231022633110211A2101")) {
                 //鑾峰彇褰撳墠鍙戦�佹柟寮�
                 ServiceSubtaskPreachform currentServiceSubtaskPreachform = serviceSubtaskPreachforms.stream().filter(item -> item.getSort().equals(currentSort.get())).findFirst().orElse(new ServiceSubtaskPreachform());
                 //褰撳墠鍙戦�佹柟寮忎负寰俊鐨勶紝涓斾笅涓�鍙戦�佹柟寮忎负鐭俊鐨勶紝寰俊鍙戦�佺姸鎬佷负宸插彂閫併�佸凡棰嗗彇鐨勶紝璺宠繃鐭俊姝ラ
diff --git a/smartor/src/main/java/com/smartor/domain/ExternalUserDeptInfo.java b/smartor/src/main/java/com/smartor/domain/ExternalUserDeptInfo.java
new file mode 100644
index 0000000..c363df8
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/ExternalUserDeptInfo.java
@@ -0,0 +1,72 @@
+package com.smartor.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author 鎺ユ敹绗笁鏂圭瀹ょ敤鎴蜂俊鎭�
+ * @date 2024-12-13
+ */
+@Data
+@ApiModel(value = "ExternalUserDeptInfo", description = "鎺ユ敹绗笁鏂圭瀹ょ敤鎴蜂俊鎭�")
+public class ExternalUserDeptInfo extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "缁勭粐鏈烘瀯 ID")
+    private String ZuZhiJGID;
+
+    @ApiModelProperty(value = "缁勭粐鏈烘瀯鍚嶇О")
+    private String ZuZhiJGMC;
+
+    @ApiModelProperty(value = "绉戝鐢ㄦ埛 ID")
+    private String KeShiYHDZID;
+
+    @ApiModelProperty(value = "浜嬩欢浠g爜 1-鏂板锛�2-淇敼锛�3-浣滃簾")
+    private String ShiJianDM;
+
+    @ApiModelProperty(value = "浜嬩欢鍚嶇О 1-鏂板锛�2-淇敼锛�3-浣滃簾")
+    private String ShiJianMC;
+
+    @ApiModelProperty(value = "鐢ㄦ埛 ID")
+    private String YongHuID;
+
+    @ApiModelProperty(value = "鐢ㄦ埛濮撳悕")
+    private String YongHuXM;
+
+    @ApiModelProperty(value = "绉戝 ID")
+    private String KeShiID;
+
+    @ApiModelProperty(value = "绉戝鍚嶇О")
+    private String KeShiMC;
+
+    @ApiModelProperty(value = "鍒涘缓浜� ID")
+    private String ChuangJianRID;
+
+    @ApiModelProperty(value = "鍒涘缓浜哄鍚�")
+    private String ChuangJianRXM;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date ChuangJianSJ;
+
+    @ApiModelProperty(value = "淇敼浜� ID")
+    private String XiuGaiRID;
+
+    @ApiModelProperty(value = "淇敼浜哄鍚�")
+    private String XiuGaiRXM;
+
+    @ApiModelProperty(value = "淇敼鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date XiuGaiSJ;
+
+    @ApiModelProperty(value = "鑱屽伐 ID")
+    private String ZhiGongID;
+
+    @ApiModelProperty(value = "鐢ㄦ埛鐧诲綍鐮�")
+    private String YongHuDLM;
+}
diff --git a/smartor/src/main/java/com/smartor/service/IServiceExternalService.java b/smartor/src/main/java/com/smartor/service/IServiceExternalService.java
index e6f5209..fbbd6e2 100644
--- a/smartor/src/main/java/com/smartor/service/IServiceExternalService.java
+++ b/smartor/src/main/java/com/smartor/service/IServiceExternalService.java
@@ -32,11 +32,14 @@
     public Boolean generalInterface(@RequestBody Map dataMap);
 
     /**
-     * 鏂板绉戝淇℃伅
+     * 鏂板鐢ㄦ埛淇℃伅
      */
     public Boolean addUserInfo(@RequestBody Map dataMap);
 
-
+    /**
+     * 鏂板绉戝鐢ㄦ埛淇℃伅
+     */
+    public Boolean addUserDeptInfo(@RequestBody Map dataMap);
     /**
      * 鏂板绉戝淇℃伅
      */
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