From 9d26379470b304ca084c877c114c051d57b495d6 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期五, 30 一月 2026 16:44:42 +0800
Subject: [PATCH] 【市一】市一同步逻辑调整,增加hospinfo和deptinfo记录

---
 ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml                  |    4 +++-
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java |   24 +++++++++++++++++++++++-
 2 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java
index 1e4ae1b..98d6bbe 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java
@@ -1,5 +1,6 @@
 package com.ruoyi.quartz.service.impl;
 
+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;
@@ -10,6 +11,7 @@
 import com.smartor.mapper.*;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.ArrayUtils;
 import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -447,7 +449,7 @@
         SysUser suerTemp = new SysUser();
         //鐢ㄦ埛-鏈烘瀯鍏崇郴-绉戝
         List<SysUserDept> sysUserDeptAll = chMapper.yhyksxx(suerTemp);
-        //鐢ㄦ埛-鏈烘瀯鍏崇郴-鐥呮埧
+        //鐢ㄦ埛-鏈烘瀯鍏崇郴-鐥呭尯
         List<SysUserDept> sysUserDeptBfAll = chMapper.yhybfxx(suerTemp);
         //鐢ㄦ埛-闄㈠尯鍏崇郴
         List<SysUserOrg> sysUserOrgAll = chMapper.yhyyqxx(suerTemp);
@@ -466,6 +468,10 @@
             List<SysUserDept> sysUserDeptBf = sysUserDeptBfAll.stream().filter((SysUserDept b) -> b.getUserCode().equals(sysUser1.getHisUserId())).collect(Collectors.toList());
             //鏂板鐢ㄦ埛涓庨櫌鍖�
             List<SysUserOrg> sysUserOrg = sysUserOrgAll.stream().filter((SysUserOrg o) -> o.getUserId().equals(sysUser1.getHisUserId())).collect(Collectors.toList());
+
+            List<String> userDepts = sysUserDept.stream().map(SysUserDept::getDeptCode).distinct().collect(Collectors.toList());
+            List<String> userDeptBfs = sysUserDeptBf.stream().map(SysUserDept::getDeptCode).distinct().collect(Collectors.toList());
+
             if (usersTemp.size() > 0) {
                 sysUser1.setUserId(usersTemp.get(0).getUserId());
                 sysUser1.setUserName(sysUser1.getHisUserId());
@@ -474,9 +480,25 @@
                     sysUser1.setOrgid(sysUserOrg.get(0).getOrgid());
                     sysUser1.setCampusid(sysUserOrg.get(0).getCampusid());
                 }
+                //灏嗛儴闂ㄦ垜鐥呭尯鏀惧埌鎸囧畾瀛楁涓�
+                Gson gson = new Gson();
+                if(!userDepts.isEmpty()){
+                    sysUser1.setDeptInfo(gson.toJson(userDepts));
+                }
+                if(!userDeptBfs.isEmpty()){
+                    sysUser1.setHospInfo(gson.toJson(userDeptBfs));
+                }
                 sysUser2Mapper.updateUser(sysUser1);
             } else {
                 sysUser1.setUserName(sysUser1.getHisUserId());
+                //灏嗛儴闂ㄦ垜鐥呭尯鏀惧埌鎸囧畾瀛楁涓�
+                Gson gson = new Gson();
+                if(!userDepts.isEmpty()){
+                    sysUser1.setDeptInfo(gson.toJson(userDepts));
+                }
+                if(!userDeptBfs.isEmpty()){
+                    sysUser1.setHospInfo(gson.toJson(userDeptBfs));
+                }
                 sysUser2Mapper.insertUser(sysUser1);
                 //瀵瑰簲 SysUserServiceImpl selectUserByUserName2 191琛�
                 if (!org.springframework.util.CollectionUtils.isEmpty(sysUserOrg)) {
diff --git a/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml b/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml
index ded67a3..5c0653a 100644
--- a/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml
+++ b/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml
@@ -385,6 +385,7 @@
         FROM healthy_user_dept
         where 1=1
         and user_id != 'admin'
+        and dept_type = '1'
         <if test="orgid != null and orgid != ''">
             AND orgid = #{orgid}
         </if>
@@ -393,9 +394,10 @@
 
     <select id="yhybfxx" parameterType="com.ruoyi.common.core.domain.entity.SysUser" resultMap="SysUserDeptResult">
         select user_id , user_code , dept_type ,dept_code,dept_name,deptparent,del_flag,orgid
-        FROM healthy_user_dept_bf
+        FROM healthy_user_dept
         where 1=1
         and user_id != 'admin'
+        and dept_type = '2'
         <if test="orgid != null and orgid != ''">
             AND orgid = #{orgid}
         </if>

--
Gitblit v1.9.3