|
|
@@ -48,6 +48,7 @@ import java.io.FileOutputStream;
|
|
|
import java.io.IOException;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
+import java.util.stream.Stream;
|
|
|
import java.util.zip.ZipOutputStream;
|
|
|
|
|
|
import static java.lang.Thread.sleep;
|
|
|
@@ -590,77 +591,118 @@ public class ProjectTaskServiceImpl implements ProjectTaskService {
|
|
|
@Override
|
|
|
public Object pushCompanyData(pushCompanyDataBo in) {
|
|
|
//导入部门
|
|
|
-// if (!in.getListDep().isEmpty()){
|
|
|
-// List<pushDataDep> listDep = in.getListDep();
|
|
|
-// //假设只设置2级 1级为公司
|
|
|
-// List<pushDataDep> sp1 = listDep.stream().filter(e -> StringUtils.isNotEmpty(e.getUsci())).collect(Collectors.toList());
|
|
|
-// //先新增公司
|
|
|
-// pushDataDep pushDataDep = sp1.get(0);
|
|
|
-// SysDept sysDept1 = sysDeptMapper.selectByusci(pushDataDep.getUsci());
|
|
|
-// if (sysDept1!=null) throw new ServiceException("公司已存在");
|
|
|
-// SysDept sysDept=addCompany(pushDataDep);
|
|
|
-// pushDep(listDep, pushDataDep.getKyId(),sysDept);
|
|
|
-// }
|
|
|
+ if (!in.getListDep().isEmpty()){
|
|
|
+ pushAddDep(in.getListDep());
|
|
|
+ }
|
|
|
//导入用户
|
|
|
if (!in.getListUser().isEmpty()){
|
|
|
- List<pushDataUser> listUser = in.getListUser();
|
|
|
- //获取未获取到上级的数据
|
|
|
- List<SysUser> notSuperList = new ArrayList<>();
|
|
|
- List<SysUser> allUserList = new ArrayList<>();
|
|
|
- listUser.stream().forEach(e -> {
|
|
|
- SysUser sysUser = new SysUser();
|
|
|
- sysUser.setUserName(e.getUserName());
|
|
|
- sysUser.setNickName(e.getNickName());
|
|
|
- sysUser.setKyId(e.getKyId());
|
|
|
- sysUser.setKySuperId(e.getKySuperId());
|
|
|
- sysUser.setPassword(SecurityUtils.encryptPassword("123456"));
|
|
|
- sysUser.setStatus("0");
|
|
|
- sysUser.setDelFlag("0");
|
|
|
- if (e.getKyDeptId()!=null){
|
|
|
- SysDept sysDept = sysDeptMapper.selectByKyId(e.getKyDeptId());
|
|
|
- sysUser.setDeptId(sysDept.getDeptId());
|
|
|
- }
|
|
|
- SysUser sysUser1 = userMapper.selectByKyId(e.getKySuperId());
|
|
|
- if (sysUser1==null){
|
|
|
- userMapper.insertUser(sysUser);
|
|
|
- notSuperList.add(sysUser);
|
|
|
- }else {
|
|
|
- sysUser.setSuperiorId(sysUser1.getUserId());
|
|
|
- userMapper.insertUser(sysUser);
|
|
|
- }
|
|
|
- allUserList.add(sysUser);
|
|
|
- });
|
|
|
- if (!notSuperList.isEmpty()){
|
|
|
- notSuperList.stream().forEach(e -> {
|
|
|
- SysUser sysUser1 = userMapper.selectByKyId(e.getKySuperId());
|
|
|
- if (sysUser1!=null){
|
|
|
- e.setSuperiorId(sysUser1.getUserId());
|
|
|
+ pushAddUser(in.getListUser());
|
|
|
+ }
|
|
|
+ //导入用户项目
|
|
|
+ if (!in.getListUserProject().isEmpty()){
|
|
|
+ pushAddUserProject(in.getListUserProject());
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void pushAddUserProject(List<pushDataProject> listUserProject) {
|
|
|
+ listUserProject.stream().forEach(e -> {
|
|
|
+ ProjectTask projectTask = new ProjectTask();
|
|
|
+ projectTask.setName(e.getProjectName());
|
|
|
+ projectTask.setProjectNumber(e.getProjectNumber());
|
|
|
+ projectTask.setAid(Long.valueOf(e.getAid()));
|
|
|
+ projectTask.setStartTime(DateUtils.parseDate(e.getStartTime()));
|
|
|
+ projectTask.setEndTime(DateUtils.parseDate(e.getEndTime()));
|
|
|
+ projectTask.setProjectYear(e.getProjectyear());
|
|
|
+ projectTaskMapper.insert(projectTask);
|
|
|
+ if (e.getStaffIds()!=null){
|
|
|
+ String[] split = e.getStaffIds().split(",");
|
|
|
+ StringJoiner joiner = new StringJoiner(",");
|
|
|
+ Stream<String> stream = Arrays.stream(split);
|
|
|
+ stream.forEach(e1 -> {
|
|
|
+ SysUser sysUser = userMapper.selectByKyId(e1);
|
|
|
+ if (sysUser!=null){
|
|
|
+ joiner.add(sysUser.getNickName());
|
|
|
+ ProjectStaff projectStaff = new ProjectStaff();
|
|
|
+ projectStaff.setPid(projectTask.getId());
|
|
|
+ projectStaff.setAid(sysUser.getUserId());
|
|
|
+ projectStaff.setName(joiner.toString());
|
|
|
+ projectStaffMapper.insert(projectStaff);
|
|
|
}
|
|
|
- userMapper.updateUser(e);
|
|
|
});
|
|
|
+ projectTask.setStaffName(joiner.toString());
|
|
|
}
|
|
|
- //设置人员角色
|
|
|
- List<SysUserRole> roleList = new ArrayList<>();
|
|
|
- for (SysUser sysUser : allUserList) {
|
|
|
- SysUserRole sysUserRole = new SysUserRole();
|
|
|
- sysUserRole.setUserId(sysUser.getUserId());
|
|
|
- sysUserRole.setRoleId(2l);
|
|
|
- roleList.add(sysUserRole);
|
|
|
+ projectTaskMapper.updateByPrimaryKey(projectTask);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ private void pushAddUser(List<pushDataUser> listUser) {
|
|
|
+ //获取未获取到上级的数据
|
|
|
+ List<SysUser> notSuperList = new ArrayList<>();
|
|
|
+ List<SysUser> allUserList = new ArrayList<>();
|
|
|
+ listUser.stream().forEach(e -> {
|
|
|
+ SysUser sysUser = new SysUser();
|
|
|
+ sysUser.setUserName(e.getUserName());
|
|
|
+ sysUser.setNickName(e.getNickName());
|
|
|
+ sysUser.setKyId(e.getKyId());
|
|
|
+ sysUser.setKySuperId(e.getKySuperId());
|
|
|
+ sysUser.setPassword(SecurityUtils.encryptPassword("123456"));
|
|
|
+ sysUser.setStatus("0");
|
|
|
+ sysUser.setDelFlag("0");
|
|
|
+ if (e.getKyDeptId()!=null){
|
|
|
+ SysDept sysDept = sysDeptMapper.selectByKyId(e.getKyDeptId());
|
|
|
+ sysUser.setDeptId(sysDept.getDeptId());
|
|
|
}
|
|
|
- //每50个执行一次批量新增
|
|
|
- int maxSize = 50;
|
|
|
- if (roleList.size() > maxSize){
|
|
|
- for (int i = 0; i < listUser.size(); i += maxSize) {
|
|
|
- int end = Math.min(i + maxSize, listUser.size());
|
|
|
- List<SysUserRole> list = roleList.subList(i, end);
|
|
|
- sysUserRoleMapper.batchUserRole(list);
|
|
|
- }
|
|
|
+ SysUser sysUser1 = userMapper.selectByKyId(e.getKySuperId());
|
|
|
+ if (sysUser1==null){
|
|
|
+ userMapper.insertUser(sysUser);
|
|
|
+ notSuperList.add(sysUser);
|
|
|
}else {
|
|
|
- sysUserRoleMapper.batchUserRole(roleList);
|
|
|
+ sysUser.setSuperiorId(sysUser1.getUserId());
|
|
|
+ userMapper.insertUser(sysUser);
|
|
|
}
|
|
|
-
|
|
|
+ allUserList.add(sysUser);
|
|
|
+ });
|
|
|
+ if (!notSuperList.isEmpty()){
|
|
|
+ notSuperList.stream().forEach(e -> {
|
|
|
+ SysUser sysUser1 = userMapper.selectByKyId(e.getKySuperId());
|
|
|
+ if (sysUser1!=null){
|
|
|
+ e.setSuperiorId(sysUser1.getUserId());
|
|
|
+ }
|
|
|
+ userMapper.updateUser(e);
|
|
|
+ });
|
|
|
}
|
|
|
- return 1;
|
|
|
+ //设置人员角色
|
|
|
+ List<SysUserRole> roleList = new ArrayList<>();
|
|
|
+ for (SysUser sysUser : allUserList) {
|
|
|
+ SysUserRole sysUserRole = new SysUserRole();
|
|
|
+ sysUserRole.setUserId(sysUser.getUserId());
|
|
|
+ sysUserRole.setRoleId(2l);
|
|
|
+ roleList.add(sysUserRole);
|
|
|
+ }
|
|
|
+ //每50个执行一次批量新增
|
|
|
+ int maxSize = 50;
|
|
|
+ if (roleList.size() > maxSize){
|
|
|
+ for (int i = 0; i < listUser.size(); i += maxSize) {
|
|
|
+ int end = Math.min(i + maxSize, listUser.size());
|
|
|
+ List<SysUserRole> list = roleList.subList(i, end);
|
|
|
+ sysUserRoleMapper.batchUserRole(list);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ sysUserRoleMapper.batchUserRole(roleList);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void pushAddDep(List<pushDataDep> listDep) {
|
|
|
+ //假设只设置2级 1级为公司
|
|
|
+ List<pushDataDep> sp1 = listDep.stream().filter(e -> StringUtils.isNotEmpty(e.getUsci())).collect(Collectors.toList());
|
|
|
+ //先新增公司
|
|
|
+ pushDataDep pushDataDep = sp1.get(0);
|
|
|
+ SysDept sysDept1 = sysDeptMapper.selectByusci(pushDataDep.getUsci());
|
|
|
+ if (sysDept1!=null) throw new ServiceException("公司已存在");
|
|
|
+ SysDept sysDept=addCompany(pushDataDep);
|
|
|
+ pushDep(listDep, pushDataDep.getKyId(),sysDept);
|
|
|
}
|
|
|
|
|
|
|