| | |
| | | List<PatMedInhosp> patMedInhospList = chMapper.selectPatMedInhospList(patMedInhosp); |
| | | log.info("可同步出入院数量" + patMedInhospList.size()); |
| | | for (PatMedInhosp pm : patMedInhospList) { |
| | | List<PatArchive> patArchives1=new ArrayList<>(); |
| | | |
| | | try { |
| | | //患者基本信息 |
| | | PatArchive patArchive = new PatArchive(); |
| | | patArchive.setPatientno(pm.getPatno()); |
| | | List<PatArchive> patArchives = chMapper.selectPatArchiveList(patArchive); |
| | | if (patArchives.size() > 0) { |
| | | PatArchive pa1 = new PatArchive(); |
| | | pa1.setPatientno(pm.getPatno()); |
| | | List<PatArchive> patArchives1 = patArchiveMapper.selectPatArchiveList(pa1); |
| | | if (CollectionUtils.isNotEmpty(patArchives1)) { |
| | | patArchives.get(0).setId(patArchives1.get(0).getId()); |
| | | patArchives.get(0).setUpdateTime(new Date()); |
| | | count += patArchiveMapper.updatePatArchive(patArchives.get(0)); |
| | | } else { |
| | | patArchives.get(0).setCreateTime(new Date()); |
| | | count += patArchiveMapper.insertPatArchiveSingle(patArchives.get(0)); |
| | | |
| | | if(ObjectUtils.isNotEmpty(pm.getPatno())) { |
| | | PatArchive patArchive = new PatArchive(); |
| | | patArchive.setPatientno(pm.getPatno()); |
| | | patArchive.setPageSize(5); |
| | | List<PatArchive> patArchives = chMapper.selectPatArchiveList(patArchive); |
| | | if (patArchives.size() > 0) { |
| | | PatArchive pa1 = new PatArchive(); |
| | | pa1.setPatientno(pm.getPatno()); |
| | | patArchives1 = patArchiveMapper.selectPatArchiveList(pa1); |
| | | if (CollectionUtils.isNotEmpty(patArchives1)) { |
| | | patArchives.get(0).setId(patArchives1.get(0).getId()); |
| | | patArchives.get(0).setUpdateTime(new Date()); |
| | | count += patArchiveMapper.updatePatArchive(patArchives.get(0)); |
| | | } else { |
| | | patArchives.get(0).setCreateTime(new Date()); |
| | | count += patArchiveMapper.insertPatArchiveSingle(patArchives.get(0)); |
| | | patArchives1 = patArchiveMapper.selectPatArchiveList(pa1); |
| | | } |
| | | } |
| | | } |
| | | }catch (Exception ex) { |
| | |
| | | } |
| | | |
| | | try { |
| | | if(patArchives1.size()>0) { |
| | | pm.setPatid(patArchives1.get(0).getId()); |
| | | } |
| | | //同步出入院 |
| | | PatMedInhosp pmi = new PatMedInhosp(); |
| | | pmi.setSerialnum(pm.getSerialnum()); |
| | |
| | | // log.info("sysUser1的ID为:{}", sysUser1.getUserId()); |
| | | // log.info("sysUser1的HISUSERID为:{}", sysUser1.getHisUserId()); |
| | | 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); |
| | | List<SysUserDept> sysUserDept=sysUserDeptAll.stream() |
| | | 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()); |
| | | sysUserDeptMapper.insertSysUserDept(sud); |
| | | } |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | |
| | | return i; |
| | |
| | | |
| | | @Override |
| | | public Integer selectDeptList(SysDept dept) { |
| | | int count=0; |
| | | List<SysDept> sysDepts = chMapper.selectDeptList(dept); |
| | | 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); |
| | | // count = sysDept2Mapper.batchDept(sysDepts); |
| | | for(SysDept row : sysDepts){ |
| | | SysDept sysDeptTemp= sysDept2Mapper.selectDeptByCode(row.getDeptCode()); |
| | | if(sysDeptTemp!=null&&sysDeptTemp.getDeptName()!=null){ |
| | | row.setDeptId(sysDeptTemp.getDeptId()); |
| | | count+=sysDept2Mapper.updateDept(row); |
| | | }else{ |
| | | count+=sysDept2Mapper.insertDept(row); |
| | | } |
| | | } |
| | | return count; |
| | | } |
| | | |
| | | } |