|
@@ -179,6 +179,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
ThirdPartyInterfaceService thirdPartyInterfaceService;
|
|
|
@Resource
|
|
|
ProjectSeparateService projectSeparateService;
|
|
|
+ @Resource
|
|
|
+ TaskGroupService taskGroupService;
|
|
|
|
|
|
|
|
|
@Resource
|
|
@@ -6369,6 +6371,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
JSONObject jsonObject = JSON.parseObject(dataJson);
|
|
|
JSONObject header = (JSONObject) jsonObject.get("header");
|
|
|
String token = String.valueOf(header.get("token"));
|
|
|
+ String changeType = String.valueOf(header.get("changeType"));
|
|
|
List<Project> projectList = JSON.parseArray(String.valueOf(jsonObject.get("projectArrays")), Project.class);
|
|
|
List<ProjectSeparate> projectSeparateList = JSON.parseArray(String.valueOf(jsonObject.get("projectSeparateArrays")), ProjectSeparate.class);
|
|
|
HttpRespMsg msg=new HttpRespMsg();
|
|
@@ -6384,22 +6387,67 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
}
|
|
|
List<Project> allProject = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", thirdPartyInterface.getCompanyId()));
|
|
|
String message="";
|
|
|
- if(projectList!=null &&projectList.size()>0){
|
|
|
- List<Project> changeProjectList=new ArrayList<>();
|
|
|
+ List<Project> changeProjectList=new ArrayList<>();
|
|
|
+ List<Project> inertProjectList=new ArrayList<>();
|
|
|
+ List<Project> deleteProjectList=new ArrayList<>();
|
|
|
+ if(changeType.equals("insert_project")){
|
|
|
+ if(projectList!=null &&projectList.size()>0){
|
|
|
+ for (Project project : projectList) {
|
|
|
+ Optional<Project> first = allProject.stream().filter(ap ->ap.getProjectCode()!=null&& ap.getProjectCode().equals(project.getProjectCode())).findFirst();
|
|
|
+ if(first.isPresent()){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ project.setCompanyId(thirdPartyInterface.getCompanyId());
|
|
|
+ inertProjectList.add(project);
|
|
|
+ }
|
|
|
+ if(saveBatch(inertProjectList)){
|
|
|
+ message+="成功添加"+inertProjectList.size()+"条项目数据";
|
|
|
+ }
|
|
|
+ for (Project project : inertProjectList) {
|
|
|
+ List<TaskGroup> taskGroupList = project.getTaskGroupList();
|
|
|
+ taskGroupList.forEach(tl->tl.setProjectId(project.getId()));
|
|
|
+ taskGroupService.saveBatch(taskGroupList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else if(changeType.equals("update_project")){
|
|
|
+ if(projectList!=null &&projectList.size()>0){
|
|
|
+ for (Project project : projectList) {
|
|
|
+ Optional<Project> first = allProject.stream().filter(ap ->ap.getProjectCode()!=null&& ap.getProjectCode().equals(project.getProjectCode())).findFirst();
|
|
|
+ if(first.isPresent()){
|
|
|
+ project.setId(first.get().getId());
|
|
|
+ project.setCompanyId(thirdPartyInterface.getCompanyId());
|
|
|
+ changeProjectList.add(project);
|
|
|
+ }else continue;
|
|
|
+ }
|
|
|
+ if(updateBatchById(changeProjectList)){
|
|
|
+ message+="成功更新"+changeProjectList.size()+"条项目数据";
|
|
|
+ }
|
|
|
+ List<Integer> idList = changeProjectList.stream().map(Project::getId).collect(Collectors.toList());
|
|
|
+ List<TaskGroup> groupList = taskGroupMapper.selectList(new QueryWrapper<TaskGroup>().in("project_id", idList));
|
|
|
+ for (Project project : changeProjectList) {
|
|
|
+ List<TaskGroup> taskGroupList = project.getTaskGroupList();
|
|
|
+ for (TaskGroup taskGroup : taskGroupList) {
|
|
|
+ taskGroup.setProjectId(project.getId());
|
|
|
+ Optional<TaskGroup> first = groupList.stream().filter(gl -> gl.getTaskGroupCode() != null && gl.getTaskGroupCode().equals(taskGroup.getTaskGroupCode())).findFirst();
|
|
|
+ if(first.isPresent()){
|
|
|
+ taskGroup.setId(first.get().getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ taskGroupService.saveOrUpdateBatch(taskGroupList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else if(changeType.equals("delete_project")){
|
|
|
for (Project project : projectList) {
|
|
|
- Optional<Project> first = allProject.stream().filter(ap -> ap.getProjectCode().equals(project.getProjectCode())).findFirst();
|
|
|
+ Optional<Project> first = allProject.stream().filter(ap ->ap.getProjectCode()!=null&& ap.getProjectCode().equals(project.getProjectCode())).findFirst();
|
|
|
if(first.isPresent()){
|
|
|
project.setId(first.get().getId());
|
|
|
- changeProjectList.add(project);
|
|
|
+ deleteProjectList.add(project);
|
|
|
+ }else continue;
|
|
|
+ List<Integer> idList = deleteProjectList.stream().map(Project::getId).collect(Collectors.toList());
|
|
|
+ if(removeByIds(idList)){
|
|
|
+ message+="成功删除"+idList.size()+"条项目数据";
|
|
|
}
|
|
|
- }
|
|
|
- if(updateBatchById(changeProjectList)){
|
|
|
- message+="成功更新"+changeProjectList.size()+"条项目数据";
|
|
|
- }
|
|
|
- }
|
|
|
- if(projectSeparateList!=null&&projectSeparateList.size()>0){
|
|
|
- if(projectSeparateService.updateBatchById(projectSeparateList)){
|
|
|
- message+="成功更新"+projectSeparateList.size()+"条项目子表数据";
|
|
|
+ taskGroupMapper.delete(new QueryWrapper<TaskGroup>().in("project_id",idList));
|
|
|
}
|
|
|
}
|
|
|
msg.data=message;
|