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/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java | 89 ++++++++++++++++++++++++++++++++++++++------
1 files changed, 77 insertions(+), 12 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 444d91d..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,8 +11,10 @@
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;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Service;
@@ -67,6 +70,9 @@
private static final long SHARDING_THRESHOLD = 5_000_000L;
private static final String PAT_ARCHIVE_TABLE = "pat_archive";
private static final String PAT_MED_INHOSP_TABLE = "pat_med_inhosp";
+
+ @Value("${spring.profiles.active}")
+ private String active;
@Override
@@ -213,10 +219,20 @@
List<PatMedInhosp> patMedInhospList1 = patMedInhospMapper.selectPatMedInhospListBySerialnum(pmi);
if (patMedInhospList1.size() == 0) {
pm.setCreateTime(new Date());
+ //甯備竴 闄㈠尯id瀵瑰簲orgid锛屾満鏋刬d涓洪粯璁ょ殑1
+ if(active.equals("hzszlyy")) {
+ pm.setCampusid(pm.getOrgid());
+ pm.setOrgid("1");
+ }
count += patMedInhospMapper.insertPatMedInhosp(pm);
} else {
pm.setInhospid(patMedInhospList1.get(0).getInhospid());
pm.setUpdateTime(new Date());
+ //甯備竴 闄㈠尯id瀵瑰簲orgid锛屾満鏋刬d涓洪粯璁ょ殑1
+ if(active.equals("hzszlyy")) {
+ pm.setCampusid(pm.getOrgid());
+ pm.setOrgid("1");
+ }
count += patMedInhospMapper.updatePatMedInhosp(pm);
}
} catch (Exception ex) {
@@ -270,9 +286,19 @@
if (patMedOuthospsTemp.size() > 0) {
patMedOuthosp1.setUpdateTime(new Date());
patMedOuthosp1.setId(patMedOuthospsTemp.get(0).getId());
+ //甯備竴 闄㈠尯id瀵瑰簲orgid锛屾満鏋刬d涓洪粯璁ょ殑1
+ if(active.equals("hzszlyy")) {
+ patMedOuthosp1.setCampusid(patMedOuthosp1.getOrgid());
+ patMedOuthosp1.setOrgid("1");
+ }
count += patMedOuthospMapper.updatePatMedOuthosp(patMedOuthosp1);
} else {
patMedOuthosp1.setCreateTime(new Date());
+ //甯備竴 闄㈠尯id瀵瑰簲orgid锛屾満鏋刬d涓洪粯璁ょ殑1
+ if(active.equals("hzszlyy")) {
+ patMedOuthosp1.setCampusid(patMedOuthosp1.getOrgid());
+ patMedOuthosp1.setOrgid("1");
+ }
count += patMedOuthospMapper.insertPatMedOuthosp(patMedOuthosp1);
}
} catch (Exception ex) {
@@ -421,44 +447,83 @@
public Integer selectUserList(SysUser sysUser) {
List<SysUser> sysUserList = chMapper.selectUserList(sysUser);
SysUser suerTemp = new SysUser();
+ //鐢ㄦ埛-鏈烘瀯鍏崇郴-绉戝
List<SysUserDept> sysUserDeptAll = chMapper.yhyksxx(suerTemp);
+ //鐢ㄦ埛-鏈烘瀯鍏崇郴-鐥呭尯
+ List<SysUserDept> sysUserDeptBfAll = chMapper.yhybfxx(suerTemp);
//鐢ㄦ埛-闄㈠尯鍏崇郴
List<SysUserOrg> sysUserOrgAll = chMapper.yhyyqxx(suerTemp);
log.info("sysUserList鐨勯噰闆嗗埌鐨勬暟閲忎负锛歿}", sysUserList.size());
int i = 0;// sysUser2Mapper.batchUser(sysUserList);
for (SysUser sysUser1 : sysUserList) {
-// log.info("sysUser1鐨処D涓猴細{}", sysUser1.getUserId());
-// log.info("sysUser1鐨凥ISUSERID涓猴細{}", sysUser1.getHisUserId());
if (StringUtils.isEmpty(sysUser1.getHisUserId())) continue;
SysUser suTemp = new SysUser();
suTemp.setHisUserId(sysUser1.getHisUserId());
List<SysUser> usersTemp = sysUser2Mapper.selectUserList(suTemp);
+
+ //鏂板鐢ㄦ埛涓庣瀹�
+ 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<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());
+ //瀵瑰簲 SysUserServiceImpl selectUserByUserName2 191琛�
+ if (!org.springframework.util.CollectionUtils.isEmpty(sysUserOrg)) {
+ 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)) {
+ sysUser1.setOrgid(sysUserOrg.get(0).getOrgid());
+ sysUser1.setCampusid(sysUserOrg.get(0).getCampusid());
+ }
usersTemp = sysUser2Mapper.selectUserList(suTemp);
}
-
- //鏂板鐢ㄦ埛涓庨儴闂�
- //List<SysUserDept> sysUserDept = chMapper.yhyksxx(sysUser1);
- List<SysUserDept> sysUserDept = sysUserDeptAll.stream().filter((SysUserDept b) -> b.getUserCode().equals(sysUser1.getHisUserId())).collect(Collectors.toList());
-
for (SysUserDept sud : sysUserDept) {
- if (usersTemp.size() > 0) {
+ if (!usersTemp.isEmpty()) {
+ sud.setDeptType("1");
sud.setUserId(usersTemp.get(0).getUserId());
sysUserDeptMapper.insertSysUserDept(sud);
}
}
- //鏂板鐢ㄦ埛涓庨櫌鍖�
- List<SysUserOrg> sysUserOrg = sysUserOrgAll.stream().filter((SysUserOrg o) -> o.getUserId().equals(sysUser1.getHisUserId())).collect(Collectors.toList());
+ for (SysUserDept sudb : sysUserDeptBf) {
+ if (!usersTemp.isEmpty()) {
+ sudb.setDeptType("2");
+ sudb.setUserId(usersTemp.get(0).getUserId());
+ sysUserDeptMapper.insertSysUserDept(sudb);
+ }
+ }
for (SysUserOrg suo : sysUserOrg) {
- if (usersTemp.size() > 0) {
- suo.setUserId(usersTemp.get(0).getUserId());
+ if (!usersTemp.isEmpty()) {
+ suo.setUserId(usersTemp.get(0).getUserId().toString());
sysUserOrgMapper.insertSysUserOrg(suo);
}
}
--
Gitblit v1.9.3