|
@@ -67,9 +67,9 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
|
|
|
throw new CrowdTestTaskNotExistException();
|
|
throw new CrowdTestTaskNotExistException();
|
|
|
CrowdTaskVO taskVO = new CrowdTaskVO(task.get());
|
|
CrowdTaskVO taskVO = new CrowdTaskVO(task.get());
|
|
|
if (userId == null)
|
|
if (userId == null)
|
|
|
- taskDetailsDTO.setTaskOperationControl(this.initPermission(project, task.get(), null));
|
|
|
|
|
|
|
+ taskDetailsDTO.setTaskOperationControl(this.initTaskPermission(project, task.get(), null));
|
|
|
else
|
|
else
|
|
|
- taskDetailsDTO.setTaskOperationControl(this.initPermission(project, task.get(), userRepo.getByID(userId)));
|
|
|
|
|
|
|
+ taskDetailsDTO.setTaskOperationControl(this.initTaskPermission(project, task.get(), userRepo.getByID(userId)));
|
|
|
EvaluationAgencyPO agencyPO = agencyDao.findByUserId(task.get().getEvaluationAgencyId());
|
|
EvaluationAgencyPO agencyPO = agencyDao.findByUserId(task.get().getEvaluationAgencyId());
|
|
|
taskVO.setInstitution(agencyPO==null?"该机构已注销":agencyPO.getEvaluationAgencyName());
|
|
taskVO.setInstitution(agencyPO==null?"该机构已注销":agencyPO.getEvaluationAgencyName());
|
|
|
taskDetailsDTO.setCrowdTaskVO(taskVO);
|
|
taskDetailsDTO.setCrowdTaskVO(taskVO);
|
|
@@ -135,38 +135,37 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
|
|
|
return getTaskDetails(projectCode, taskCode, userId);
|
|
return getTaskDetails(projectCode, taskCode, userId);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private TaskOperationControl initPermission(CrowdTestProject project,CrowdTestTask task, User user){
|
|
|
|
|
|
|
+ private TaskOperationControl initTaskPermission(CrowdTestProject project,CrowdTestTask task, User user){
|
|
|
TaskOperationControl taskOperationControl = new TaskOperationControl();
|
|
TaskOperationControl taskOperationControl = new TaskOperationControl();
|
|
|
- log.info("userInfo"+user.toString());
|
|
|
|
|
if (user==null)
|
|
if (user==null)
|
|
|
return taskOperationControl;
|
|
return taskOperationControl;
|
|
|
|
|
+ //区域管理员或系统管理员视角
|
|
|
if (user.getRoleList().stream().anyMatch(role -> role.getName().equals("SystemAdministrator"))
|
|
if (user.getRoleList().stream().anyMatch(role -> role.getName().equals("SystemAdministrator"))
|
|
|
- ||(user.getRoleList().stream().anyMatch(role -> role.getName().equals("RegionalManager"))&&user.getId().equals(project.getRegionalManagerId()))){
|
|
|
|
|
|
|
+ ||(user.getRegionalManager()!=null&&user.getId().equals(project.getRegionalManagerId()))){
|
|
|
if (task.getStatus()<CrowdTestTaskStatus.HAS_RECEIVED){
|
|
if (task.getStatus()<CrowdTestTaskStatus.HAS_RECEIVED){
|
|
|
taskOperationControl.setUpdate(true);
|
|
taskOperationControl.setUpdate(true);
|
|
|
}else if (task.getStatus()==CrowdTestTaskStatus.HAS_COMMITED){
|
|
}else if (task.getStatus()==CrowdTestTaskStatus.HAS_COMMITED){
|
|
|
taskOperationControl.setConfirmFinish(true);
|
|
taskOperationControl.setConfirmFinish(true);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ //评测机构视角
|
|
|
if (user.getEvaluationAgency()!=null && task.getStatus()!=CrowdTestTaskStatus.HAS_REJECTED){
|
|
if (user.getEvaluationAgency()!=null && task.getStatus()!=CrowdTestTaskStatus.HAS_REJECTED){
|
|
|
if ((task.getDistributionType()==0 && task.getEvaluationAgencyId().equals(user.getId()))
|
|
if ((task.getDistributionType()==0 && task.getEvaluationAgencyId().equals(user.getId()))
|
|
|
- ||(task.getDistributionType()==2 && task.getStatus()>CrowdTestTaskStatus.HAS_RELEASED && task.getEvaluationAgencyId().equals(user.getId()))){
|
|
|
|
|
- if (task.getStatus()<CrowdTestTaskStatus.HAS_RECEIVED){
|
|
|
|
|
|
|
+ ||(task.getDistributionType()==2 && task.getStatus()>=CrowdTestTaskStatus.HAS_RECEIVED && task.getEvaluationAgencyId().equals(user.getId()))){
|
|
|
|
|
+ if (task.getStatus()==CrowdTestTaskStatus.HAS_RELEASED){
|
|
|
taskOperationControl.setReceive(true);
|
|
taskOperationControl.setReceive(true);
|
|
|
if (task.getDistributionType()==0)
|
|
if (task.getDistributionType()==0)
|
|
|
taskOperationControl.setReject(true);
|
|
taskOperationControl.setReject(true);
|
|
|
} else if (task.getStatus() == CrowdTestTaskStatus.HAS_RECEIVED){
|
|
} else if (task.getStatus() == CrowdTestTaskStatus.HAS_RECEIVED){
|
|
|
taskOperationControl.setUploadReport(true);
|
|
taskOperationControl.setUploadReport(true);
|
|
|
- }
|
|
|
|
|
- else if (task.getCrowdTestReportList().size()>0){
|
|
|
|
|
- taskOperationControl.setFinish(true);
|
|
|
|
|
- taskOperationControl.setUploadReport(true);
|
|
|
|
|
- }
|
|
|
|
|
- else if (task.getStatus() == CrowdTestTaskStatus.HAS_COMMITED){
|
|
|
|
|
|
|
+ if (task.getCrowdTestReportList().size()>0){
|
|
|
|
|
+ taskOperationControl.setFinish(true);
|
|
|
|
|
+ }
|
|
|
|
|
+ } else if (task.getStatus() == CrowdTestTaskStatus.HAS_COMMITED){
|
|
|
taskOperationControl.setUploadReport(true);
|
|
taskOperationControl.setUploadReport(true);
|
|
|
}
|
|
}
|
|
|
} else if (task.getDistributionType()==2){
|
|
} else if (task.getDistributionType()==2){
|
|
|
- if (task.getStatus()<CrowdTestTaskStatus.HAS_RECEIVED){
|
|
|
|
|
|
|
+ if (task.getStatus()==CrowdTestTaskStatus.HAS_RELEASED){
|
|
|
taskOperationControl.setReceive(true);
|
|
taskOperationControl.setReceive(true);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|