|
@@ -231,6 +231,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
private ReportExtraDegreeService reportExtraDegreeService;
|
|
private ReportExtraDegreeService reportExtraDegreeService;
|
|
@Resource
|
|
@Resource
|
|
private TaskService taskService;
|
|
private TaskService taskService;
|
|
|
|
+ @Resource
|
|
|
|
+ private StagesService stagesService;
|
|
|
|
+ @Resource
|
|
|
|
+ private SapProjectServiceService sapProjectServiceService;
|
|
|
|
|
|
@Value(value = "${upload.path}")
|
|
@Value(value = "${upload.path}")
|
|
private String path;
|
|
private String path;
|
|
@@ -11341,7 +11345,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
List<ProjectQueryResponse> projectQueryResponses = xmlResponseData.getProjectQueryResponses();
|
|
List<ProjectQueryResponse> projectQueryResponses = xmlResponseData.getProjectQueryResponses();
|
|
List<Map<String,Object>> idsMapList=new ArrayList<>();
|
|
List<Map<String,Object>> idsMapList=new ArrayList<>();
|
|
if(projectQueryResponses!=null&&projectQueryResponses.size()>0){
|
|
if(projectQueryResponses!=null&&projectQueryResponses.size()>0){
|
|
- List<Task> taskList=new ArrayList<>();
|
|
|
|
|
|
+ List<Stages> stagesList=new ArrayList<>();
|
|
for (ProjectQueryResponse item : projectQueryResponses) {
|
|
for (ProjectQueryResponse item : projectQueryResponses) {
|
|
Project project=new Project();
|
|
Project project=new Project();
|
|
//处理项目分类
|
|
//处理项目分类
|
|
@@ -11409,7 +11413,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
TaskGroup taskGroup=new TaskGroup();
|
|
TaskGroup taskGroup=new TaskGroup();
|
|
taskGroup.setProjectId(project.getId());
|
|
taskGroup.setProjectId(project.getId());
|
|
taskGroup.setTaskGroupCode(ps.getProjectElementID());
|
|
taskGroup.setTaskGroupCode(ps.getProjectElementID());
|
|
- taskGroup.setName(ps.getTaskGroupName().getName());
|
|
|
|
|
|
+ taskGroup.setName(ps.getTaskGroupName()==null?"":ps.getTaskGroupName().getName());
|
|
TaskGroup one = taskGroupMapper.selectOne(new QueryWrapper<TaskGroup>().eq("project_id", project.getId()).eq("task_group_code", ps.getProjectElementID()));
|
|
TaskGroup one = taskGroupMapper.selectOne(new QueryWrapper<TaskGroup>().eq("project_id", project.getId()).eq("task_group_code", ps.getProjectElementID()));
|
|
if(one!=null){
|
|
if(one!=null){
|
|
taskGroup.setId(one.getId());
|
|
taskGroup.setId(one.getId());
|
|
@@ -11422,53 +11426,49 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
});
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- LocalDate localDate=LocalDate.now();
|
|
|
|
if(idsMapList.size()>0){
|
|
if(idsMapList.size()>0){
|
|
List<Integer> projectIds = idsMapList.stream().map(i -> Integer.valueOf(String.valueOf(i.get("projectId")))).collect(Collectors.toList());
|
|
List<Integer> projectIds = idsMapList.stream().map(i -> Integer.valueOf(String.valueOf(i.get("projectId")))).collect(Collectors.toList());
|
|
List<Integer> groupIds = idsMapList.stream().map(i -> Integer.valueOf(String.valueOf(i.get("groupId")))).collect(Collectors.toList());
|
|
List<Integer> groupIds = idsMapList.stream().map(i -> Integer.valueOf(String.valueOf(i.get("groupId")))).collect(Collectors.toList());
|
|
- List<Task> allTasks = taskMapper.selectList(new LambdaQueryWrapper<Task>().in(Task::getProjectId, projectIds).in(Task::getGroupId, groupIds));
|
|
|
|
List<Stages> allStages = stagesMapper.selectList(new LambdaQueryWrapper<Stages>().in(Stages::getProjectId, projectIds).in(Stages::getGroupId, groupIds));
|
|
List<Stages> allStages = stagesMapper.selectList(new LambdaQueryWrapper<Stages>().in(Stages::getProjectId, projectIds).in(Stages::getGroupId, groupIds));
|
|
for (Map<String, Object> map : idsMapList) {
|
|
for (Map<String, Object> map : idsMapList) {
|
|
- //处理项目下服务数据 ------->工时管家相关项目下任务分组下创建任务数据
|
|
|
|
- if(projectServiceData!=null){
|
|
|
|
- List<ServiceProduct> serviceProducts = projectServiceData.getServiceProducts();
|
|
|
|
- if(serviceProducts!=null&&serviceProducts.size()>0){
|
|
|
|
- List<Task> hasTasks =allTasks.stream().filter(al->al.getProjectId().equals(map.get("projectId"))&&al.getGroupId().equals(map.get("groupId"))).collect(Collectors.toList());
|
|
|
|
- for (ServiceProduct serviceProduct : serviceProducts) {
|
|
|
|
- Task task=new Task();
|
|
|
|
- task.setName(serviceProduct.getDescription().getDescription()+"-"+serviceProduct.getInternalID());
|
|
|
|
- task.setGroupId(Integer.valueOf(String.valueOf(map.get("groupId"))));
|
|
|
|
- task.setProjectId(Integer.valueOf(String.valueOf(map.get("projectId"))));
|
|
|
|
- task.setCreateDate(localDate);
|
|
|
|
- task.setCompanyId(companyId);
|
|
|
|
- Optional<Stages> first = allStages.stream().filter(a -> a.getGroupId().equals(task.getGroupId()) && a.getProjectId().equals(task.getProjectId())).findFirst();
|
|
|
|
- if(first.isPresent()){
|
|
|
|
- task.setStagesId(first.get().getId());
|
|
|
|
- }else {
|
|
|
|
- //创建默认列表
|
|
|
|
- Stages stage = new Stages();
|
|
|
|
- stage.setGroupId(task.getGroupId());
|
|
|
|
- stage.setSequence(1);
|
|
|
|
- stage.setProjectId(task.getProjectId());
|
|
|
|
- stage.setStagesName(MessageUtils.message("excel.WorkUnfolds"));
|
|
|
|
- stagesMapper.insert(stage);
|
|
|
|
- allStages.add(stage);
|
|
|
|
- task.setStagesId(stage.getId());
|
|
|
|
- }
|
|
|
|
- task.setServiceId(serviceProduct.getInternalID());
|
|
|
|
- Optional<Task> optional = hasTasks.stream().filter(s -> s.getServiceId().equals(task.getServiceId())&&s.getProjectId().equals(task.getProjectId())&&s.getGroupId().equals(task.getGroupId())).findFirst();
|
|
|
|
- if(!optional.isPresent()){
|
|
|
|
- taskList.add(task);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ Optional<Stages> first = allStages.stream().filter(a -> a.getGroupId().equals(String.valueOf(map.get("groupId"))) && a.getProjectId().equals(String.valueOf(map.get("projectId")))).findFirst();
|
|
|
|
+ if(!first.isPresent()){
|
|
|
|
+ //创建默认列表
|
|
|
|
+ Stages stage = new Stages();
|
|
|
|
+ stage.setGroupId(Integer.valueOf(String.valueOf(map.get("groupId"))));
|
|
|
|
+ stage.setSequence(1);
|
|
|
|
+ stage.setProjectId(Integer.valueOf(String.valueOf(map.get("projectId"))));
|
|
|
|
+ stage.setStagesName(MessageUtils.message("excel.WorkUnfolds"));
|
|
|
|
+ allStages.add(stage);
|
|
|
|
+ stagesList.add(stage);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if(taskList.size()>0){
|
|
|
|
- taskService.saveBatch(taskList);
|
|
|
|
|
|
+ if(stagesList.size()>0){
|
|
|
|
+ stagesService.saveBatch(stagesList);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //处理项目下服务数据 ------->工时管家相关项目下任务分组下创建任务数据
|
|
|
|
+ List<SapProjectService> serviceList = sapProjectServiceService.list(new LambdaQueryWrapper<SapProjectService>().eq(SapProjectService::getCompanyId, companyId));
|
|
|
|
+ List<SapProjectService> sapProjectServiceList=new ArrayList<>();
|
|
|
|
+ if(projectServiceData!=null){
|
|
|
|
+ List<ServiceProduct> serviceProducts = projectServiceData.getServiceProducts();
|
|
|
|
+ if(serviceProducts!=null&&serviceProducts.size()>0){
|
|
|
|
+ for (ServiceProduct serviceProduct : serviceProducts) {
|
|
|
|
+ SapProjectService sapProjectService=new SapProjectService();
|
|
|
|
+ sapProjectService.setServiceCode(serviceProduct.getInternalID());
|
|
|
|
+ sapProjectService.setServiceName(serviceProduct.getDescription().getDescription());
|
|
|
|
+ sapProjectService.setCompanyId(companyId);
|
|
|
|
+ boolean match = serviceList.stream().anyMatch(s -> s.getServiceCode().equals(serviceProduct.getInternalID()));
|
|
|
|
+ if(!match){
|
|
|
|
+ sapProjectServiceList.add(sapProjectService);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ if(sapProjectServiceList.size()>0){
|
|
|
|
+ sapProjectServiceService.saveBatch(sapProjectServiceList);
|
|
|
|
+ }
|
|
msg.setData(xmlResponseData);
|
|
msg.setData(xmlResponseData);
|
|
return msg;
|
|
return msg;
|
|
}
|
|
}
|