| | |
| | | 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.domain.entity.SysUserRole; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.quartz.mapper.CollectHISMapper; |
| | | import com.ruoyi.quartz.mapper.UtilsMapper; |
| | | import com.ruoyi.quartz.service.ICollectHISService; |
| | | import com.smartor.domain.*; |
| | | import com.smartor.mapper.*; |
| | |
| | | import java.time.ZoneId; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | import java.util.stream.Stream; |
| | | |
| | | @Slf4j |
| | | @Service |
| | |
| | | @Override |
| | | public Integer selectUserList(SysUser sysUser) { |
| | | List<SysUser> sysUserList = chMapper.selectUserList(sysUser); |
| | | SysUser suerTemp=new SysUser(); |
| | | List<SysUserDept> sysUserDeptAll = chMapper.yhyksxx(suerTemp); |
| | | log.info("sysUserList的采集到的数量为:{}", sysUserList.size()); |
| | | int i =0;// sysUser2Mapper.batchUser(sysUserList); |
| | | for (SysUser sysUser1 : sysUserList) { |
| | | // log.info("sysUser1的ID为:{}", sysUser1.getUserId()); |
| | | // log.info("sysUser1的HISUSERID为:{}", sysUser1.getHisUserId()); |
| | | // //新增用户与角色 |
| | | // SysUserRole yhyjsxx = chMapper.yhyjsxx(sysUser1); |
| | | // if (yhyjsxx != null&&yhyjsxx.getUserId()!=null) { |
| | | // yhyjsxx.setUserId(sysUser1.getUserId()); |
| | | // List<SysUserRole> userRoleList = new ArrayList<>(); |
| | | // userRoleList.add(yhyjsxx); |
| | | // sysUserRoleMapper.batchUserRole(userRoleList); |
| | | // } |
| | | if (StringUtils.isEmpty(sysUser1.getHisUserId())) continue; |
| | | SysUser suTemp=new SysUser(); |
| | | SysUser suTemp = new SysUser(); |
| | | suTemp.setHisUserId(sysUser1.getHisUserId()); |
| | | List<SysUser> usersTemp= sysUser2Mapper.selectUserList(suTemp); |
| | | if (usersTemp.size()>0) { |
| | | List<SysUser> usersTemp = sysUser2Mapper.selectUserList(suTemp); |
| | | if (usersTemp.size() > 0) { |
| | | sysUser1.setUserId(usersTemp.get(0).getUserId()); |
| | | sysUser1.setUserName(sysUser1.getHisUserId()); |
| | | sysUser2Mapper.updateUser(sysUser1); |
| | | }else{ |
| | | } else { |
| | | sysUser1.setUserName(sysUser1.getHisUserId()); |
| | | sysUser2Mapper.insertUser(sysUser1); |
| | | usersTemp= sysUser2Mapper.selectUserList(suTemp); |
| | | usersTemp = sysUser2Mapper.selectUserList(suTemp); |
| | | } |
| | | |
| | | //新增用户与部门 |
| | | List<SysUserDept> sysUserDept = chMapper.yhyksxx(sysUser1); |
| | | for(SysUserDept sud :sysUserDept) { |
| | | if (usersTemp.size()>0) { |
| | | //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) { |
| | | sud.setUserId(usersTemp.get(0).getUserId()); |
| | | SysDept sysDeptTemp = sysDept2Mapper.selectDeptByCode(sud.getDeptCode()); |
| | | if (sysDeptTemp != null) |
| | | sud.setDeptId(sysDeptTemp.getDeptId()); |
| | | sysUserDeptMapper.insertSysUserDept(sud); |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | log.info("selectDeptList的采集到的数量为:{}", sysDepts.size()); |
| | | int i = sysDept2Mapper.batchDept(sysDepts); |
| | | return i; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 检查并执行分表的核心方法 |
| | | * |
| | | * @param tableName 要检查的表名 |
| | | */ |
| | | private synchronized void checkAndShard(String tableName) { |
| | | long currentCount = shardingMapper.getTableCount(tableName); |
| | | |
| | | if (currentCount >= SHARDING_THRESHOLD) { |
| | | log.warn("表 '{}' 已达到分表阈值 {},准备执行分表操作...", tableName, SHARDING_THRESHOLD); |
| | | |
| | | String newTableName = tableName + "_" + java.time.LocalDate.now().format(java.time.format.DateTimeFormatter.ofPattern("yyyy_MM")); |
| | | Long maxId = shardingMapper.getMaxId(tableName); |
| | | if (maxId == null) maxId = 0L; |
| | | |
| | | shardingMapper.renameTable(tableName, newTableName); |
| | | log.info("已将表 '{}' 重命名为 '{}'", tableName, newTableName); |
| | | |
| | | shardingMapper.createLikeTable(tableName, newTableName); |
| | | log.info("已创建新表 '{}'", tableName); |
| | | |
| | | shardingMapper.setAutoIncrement(tableName, maxId + 1); |
| | | log.info("已设置新表 '{}' 的自增ID起始值为 {}", tableName, maxId + 1); |
| | | |
| | | log.info("表 '{}' 的分表操作完成!", tableName); |
| | | } |
| | | } |
| | | |
| | | } |