Browse Source

部门,人员,项目新增存在就覆盖。
同人,同天,同项目新增存在就覆盖

anderx 3 months ago
parent
commit
323fb5ac52

+ 14 - 6
ruoyi-system/src/main/java/com/ruoyi/project/service/impl/ProjectTaskServiceImpl.java

@@ -591,8 +591,9 @@ public class ProjectTaskServiceImpl   implements ProjectTaskService {
     @Override
     public Object pushCompanyData(pushCompanyDataBo in) {
         //导入部门
+        Long kyId=null;
         if (!in.getListDep().isEmpty()){
-            String kyId = pushAddDep(in.getListDep());
+            kyId = pushAddDep(in.getListDep());
         }
         //导入用户
         if (!in.getListUser().isEmpty()){
@@ -677,7 +678,7 @@ public class ProjectTaskServiceImpl   implements ProjectTaskService {
         }
     }
 
-    private void pushAddUserProject(List<pushDataProject> listUserProject,String kyId) {
+    private void pushAddUserProject(List<pushDataProject> listUserProject,Long kyId) {
         listUserProject.stream().forEach(e -> {
             ProjectTask projectTask = new ProjectTask();
             projectTask.setName(e.getProjectName());
@@ -698,8 +699,15 @@ public class ProjectTaskServiceImpl   implements ProjectTaskService {
             projectTask.setDuration(0d);
             projectTask.setCreateTime(new Date());
             //存在则修改,不存在则新增
-            ProjectTask projectTask1 = projectTaskMapper.selectByProjectNumber(projectTask.getProjectNumber(), projectTask.getDeptId());
-            projectTaskMapper.insert(projectTask);
+            ProjectTask projectTask1 = projectTaskMapper.selectByProjectNumber(projectTask.getProjectNumber(), kyId);
+            if (projectTask1!=null){
+                projectTask.setId(projectTask1.getId());
+                projectTaskMapper.updateByPrimaryKey(projectTask);
+                projectStaffMapper.deleteBypid(projectTask1.getId());
+            }else{
+                projectTaskMapper.insert(projectTask);
+            }
+
             if (e.getStaffIds()!=null){
                 String[] split = e.getStaffIds().split(",");
                 StringJoiner joiner = new StringJoiner(",");
@@ -787,7 +795,7 @@ public class ProjectTaskServiceImpl   implements ProjectTaskService {
 
     }
 
-    private String pushAddDep(List<pushDataDep> listDep) {
+    private Long pushAddDep(List<pushDataDep> listDep) {
             //假设只设置2级 1级为公司
             List<pushDataDep> sp1 = listDep.stream().filter(e -> StringUtils.isNotEmpty(e.getUsci())).collect(Collectors.toList());
             //先新增公司
@@ -806,7 +814,7 @@ public class ProjectTaskServiceImpl   implements ProjectTaskService {
                 sysDeptMapper.updateDept(sysDept1);
             }
             pushDep(listDep, pushDataDep.getKyId(),sysDept1);
-            return pushDataDep.getKyId();
+            return pushDataDep.getDeptId();
     }