From ce7d4e95bc98496270c2186fe471bd05dc6a1ca1 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期四, 08 一月 2026 17:57:19 +0800
Subject: [PATCH] 【市一】提供用户院区数据采集

---
 ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml                  |   27 +++++++++++++++++++++++++++
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java |   15 ++++++++++++++-
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/CollectHISMapper.java            |   12 ++++++++----
 3 files changed, 49 insertions(+), 5 deletions(-)

diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/CollectHISMapper.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/CollectHISMapper.java
index 7da1dab..2e07928 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/CollectHISMapper.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/CollectHISMapper.java
@@ -6,10 +6,7 @@
 import com.ruoyi.common.core.domain.entity.SysUserDept;
 import com.ruoyi.common.core.domain.entity.SysUserRole;
 import com.ruoyi.common.enums.DataSourceType;
-import com.smartor.domain.Icd10;
-import com.smartor.domain.PatArchive;
-import com.smartor.domain.PatMedInhosp;
-import com.smartor.domain.PatMedOuthosp;
+import com.smartor.domain.*;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
@@ -48,6 +45,13 @@
     public List<SysUserDept> yhyksxx(SysUser sysUser);
 
     /**
+     * 鐢ㄦ埛涓庨櫌鍖轰俊鎭�
+     *
+     * @param sysUser
+     * @return
+     */
+    public List<SysUserOrg> yhyyqxx(SysUser sysUser);
+    /**
      * 鍑哄叆闄俊鎭�
      *
      * @param patMedInhosp
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 23167f6..444d91d 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
@@ -41,6 +41,9 @@
     private SysUserDeptMapper sysUserDeptMapper;
 
     @Autowired
+    private SysUserOrgMapper sysUserOrgMapper;
+
+    @Autowired
     private Icd10Mapper icd10Mapper;
 
     @Autowired
@@ -419,6 +422,9 @@
         List<SysUser> sysUserList = chMapper.selectUserList(sysUser);
         SysUser suerTemp = new SysUser();
         List<SysUserDept> sysUserDeptAll = chMapper.yhyksxx(suerTemp);
+        //鐢ㄦ埛-闄㈠尯鍏崇郴
+        List<SysUserOrg> sysUserOrgAll = chMapper.yhyyqxx(suerTemp);
+
         log.info("sysUserList鐨勯噰闆嗗埌鐨勬暟閲忎负锛歿}", sysUserList.size());
         int i = 0;// sysUser2Mapper.batchUser(sysUserList);
         for (SysUser sysUser1 : sysUserList) {
@@ -448,6 +454,14 @@
                     sysUserDeptMapper.insertSysUserDept(sud);
                 }
             }
+            //鏂板鐢ㄦ埛涓庨櫌鍖�
+            List<SysUserOrg> sysUserOrg = sysUserOrgAll.stream().filter((SysUserOrg o) -> o.getUserId().equals(sysUser1.getHisUserId())).collect(Collectors.toList());
+            for (SysUserOrg suo : sysUserOrg) {
+                if (usersTemp.size() > 0) {
+                    suo.setUserId(usersTemp.get(0).getUserId());
+                    sysUserOrgMapper.insertSysUserOrg(suo);
+                }
+            }
         }
 
         return i;
@@ -464,7 +478,6 @@
             if (sysDeptTemp != null && sysDeptTemp.getDeptName() != null) {
                 row.setDeptId(sysDeptTemp.getDeptId());
                 count += sysDept2Mapper.updateDept(row);
-
             } else {
                 count += sysDept2Mapper.insertDept(row);
             }
diff --git a/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml b/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml
index 7975eb9..db2f651 100644
--- a/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml
+++ b/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml
@@ -17,6 +17,13 @@
         <result property="updateTime" column="update_time"/>
     </resultMap>
 
+    <resultMap type="com.smartor.domain.SysUserOrg" id="SysUserOrgResult">
+        <result property="id" column="id"/>
+        <result property="userId" column="user_id"/>
+        <result property="campusid" column="campusid"/>
+        <result property="orgid" column="orgid"/>
+        <result property="delFlag" column="del_flag"/>
+    </resultMap>
 
     <resultMap type="com.ruoyi.common.core.domain.entity.SysUserRole" id="SysUserRoleResult">
         <result property="userId" column="user_id"/>
@@ -384,6 +391,26 @@
         <if test="hisUserId != null ">and user_id = #{hisUserId}</if>
     </select>
 
+    <select id="yhyyqxx" parameterType="com.ruoyi.common.core.domain.entity.SysUser" resultMap="SysUserOrgResult">
+        select
+            d.orgid as campusid,
+            d.del_flag,
+            ud.user_id as user_id,
+            ud.orgid as orgid
+        FROM healthy_dept d
+        JOIN healthy_user_dept ud ON d.his_dept_id = ud.dept_code
+        where 1=1
+        and ud.user_id != 'admin'
+        <if test="orgid != null and orgid != ''">
+            AND ud.orgid = #{orgid}
+        </if>
+        <if test="hisUserId != null ">
+            AND ud.user_id = #{hisUserId}
+        </if>
+        <if test="campusid != null">
+            AND d.orgid = #{campusid}
+        </if>
+    </select>
 
     <select id="selectPatArchiveList" parameterType="com.smartor.domain.PatArchive" resultMap="PatArchiveResult">
         <include refid="selectPatArchiveVo"/>

--
Gitblit v1.9.3