Browse Source

新增获取公司部门数据

anderx 4 months ago
parent
commit
d5d4ff3ec7

+ 63 - 0
ruoyi-system/src/main/java/com/ruoyi/project/bo/pushDataProject.java

@@ -1,4 +1,67 @@
 package com.ruoyi.project.bo;
 
 public class pushDataProject {
+    private String projectName;
+    private String aid;
+    private String projectNumber;
+    private String startTime;
+    private String endTime;
+    private String projectyear;
+    private String staffIds;
+
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    public String getAid() {
+        return aid;
+    }
+
+    public void setAid(String aid) {
+        this.aid = aid;
+    }
+
+    public String getProjectNumber() {
+        return projectNumber;
+    }
+
+    public void setProjectNumber(String projectNumber) {
+        this.projectNumber = projectNumber;
+    }
+
+    public String getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(String startTime) {
+        this.startTime = startTime;
+    }
+
+    public String getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(String endTime) {
+        this.endTime = endTime;
+    }
+
+    public String getProjectyear() {
+        return projectyear;
+    }
+
+    public void setProjectyear(String projectyear) {
+        this.projectyear = projectyear;
+    }
+
+    public String getStaffIds() {
+        return staffIds;
+    }
+
+    public void setStaffIds(String staffIds) {
+        this.staffIds = staffIds;
+    }
 }

+ 104 - 62
ruoyi-system/src/main/java/com/ruoyi/project/service/impl/ProjectTaskServiceImpl.java

@@ -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);
     }