|
|
@@ -126,7 +126,11 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
.stream().sorted(Comparator.comparing(CrowdTestProjectPO::getCreateTime).thenComparing(CrowdTestProjectPO::getStatus).reversed()).map(crowdTestProjectPO -> {
|
|
|
CrowdTestProject project = new CrowdTestProject();
|
|
|
BeanUtils.copyProperties(crowdTestProjectPO, project);
|
|
|
- return new CrowdProjectVO(project);}).collect(Collectors.toList());
|
|
|
+ CrowdProjectVO projectVO = new CrowdProjectVO(project);
|
|
|
+ if (project.getStatus() == CrowdTestProjectStatus.HAS_COMMITED)
|
|
|
+ projectVO.setNeedHandle(true);
|
|
|
+ return projectVO;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
//对于区域管理员
|
|
|
if (user.getRoleList().stream().anyMatch(role -> role.getName().equals("RegionalManager"))){
|
|
|
List<CrowdTestProjectPO> crowdTestProjectPOList = projectDao.findByRegionalManagerIdAndIsDeleted(userId, DeletedStatus.isNotDeleted)
|
|
|
@@ -135,7 +139,11 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
myCrowdDTO.setHandlingProjects(crowdTestProjectPOList.stream().filter(crowdTestProjectPO -> crowdTestProjectPO.getStatus()>CrowdTestProjectStatus.HAS_RELEASED).map(crowdTestProjectPO -> {
|
|
|
CrowdTestProject project = new CrowdTestProject();
|
|
|
BeanUtils.copyProperties(crowdTestProjectPO, project);
|
|
|
- return new CrowdProjectVO(project); }).collect(Collectors.toList()));
|
|
|
+ CrowdProjectVO projectVO = new CrowdProjectVO(project);
|
|
|
+ if (project.getCrowdTestTaskList()!=null && project.getCrowdTestTaskList().stream().anyMatch(task -> task.getStatus()==CrowdTestTaskStatus.HAS_COMMITED))
|
|
|
+ projectVO.setNeedHandle(true);
|
|
|
+ return projectVO;
|
|
|
+ }).collect(Collectors.toList()));
|
|
|
//获取区域管理员可以接收领取的项目列表
|
|
|
//定向
|
|
|
List<CrowdTestProjectPO> acceptableProject = crowdTestProjectPOList.stream().filter(crowdTestProjectPO -> crowdTestProjectPO.getStatus()==CrowdTestProjectStatus.HAS_RELEASED).collect(Collectors.toList());
|
|
|
@@ -153,7 +161,8 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
UserVO userVO = new UserVO(user);
|
|
|
myCrowdDTO.setMyProjects(myProejcts);
|
|
|
myCrowdDTO.setUserVO(userVO);
|
|
|
-
|
|
|
+ myCrowdDTO.setMyProjectNoticeCount(myProejcts.stream().filter(CrowdProjectVO::getNeedHandle).count());
|
|
|
+ myCrowdDTO.setProcessProjectNoticeCount(myCrowdDTO.getHandlingProjects().stream().filter(CrowdProjectVO::getNeedHandle).count());
|
|
|
if (user.getRoleList().stream().noneMatch(role -> role.getName().equals("evaluationAgency")))
|
|
|
return myCrowdDTO;
|
|
|
List<CrowdTestTask> allTaskOfAgency = null;
|
|
|
@@ -214,10 +223,16 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
Optional<UserPO> regionManager = userDao.findById(project.getRegionalManagerId());
|
|
|
projectVO.setInstitution(regionManager.isPresent()?regionManager.get().getName():"区域管理员已注销");
|
|
|
}
|
|
|
+ List<PieChartDataVO> progress = new ArrayList<>();
|
|
|
+ progress.add(new PieChartDataVO("已完成", project.getCrowdTestTaskList()
|
|
|
+ .stream().filter(task -> task.getStatus()==CrowdTestTaskStatus.HAS_FINISHED).count()));
|
|
|
+ progress.add(new PieChartDataVO("进行中", project.getCrowdTestTaskList()
|
|
|
+ .stream().filter(task -> task.getStatus()>CrowdTestTaskStatus.HAS_CREATED&&task.getStatus()<CrowdTestTaskStatus.HAS_FINISHED).count()));
|
|
|
projectDetailsDTO.setProjectDetails(projectVO);
|
|
|
projectDetailsDTO.setTaskList(taskVOList);
|
|
|
projectDetailsDTO.setReportList(reportVOList);
|
|
|
projectDetailsDTO.setProjectOperationControl(initProjectPermission(project, user));
|
|
|
+ projectDetailsDTO.setProgress(progress);
|
|
|
return projectDetailsDTO;
|
|
|
}
|
|
|
|