|
@@ -136,6 +136,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
@Resource
|
|
|
ProviderInfoMapper providerInfoMapper;
|
|
|
@Resource
|
|
|
+ PpMembsMapper ppMembsMapper;
|
|
|
+ @Resource
|
|
|
ProjectMainMapper projectMainMapper;
|
|
|
@Resource
|
|
|
ProjectLevelMapper projectLevelMapper;
|
|
@@ -292,6 +294,15 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
projectSeparateList = projectSeparateMapper.selectList(new QueryWrapper<ProjectSeparate>().in("id", projectIds));
|
|
|
}
|
|
|
}
|
|
|
+ //建筑工程版项目总进度计算
|
|
|
+ Company company = companyMapper.selectById(companyId);
|
|
|
+ List<PpMembs> ppMembList = null;
|
|
|
+ List<ProjectProfession> ppList = null;
|
|
|
+ if (company.getPackageEngineering() == 1) {
|
|
|
+ ppMembList = ppMembsMapper.selectList(new QueryWrapper<PpMembs>().in("project_id", projectIds));
|
|
|
+ ppList = projectProfessionMapper.selectList(new QueryWrapper<ProjectProfession>().in("project_id", projectIds));
|
|
|
+ }
|
|
|
+
|
|
|
List<ProjectVO> list = new ArrayList<>();
|
|
|
List<Map<String,Object>> particpationList=participationMapper.getAllParticipator(projectIds);
|
|
|
for (Project project : projectList) {
|
|
@@ -360,6 +371,24 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
projectVO.setProjectSeparate(first1.get());
|
|
|
}
|
|
|
}
|
|
|
+ //工程专业版:计算当前项目的总进度
|
|
|
+ if (company.getPackageEngineering() == 1) {
|
|
|
+ List<PpMembs> curProjectPMList = ppMembList.stream().filter(pp->pp.getProjectId().equals(project.getId())).collect(Collectors.toList());
|
|
|
+ List<ProjectProfession> curPPList = ppList.stream().filter(pp->pp.getProjectId().equals(project.getId())).collect(Collectors.toList());
|
|
|
+ int totalProgress = 0;
|
|
|
+ for (PpMembs memb : curProjectPMList) {
|
|
|
+ System.out.println("getProgress=="+memb.getProgress()+""+memb.getPercentage());
|
|
|
+ Optional<ProjectProfession> first1 = curPPList.stream().filter(pp -> pp.getProfessionId().equals(memb.getProfessionId())).findFirst();
|
|
|
+ if (first1.isPresent()) {
|
|
|
+ totalProgress += memb.getProgress()*memb.getPercentage()*first1.get().getPercentage();
|
|
|
+ }
|
|
|
+
|
|
|
+ System.out.println("getProgress==totalProgress="+totalProgress);
|
|
|
+ }
|
|
|
+ totalProgress = totalProgress/100/100;
|
|
|
+ System.out.println("totalProgress=="+totalProgress);
|
|
|
+ projectVO.setProgress(totalProgress);
|
|
|
+ }
|
|
|
list.add(projectVO);
|
|
|
}
|
|
|
List<String> stringList = providerCategoryList.stream().distinct().map(ProviderCategory::getProviderCategoryName).collect(Collectors.toList());
|