|
@@ -1,15 +1,20 @@
|
|
|
package com.rongwei.bscommon.sys.service.impl;
|
|
|
|
|
|
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
+import com.rongwei.bscommon.sys.dao.MySysUserOrgMapper;
|
|
|
import com.rongwei.bscommon.sys.dao.SqlServerMapper;
|
|
|
-import com.rongwei.bscommon.sys.service.ScheduledTasksServiceBySqlServerService;
|
|
|
-import com.rongwei.bsentity.domain.PmProject;
|
|
|
-import com.rongwei.bsentity.domain.ZProject;
|
|
|
+import com.rongwei.bscommon.sys.service.*;
|
|
|
+import com.rongwei.bsentity.domain.*;
|
|
|
+import com.rongwei.rwcommon.utils.SecurityUtil;
|
|
|
import org.apache.commons.collections4.ListUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.util.LinkedList;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -26,6 +31,16 @@ public class ScheduledTasksServiceBySqlServerServiceImpl implements ScheduledTas
|
|
|
private PmProjectServiceImpl pmProjectService;
|
|
|
@Autowired
|
|
|
private ZProjectServiceImpl zProjectService;
|
|
|
+ @Resource
|
|
|
+ private MySysUserService sysUserService;
|
|
|
+ @Resource
|
|
|
+ private MySysUserOrgService sysUserOrgService;
|
|
|
+ @Resource
|
|
|
+ private MySysOrganizationService sysOrganizationService;
|
|
|
+ @Resource
|
|
|
+ private MySysUserRoleService sysUserRoleService;
|
|
|
+ @Resource
|
|
|
+ private MySysRoleService sysRoleService;
|
|
|
|
|
|
@Override
|
|
|
public void projectAboutSync() {
|
|
@@ -37,12 +52,12 @@ public class ScheduledTasksServiceBySqlServerServiceImpl implements ScheduledTas
|
|
|
data.setDeleted("0");
|
|
|
});
|
|
|
List<ZProject> collect = zProjectList.stream().filter(info -> info.getId() == 14237).collect(Collectors.toList());
|
|
|
- List<List<ZProject>>partition1 = ListUtils.partition(collect, 3);
|
|
|
+ List<List<ZProject>> partition1 = ListUtils.partition(collect, 3);
|
|
|
try {
|
|
|
- partition1.parallelStream().forEach(data->{
|
|
|
- zProjectService.saveBatch(data,3);
|
|
|
+ partition1.parallelStream().forEach(data -> {
|
|
|
+ zProjectService.saveBatch(data, 3);
|
|
|
});
|
|
|
- }catch (Exception e){
|
|
|
+ } catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
|
|
@@ -52,15 +67,146 @@ public class ScheduledTasksServiceBySqlServerServiceImpl implements ScheduledTas
|
|
|
data.setDeleted("0");
|
|
|
});
|
|
|
List<List<PmProject>> partition = ListUtils.partition(pmProjectList, 20);
|
|
|
- partition.parallelStream().forEach(data->{
|
|
|
- pmProjectService.saveBatch(data,20);
|
|
|
+ partition.parallelStream().forEach(data -> {
|
|
|
+ pmProjectService.saveBatch(data, 20);
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void userAndOrgSync() {
|
|
|
+ //查询所有sql server的用户信息
|
|
|
+ List<Map<String, Object>> userList = sqlServerMapper.getUsers();
|
|
|
+ //查询所有sql server的部门信息
|
|
|
+ List<Map<String, Object>> orgList = sqlServerMapper.getOrgs();
|
|
|
+ //查询所有sql server的用户部门关系信息
|
|
|
+ List<Map<String, Object>> userOrgList = sqlServerMapper.getUserOrgs();
|
|
|
|
|
|
+ //查询当前系统已有的用户信息
|
|
|
+ List<SysUser> sysUserList = sysUserService.list();
|
|
|
+ //查询当前系统已有的部门信息
|
|
|
+ List<SysOrganization> sysOrganizationList = sysOrganizationService.list();
|
|
|
+ //查询当前系统已有的用户部门关系信息
|
|
|
+ List<SysUserOrg> sysUserOrgList = sysUserOrgService.list();
|
|
|
+
|
|
|
+ //==================处理用户信息==============
|
|
|
+ List<SysUser> needUserInsert = new LinkedList<>();
|
|
|
+ List<SysUser> needUserUpdate = new LinkedList<>();
|
|
|
+// List<String> needDelUserId = new LinkedList<>();
|
|
|
+
|
|
|
+ List<String> sysUserIdList = sysUserList.stream().map(SysUser::getId).collect(Collectors.toList());
|
|
|
+ for (Map<String, Object> userMap : userList) {
|
|
|
+ String id = userMap.getOrDefault("EMPID", "").toString();
|
|
|
+ String account = userMap.getOrDefault("USERID", "").toString();
|
|
|
+ String name = userMap.getOrDefault("EMPNAME", "").toString();
|
|
|
+ String userid4A = userMap.getOrDefault("USERID4A", "").toString();
|
|
|
+
|
|
|
+ SysUser sysUser2 = sysUserList.stream().filter(sysUser -> sysUser.getId().equals(id)).findFirst().orElse(null);
|
|
|
+
|
|
|
+
|
|
|
+ if (ObjectUtil.isEmpty(sysUser2)) {
|
|
|
+ SysUser sysUser = new SysUser();
|
|
|
+ sysUser.setId(id);
|
|
|
+ sysUser.setAccount(account);
|
|
|
+ sysUser.setName(name);
|
|
|
+ sysUser.setCode(userid4A);
|
|
|
+ sysUser.setPassword("861896bc3fa76282c65f3b575d74b2cbaca7b435778f0f7c");
|
|
|
+ needUserInsert.add(sysUser);
|
|
|
+ }else {
|
|
|
+ if (!userid4A.equals(sysUser2.getCode())){//4AID不同,更新
|
|
|
+ sysUser2.setCode(userid4A);
|
|
|
+ needUserUpdate.add(sysUser2);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //===============处理部门信息==============
|
|
|
+ List<SysOrganization> needOrgInsert = new LinkedList<>();
|
|
|
+
|
|
|
+ List<String> sysOrgIdList = sysOrganizationList.stream().map(SysOrganization::getId).collect(Collectors.toList());
|
|
|
+ for (Map<String, Object> orgMap : orgList) {
|
|
|
+ String orgid = orgMap.getOrDefault("ORGID", "").toString();
|
|
|
+ String orgcode = orgMap.getOrDefault("ORGCODE", "").toString();
|
|
|
+ String orgname = orgMap.getOrDefault("ORGNAME", "").toString();
|
|
|
+ String level = orgMap.getOrDefault("ORGLEVEL", "").toString();
|
|
|
+ String pid = orgMap.getOrDefault("PARENTORGID", "").toString();
|
|
|
+ String fullpid = orgMap.getOrDefault("ORGSEQ", "").toString();
|
|
|
+ String sort = orgMap.getOrDefault("SORTNO", "").toString();
|
|
|
+ String isleaf = orgMap.getOrDefault("ISLEAF", "").toString();
|
|
|
+ String orgid4A = orgMap.getOrDefault("ORGID4A", "").toString();
|
|
|
+
|
|
|
+ if (!sysOrgIdList.contains(orgid)) {
|
|
|
+ SysOrganization sysOrganization = new SysOrganization();
|
|
|
+ sysOrganization.setId(orgid);
|
|
|
+ sysOrganization.setCode(orgid4A);
|
|
|
+ sysOrganization.setFullname(orgname);
|
|
|
+ sysOrganization.setShortname(orgname);
|
|
|
+ sysOrganization.setLevel(Integer.parseInt(level));
|
|
|
+ sysOrganization.setPid(pid);
|
|
|
+ sysOrganization.setSort(Integer.parseInt(sort));
|
|
|
+ sysOrganization.setIsleaf(isleaf);
|
|
|
+ sysOrganization.setFullpid(fullpid);
|
|
|
+ needOrgInsert.add(sysOrganization);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //=============处理用户部门关系============
|
|
|
+ List<SysUserOrg> needUserOrgInsert = new LinkedList<>();
|
|
|
+ List<SysUserOrg> needUserOrgUpdate = new LinkedList<>();
|
|
|
+// List<String> needDelUserOrgId = new LinkedList<>();
|
|
|
+
|
|
|
+ for (Map<String, Object> userOrgMap : userOrgList) {
|
|
|
+ String userid = userOrgMap.getOrDefault("EMPID", "").toString();
|
|
|
+ String orgid = userOrgMap.getOrDefault("ORGID", "").toString();
|
|
|
+ SysUserOrg sysUserOrg = sysUserOrgList.stream().filter(item -> ObjectUtil.isNotEmpty(item.getUserid()) && item.getUserid().equals(userid)).findFirst().orElse(null);
|
|
|
+ if (ObjectUtil.isEmpty(sysUserOrg)) {
|
|
|
+ SysUserOrg newSysUserOrg = new SysUserOrg();
|
|
|
+ newSysUserOrg.setId(SecurityUtil.getUUID());
|
|
|
+ newSysUserOrg.setUserid(userid);
|
|
|
+ newSysUserOrg.setOrgid(orgid);
|
|
|
+ needUserOrgInsert.add(newSysUserOrg);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (!sysUserOrg.getOrgid().equals(orgid)) {
|
|
|
+ sysUserOrg.setOrgid(orgid);
|
|
|
+ needUserOrgUpdate.add(sysUserOrg);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //=============新增用户赋值默认角色==============
|
|
|
+ List<SysUserRole> needUserRoleInsert = new LinkedList<>();
|
|
|
+
|
|
|
+ List<String> needInsertUserIdList = needUserInsert.stream().map(SysUser::getId).collect(Collectors.toList());
|
|
|
+ for (String userId : needInsertUserIdList) {
|
|
|
+ SysUserRole sysUserRole = new SysUserRole();
|
|
|
+ sysUserRole.setId(SecurityUtil.getUUID());
|
|
|
+ sysUserRole.setUserid(userId);
|
|
|
+ sysUserRole.setRoleid("C570E284-632E-47DA-A94F-156D9B69C5F2");
|
|
|
+ needUserRoleInsert.add(sysUserRole);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (ObjectUtil.isNotEmpty(needUserInsert)) {
|
|
|
+ sysUserService.saveBatch(needUserInsert);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (ObjectUtil.isNotEmpty(needUserUpdate)){
|
|
|
+ sysUserService.updateBatchById(needUserUpdate);
|
|
|
+ }
|
|
|
+// if (ObjectUtil.isNotEmpty(needDelUserId)){
|
|
|
+// sysUserService.removeByIds(needDelUserId);
|
|
|
+// }
|
|
|
+ if (ObjectUtil.isNotEmpty(needOrgInsert)) {
|
|
|
+ sysOrganizationService.saveBatch(needOrgInsert);
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(needUserOrgInsert)) {
|
|
|
+ sysUserOrgService.saveBatch(needUserOrgInsert);
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(needUserOrgUpdate)) {
|
|
|
+ sysUserOrgService.updateBatchById(needUserOrgUpdate);
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(needUserRoleInsert)) {
|
|
|
+ sysUserRoleService.saveBatch(needUserRoleInsert);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|