guo00guo %!s(int64=5) %!d(string=hai) anos
pai
achega
2057ba55b3

+ 27 - 15
core/src/main/java/com/mooctest/crowd/domain/repository/CrowdTestProjectRepo.java

@@ -53,6 +53,9 @@ public class CrowdTestProjectRepo implements ICrowdTestProjectRepo {
     @Autowired
     private EndPointDao endPointDao;
 
+    @Autowired
+    private CommonRepo commonRepo;
+
     @Override
     public Page<CrowdTestProjectPO> findAll(Specification specification, Pageable pageable) {
         return crowdTestProjectDao.findAll(specification, pageable);
@@ -156,25 +159,34 @@ public class CrowdTestProjectRepo implements ICrowdTestProjectRepo {
 //                crowdTestTaskPO.setParticipantHasReportCount(collect.size());
                 crowdTestTaskDao.save(crowdTestTaskPO);
 
-                // 保存配置项信息
-                if(crowdTestTask.getEndPoint() != null){
+                // 判断是否存在配置项
+                if(commonRepo.getTestTypeByAppCode(crowdTestTask.getType()).getType() == 1){
+                    // 保存配置项信息
+                    if(crowdTestTask.getEndPoint() != null){
+                        Optional<EndPointPO> endPointPO = endPointDao.findByTaskCode(crowdTestTask.getCode());
+                        EndPoint endPoint = crowdTestTask.getEndPoint();
+                        if(endPointPO.isPresent()){
+                            EndPointPO addEndPointPO = Converter.convert(EndPointPO.class, endPoint);
+                            addEndPointPO.setId(endPointPO.get().getId());
+                            addEndPointPO.setProjectCode(crowdTestProject.getCode());
+                            addEndPointPO.setTaskCode(crowdTestTask.getCode());
+                            endPointDao.save(addEndPointPO);
+                        }else{
+                            EndPointPO addEndPointPO = new EndPointPO();
+                            addEndPointPO.setCaseId(endPoint.getCaseId());
+                            addEndPointPO.setExamId(endPoint.getExamId());
+                            addEndPointPO.setProjectCode(crowdTestProject.getCode());
+                            addEndPointPO.setTaskCode(crowdTestTask.getCode());
+                            endPointDao.save(addEndPointPO);
+                        }
+                    }
+                }else{
                     Optional<EndPointPO> endPointPO = endPointDao.findByTaskCode(crowdTestTask.getCode());
-                    EndPoint endPoint = crowdTestTask.getEndPoint();
                     if(endPointPO.isPresent()){
-                        EndPointPO addEndPointPO = Converter.convert(EndPointPO.class, endPoint);
-                        addEndPointPO.setId(endPointPO.get().getId());
-                        addEndPointPO.setProjectCode(crowdTestProject.getCode());
-                        addEndPointPO.setTaskCode(crowdTestTask.getCode());
-                        endPointDao.save(addEndPointPO);
-                    }else{
-                        EndPointPO addEndPointPO = new EndPointPO();
-                        addEndPointPO.setCaseId(endPoint.getCaseId());
-                        addEndPointPO.setExamId(endPoint.getExamId());
-                        addEndPointPO.setProjectCode(crowdTestProject.getCode());
-                        addEndPointPO.setTaskCode(crowdTestTask.getCode());
-                        endPointDao.save(addEndPointPO);
+                        endPointDao.deleteEndPoint(crowdTestTask.getCode());
                     }
                 }
+
             }
         }
         // 保存项目报告

+ 2 - 1
site/src/main/java/com/mooctest/crowd/site/mediator/impl/WebMediatorImpl.java

@@ -1634,11 +1634,12 @@ public class WebMediatorImpl implements ViewMediator {
                 }
                 // 具有配置项,需要在第三方进行填写报告
                 if(endPointPOOptional.isPresent()){
+                    taskOperationControl.setWriteReport(true);
                     taskOperationControl.setUploadReport(true);
                     taskOperationControl.setConfirmFinish(true);
                 }
             }
-            taskOperationControl.setWriteReport(true);
+
         }
         // TODO 已拒绝视图
         //评测机构和测评人员视角