|
|
|
@ -8,9 +8,11 @@ import com.ibeetl.admin.core.util.PlatformException;
|
|
|
|
|
import com.ibeetl.admin.core.web.JsonResult;
|
|
|
|
|
import com.ibeetl.admin.core.web.JsonReturnCode;
|
|
|
|
|
import com.ibeetl.jlw.dao.TeacherOpenCourseHandsOnSimulationTasksDao;
|
|
|
|
|
import com.ibeetl.jlw.entity.ResourcesQuestion;
|
|
|
|
|
import com.ibeetl.jlw.entity.TaskTypeParam;
|
|
|
|
|
import com.ibeetl.jlw.entity.TeacherOpenCourseHandsOnSimulationTasks;
|
|
|
|
|
import com.ibeetl.jlw.entity.TeacherOpenCourseHandsOnSimulationTasksFile;
|
|
|
|
|
import com.ibeetl.jlw.entity.vo.HandsOnTaskProblemVo;
|
|
|
|
|
import com.ibeetl.jlw.web.query.TeacherOpenCourseHandsOnSimulationTasksFileQuery;
|
|
|
|
|
import com.ibeetl.jlw.web.query.TeacherOpenCourseHandsOnSimulationTasksQuery;
|
|
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
|
@ -24,6 +26,7 @@ import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 教师开课-课程实操任务 Service
|
|
|
|
@ -39,6 +42,8 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
|
|
|
|
|
|
|
|
|
|
@Autowired private TeacherOpenCourseHandsOnSimulationTasksFileService teacherOpenCourseHandsOnSimulationTasksFileService;
|
|
|
|
|
|
|
|
|
|
@Autowired private ResourcesQuestionService resourcesQuestionService;
|
|
|
|
|
|
|
|
|
|
public PageQuery<TeacherOpenCourseHandsOnSimulationTasks>queryByCondition(PageQuery query){
|
|
|
|
|
PageQuery ret = teacherOpenCourseHandsOnSimulationTasksDao.queryByCondition(query);
|
|
|
|
|
queryListAfter(ret.getList());
|
|
|
|
@ -150,6 +155,10 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
|
|
|
|
|
teacherOpenCourseHandsOnSimulationTasksQuery.setTaskId(taskId);
|
|
|
|
|
List<TeacherOpenCourseHandsOnSimulationTasks> list = teacherOpenCourseHandsOnSimulationTasksDao.getValuesByQuery(teacherOpenCourseHandsOnSimulationTasksQuery);
|
|
|
|
|
if(null != list && list.size()>0){
|
|
|
|
|
for (TeacherOpenCourseHandsOnSimulationTasks teacherOpenCourseHandsOnSimulationTasks : list) {
|
|
|
|
|
HandsOnTaskProblemVo objectiveProblem = getObjectiveProblem(teacherOpenCourseHandsOnSimulationTasks.getTaskList());
|
|
|
|
|
teacherOpenCourseHandsOnSimulationTasks.setHandsOnTaskProblemVo(objectiveProblem);
|
|
|
|
|
}
|
|
|
|
|
return list.get(0);
|
|
|
|
|
}else{
|
|
|
|
|
return null;
|
|
|
|
@ -159,6 +168,12 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
|
|
|
|
|
public TeacherOpenCourseHandsOnSimulationTasks getInfo (TeacherOpenCourseHandsOnSimulationTasksQuery teacherOpenCourseHandsOnSimulationTasksQuery){
|
|
|
|
|
List<TeacherOpenCourseHandsOnSimulationTasks> list = teacherOpenCourseHandsOnSimulationTasksDao.getValuesByQuery(teacherOpenCourseHandsOnSimulationTasksQuery);
|
|
|
|
|
if(null != list && list.size()>0){
|
|
|
|
|
|
|
|
|
|
for (TeacherOpenCourseHandsOnSimulationTasks teacherOpenCourseHandsOnSimulationTasks : list) {
|
|
|
|
|
HandsOnTaskProblemVo objectiveProblem = getObjectiveProblem(teacherOpenCourseHandsOnSimulationTasks.getTaskList());
|
|
|
|
|
teacherOpenCourseHandsOnSimulationTasks.setHandsOnTaskProblemVo(objectiveProblem);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return list.get(0);
|
|
|
|
|
}else{
|
|
|
|
|
return null;
|
|
|
|
@ -169,4 +184,27 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public HandsOnTaskProblemVo getObjectiveProblem(String problemIds) {
|
|
|
|
|
List<ResourcesQuestion> resourcesQuestions = resourcesQuestionService.getByIds(problemIds);
|
|
|
|
|
//单选题
|
|
|
|
|
List<ResourcesQuestion> collect1 = resourcesQuestions.stream().filter(v -> 1 == v.getQuestionType()).collect(Collectors.toList());
|
|
|
|
|
//多选题
|
|
|
|
|
List<ResourcesQuestion> collect2 = resourcesQuestions.stream().filter(v -> 2 == v.getQuestionType()).collect(Collectors.toList());
|
|
|
|
|
//判断题
|
|
|
|
|
List<ResourcesQuestion> collect3 = resourcesQuestions.stream().filter(v -> 3 == v.getQuestionType()).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
HandsOnTaskProblemVo handsOnTaskProblemVo = new HandsOnTaskProblemVo();
|
|
|
|
|
handsOnTaskProblemVo.setSingleNum(collect1.size());
|
|
|
|
|
handsOnTaskProblemVo.setSingleScore(collect1.stream().mapToDouble(v -> v.getQuestionScore().doubleValue()).average().orElse(0));
|
|
|
|
|
handsOnTaskProblemVo.setSingleSumScore(collect1.stream().mapToDouble(v -> v.getQuestionScore().doubleValue()).sum());
|
|
|
|
|
handsOnTaskProblemVo.setMultipleNum(collect2.size());
|
|
|
|
|
handsOnTaskProblemVo.setMultipleScore(collect2.stream().mapToDouble(v -> v.getQuestionScore().doubleValue()).average().orElse(0));
|
|
|
|
|
handsOnTaskProblemVo.setMultipleSumScore(collect2.stream().mapToDouble(v -> v.getQuestionScore().doubleValue()).sum());
|
|
|
|
|
handsOnTaskProblemVo.setJudgeNum(collect3.size());
|
|
|
|
|
handsOnTaskProblemVo.setJudgeScore(collect3.stream().mapToDouble(v -> v.getQuestionScore().doubleValue()).average().orElse(0));
|
|
|
|
|
handsOnTaskProblemVo.setJudgeSumScore(collect3.stream().mapToDouble(v -> v.getQuestionScore().doubleValue()).sum());
|
|
|
|
|
handsOnTaskProblemVo.setTotalScore(resourcesQuestions.stream().mapToDouble(v -> v.getQuestionScore().doubleValue()).sum());
|
|
|
|
|
return handsOnTaskProblemVo;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|