|
@@ -953,11 +953,25 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
}).collect(Collectors.toList());
|
|
|
}
|
|
|
taskDetailsDTO.setAcceptedUserList(taskToUserVOS);
|
|
|
+
|
|
|
+ Optional<EndPointPO> endPointPOOptional = endPointDao.findByTaskCode(task.get().getCode());
|
|
|
+ // 判断是否具有配置项,提供跳转url
|
|
|
+ if(endPointPOOptional.isPresent()){
|
|
|
+ // 获取测试类型对应的跳转url
|
|
|
+ TestType testType = commonRepo.getTestTypeByAppCode(task.get().getType());
|
|
|
+ String url = testType.getUrl();
|
|
|
+ String reportUrl = url.replaceFirst("examId", endPointPOOptional.get().getExamId())
|
|
|
+ .replaceFirst("caseId", endPointPOOptional.get().getCaseId())
|
|
|
+ .replaceFirst("userId", String.valueOf(userId));
|
|
|
+
|
|
|
+ taskVO.setWriteReportUrl(reportUrl);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if (saveFlag) {
|
|
|
projectRepo.saveCrowdTestProject(project);
|
|
|
}
|
|
|
+
|
|
|
taskDetailsDTO.setCrowdTaskVO(taskVO);
|
|
|
// EvaluationAgencyPO agencyPO = agencyDao.findByUserId(task.get().getEvaluationAgencyId());
|
|
|
// taskVO.setInstitution(agencyPO==null?"该机构已注销":agencyPO.getEvaluationAgencyName());
|
|
@@ -1606,20 +1620,25 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
//区域管理员或系统管理员视角
|
|
|
if (user.getRoleList().stream().anyMatch(role -> role.getName().equals("SystemAdministrator"))
|
|
|
|| (user.getRegionalManager() != null && user.getId().equals(project.getRegionalManagerId()))) {
|
|
|
- if ((task.getParticipantHasCommittedCount() == task.getAcceptedCount() && task.getStatus() == CrowdTestTaskStatus.HAS_RECEIVED) || (task.getParticipantHasCommittedCount() == task.getParticipantCount() && task.getStatus() == CrowdTestTaskStatus.HAS_COMMITED)) {
|
|
|
- taskOperationControl.setConfirmFinish(true);
|
|
|
- }
|
|
|
if (task.getStatus() < CrowdTestTaskStatus.HAS_RECEIVED) {
|
|
|
taskOperationControl.setUpdate(true);
|
|
|
}
|
|
|
- taskOperationControl.setFinish(false);
|
|
|
- if (task.getStatus() == CrowdTestTaskStatus.HAS_FINISHED || task.getStatus() == CrowdTestTaskStatus.HAS_TIME_OUT) {
|
|
|
+ else{
|
|
|
+ if ((task.getParticipantHasCommittedCount() == task.getAcceptedCount() && task.getStatus() == CrowdTestTaskStatus.HAS_RECEIVED) || (task.getParticipantHasCommittedCount() == task.getParticipantCount() && task.getStatus() == CrowdTestTaskStatus.HAS_COMMITED)) {
|
|
|
+ taskOperationControl.setConfirmFinish(true);
|
|
|
+ }
|
|
|
+
|
|
|
+ taskOperationControl.setFinish(false);
|
|
|
+ if (task.getStatus() == CrowdTestTaskStatus.HAS_FINISHED || task.getStatus() == CrowdTestTaskStatus.HAS_TIME_OUT) {
|
|
|
+ taskOperationControl.setConfirmFinish(false);
|
|
|
+ }
|
|
|
// 具有配置项,需要在第三方进行填写报告
|
|
|
if(endPointPOOptional.isPresent()){
|
|
|
taskOperationControl.setUploadReport(true);
|
|
|
+ taskOperationControl.setConfirmFinish(true);
|
|
|
}
|
|
|
- taskOperationControl.setConfirmFinish(false);
|
|
|
}
|
|
|
+ taskOperationControl.setWriteReport(true);
|
|
|
}
|
|
|
// TODO 已拒绝视图
|
|
|
//评测机构和测评人员视角
|
|
@@ -1667,7 +1686,6 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
-
|
|
|
} else if (task.getDistributionType() == 2) {
|
|
|
if (task.getStatus() == CrowdTestTaskStatus.HAS_RELEASED) {
|
|
|
taskOperationControl.setReceive(true);
|