From 29069b790469cb7136cadba7ddcd63a83bc4ac70 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 23 三月 2026 15:20:20 +0800
Subject: [PATCH] 门急诊分表代码(增、改、查)提交

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java |   57 +++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 49 insertions(+), 8 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..21262d1 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;
@@ -8,8 +9,10 @@
 import com.ruoyi.quartz.service.ICollectHISService;
 import com.smartor.domain.*;
 import com.smartor.mapper.*;
+import com.smartor.service.IPatMedOuthospService;
 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;
@@ -33,7 +36,7 @@
     private SysUser2Mapper sysUser2Mapper;
 
     @Autowired
-    private SysUserRole2Mapper sysUserRoleMapper;
+    private IPatMedOuthospService patMedOuthospService;
 
     @Autowired
     private SysDept2Mapper sysDept2Mapper;
@@ -289,7 +292,7 @@
                         patMedOuthosp1.setCampusid(patMedOuthosp1.getOrgid());
                         patMedOuthosp1.setOrgid("1");
                     }
-                    count += patMedOuthospMapper.updatePatMedOuthosp(patMedOuthosp1);
+                    count += patMedOuthospService.updatePatMedOuthosp(patMedOuthosp1);
                 } else {
                     patMedOuthosp1.setCreateTime(new Date());
                     //甯備竴 闄㈠尯id瀵瑰簲orgid锛屾満鏋刬d涓洪粯璁ょ殑1
@@ -297,7 +300,7 @@
                         patMedOuthosp1.setCampusid(patMedOuthosp1.getOrgid());
                         patMedOuthosp1.setOrgid("1");
                     }
-                    count += patMedOuthospMapper.insertPatMedOuthosp(patMedOuthosp1);
+                    count += patMedOuthospService.insertPatMedOuthosp(patMedOuthosp1);
                 }
             } catch (Exception ex) {
                 log.info("鍚屾鍑哄叆闄�:" + ex.getMessage());
@@ -411,7 +414,7 @@
                 patArchiveMapper.insertPatArchiveSingle(patArchives.get(0));
                 patMedOuthosp1.setPatid(patArchives.get(0).getId());
             }
-            i = patMedOuthospMapper.insertPatMedOuthosp(patMedOuthosp1);
+            i = patMedOuthospService.insertPatMedOuthosp(patMedOuthosp1);
         }
 
         return i;
@@ -447,7 +450,7 @@
         SysUser suerTemp = new SysUser();
         //鐢ㄦ埛-鏈烘瀯鍏崇郴-绉戝
         List<SysUserDept> sysUserDeptAll = chMapper.yhyksxx(suerTemp);
-        //鐢ㄦ埛-鏈烘瀯鍏崇郴-鐥呮埧
+        //鐢ㄦ埛-鏈烘瀯鍏崇郴-鐥呭尯
         List<SysUserDept> sysUserDeptBfAll = chMapper.yhybfxx(suerTemp);
         //鐢ㄦ埛-闄㈠尯鍏崇郴
         List<SysUserOrg> sysUserOrgAll = chMapper.yhyyqxx(suerTemp);
@@ -461,11 +464,39 @@
             List<SysUser> usersTemp = sysUser2Mapper.selectUserList(suTemp);
 
             //鏂板鐢ㄦ埛涓庣瀹�
-            List<SysUserDept> sysUserDept = sysUserDeptAll.stream().filter((SysUserDept b) -> b.getUserCode().equals(sysUser1.getHisUserId())).collect(Collectors.toList());
+            List<SysUserDept> sysUserDept = sysUserDeptAll.stream().filter((SysUserDept b) ->
+                    b.getUserCode().equals(sysUser1.getHisUserId())).collect(Collectors.toList());
             //鏂板鐢ㄦ埛涓庣梾鍖�
-            List<SysUserDept> sysUserDeptBf = sysUserDeptBfAll.stream().filter((SysUserDept b) -> b.getUserCode().equals(sysUser1.getHisUserId())).collect(Collectors.toList());
+            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<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());
+
+            //鍜宷ueryHospUserInfoList閲囬泦鐨勬暟鎹牸寮忎繚鎸佷竴鑷�
+            List<List<String>> userDeptsList = new ArrayList<>();
+            if(!userDepts.isEmpty()){
+                for(String userDept: userDepts){
+                    List<String> uDept = new ArrayList<>();
+                    uDept.add(userDept);
+                    userDeptsList.add(uDept);
+                }
+            }
+            List<List<String>> userDeptBfsList = new ArrayList<>();
+            if(!userDeptBfs.isEmpty()){
+                for(String userBfDept: userDeptBfs){
+                    List<String> uBfDept = new ArrayList<>();
+                    uBfDept.add(userBfDept);
+                    userDeptBfsList.add(uBfDept);
+                }
+            }
+
             if (usersTemp.size() > 0) {
                 sysUser1.setUserId(usersTemp.get(0).getUserId());
                 sysUser1.setUserName(sysUser1.getHisUserId());
@@ -474,9 +505,19 @@
                     sysUser1.setOrgid(sysUserOrg.get(0).getOrgid());
                     sysUser1.setCampusid(sysUserOrg.get(0).getCampusid());
                 }
+                //灏嗛儴闂ㄦ垜鐥呭尯鏀惧埌鎸囧畾瀛楁涓�
+                Gson gson = new Gson();
+                sysUser1.setHospInfo(gson.toJson(userDeptsList));
+                sysUser1.setDeptInfo(gson.toJson(userDeptBfsList));
+
                 sysUser2Mapper.updateUser(sysUser1);
             } else {
                 sysUser1.setUserName(sysUser1.getHisUserId());
+                //灏嗛儴闂ㄦ垜鐥呭尯鏀惧埌鎸囧畾瀛楁涓�
+                Gson gson = new Gson();
+                sysUser1.setHospInfo(gson.toJson(userDeptsList));
+                sysUser1.setDeptInfo(gson.toJson(userDeptBfsList));
+
                 sysUser2Mapper.insertUser(sysUser1);
                 //瀵瑰簲 SysUserServiceImpl selectUserByUserName2 191琛�
                 if (!org.springframework.util.CollectionUtils.isEmpty(sysUserOrg)) {

--
Gitblit v1.9.3