Преглед на файлове

项目同步主项目不存在则创建

yurk преди 2 години
родител
ревизия
9de1830545

+ 22 - 15
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -7948,9 +7948,30 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         List<Project> deleteProjectList=new ArrayList<>();
         if(changeType.equals("insert_project")){
             if(projectList!=null &&projectList.size()>0){
+                for (Project project : projectList) {
+                    if(timeType.getMainProjectState()==1){
+                        Optional<ProjectMain> mainOptional = projectMainList.stream().filter(pm -> pm.getName().equals(project.getProjectMainName())).findFirst();
+                        if(!mainOptional.isPresent()){
+                            ProjectMain projectMain=new ProjectMain();
+                            projectMain.setCompanyId(thirdPartyInterface.getCompanyId());
+                            projectMain.setName(project.getProjectMainName());
+                            projectMainMapper.insert(projectMain);
+                            projectMainList.add(projectMain);
+                        }
+                    }
+                    Optional<ProjectCategory> category = projectCategoryList.stream().filter(pc -> pc.getName().equals(project.getCategoryName())).findFirst();
+                    if(!category.isPresent()){
+                        ProjectCategory projectCategory=new ProjectCategory();
+                        projectCategory.setCompanyId(thirdPartyInterface.getCompanyId());
+                        projectCategory.setName(project.getCategoryName());
+                        projectCategoryMapper.insert(projectCategory);
+                        projectCategoryList.add(projectCategory);
+                    }
+                }
                 for (Project project : projectList) {
                     Optional<Project> first = allProject.stream().filter(ap ->ap.getProjectCode()!=null&& ap.getProjectCode().equals(project.getProjectCode())).findFirst();
                     if(first.isPresent()){
+                        message+="已存在项目["+first.get().getProjectName()+"]";
                         continue;
                     }
                     if(timeType.getMainProjectState()==1){
@@ -7959,27 +7980,13 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                             project.setProjectMainId(mainOptional.get().getId());
                             project.setCategoryName(mainOptional.get().getCategoryName());
                             project.setCategory(mainOptional.get().getCategoryId());
-                        }else {
-                            ProjectMain projectMain=new ProjectMain();
-                            projectMain.setCompanyId(thirdPartyInterface.getCompanyId());
-                            projectMain.setName(project.getProjectMainName());
-                            projectMainMapper.insert(projectMain);
-                            project.setProjectMainId(projectMain.getId());
                         }
                     }else {
+                        project.setProjectMainName(null);
                         Optional<ProjectCategory> category = projectCategoryList.stream().filter(pc -> pc.getName().equals(project.getCategoryName())).findFirst();
                         if(category.isPresent()){
-                            project.setProjectMainId(null);
-                            project.setProjectMainName(null);
                             project.setCategoryName(category.get().getName());
                             project.setCategory(category.get().getId());
-                        }else {
-                            ProjectCategory projectCategory=new ProjectCategory();
-                            projectCategory.setCompanyId(thirdPartyInterface.getCompanyId());
-                            projectCategory.setName(project.getCategoryName());
-                            projectCategoryMapper.insert(projectCategory);
-                            project.setCategoryName(projectCategory.getName());
-                            project.setCategory(projectCategory.getId());
                         }
                     }
                     if(timeType.getProjectLevelState()==1){