From a58d40139515743c3dfdc27b5614f1220c5e3d4e Mon Sep 17 00:00:00 2001 From: xuliangtong <1124839262@qq.com> Date: Tue, 1 Nov 2022 22:26:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=88=86=E7=B1=BB=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E5=88=86=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...acherOpenCourseHandsOnSimulationTasks.java | 13 +++- .../jlw/entity/vo/HandsOnTaskProblemVo.java | 67 +++++++++++++++++++ ...enCourseHandsOnSimulationTasksService.java | 38 +++++++++++ .../TeacherOpenCourseHandsOnController.java | 1 + ...ourseHandsOnSimulationTasksController.java | 17 +++++ 5 files changed, 135 insertions(+), 1 deletion(-) create mode 100644 web/src/main/java/com/ibeetl/jlw/entity/vo/HandsOnTaskProblemVo.java diff --git a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseHandsOnSimulationTasks.java b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseHandsOnSimulationTasks.java index 527f6224..52f286ec 100644 --- a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseHandsOnSimulationTasks.java +++ b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseHandsOnSimulationTasks.java @@ -3,6 +3,7 @@ package com.ibeetl.jlw.entity; import javax.validation.constraints.NotNull; import com.ibeetl.admin.core.entity.BaseEntity; +import com.ibeetl.jlw.entity.vo.HandsOnTaskProblemVo; import org.beetl.sql.annotation.entity.*; import com.ibeetl.admin.core.util.ValidateConfig; @@ -84,7 +85,17 @@ public class TeacherOpenCourseHandsOnSimulationTasks extends BaseEntity{ //添加时间 private Date addTime ; - + + private HandsOnTaskProblemVo handsOnTaskProblemVo; + + public HandsOnTaskProblemVo getHandsOnTaskProblemVo() { + return handsOnTaskProblemVo; + } + + public void setHandsOnTaskProblemVo(HandsOnTaskProblemVo handsOnTaskProblemVo) { + this.handsOnTaskProblemVo = handsOnTaskProblemVo; + } + public TeacherOpenCourseHandsOnSimulationTasks(){ } diff --git a/web/src/main/java/com/ibeetl/jlw/entity/vo/HandsOnTaskProblemVo.java b/web/src/main/java/com/ibeetl/jlw/entity/vo/HandsOnTaskProblemVo.java new file mode 100644 index 00000000..47c9dd90 --- /dev/null +++ b/web/src/main/java/com/ibeetl/jlw/entity/vo/HandsOnTaskProblemVo.java @@ -0,0 +1,67 @@ +package com.ibeetl.jlw.entity.vo; + +import lombok.Data; + +/** + * 类功能说明 + * + * @Version 0.0.1 + * @Author 许良彤 + * @Date 2022/11/1 21:51 + */ +@Data +public class HandsOnTaskProblemVo { + + /** + * 单选题选题量 + */ + private Integer singleNum; + + /** + * 单选题分值 + */ + private Double singleScore; + + /** + * 单选题合计 + */ + private Double singleSumScore; + + /** + * 多选题选题量 + */ + private Integer multipleNum; + + /** + * 多选题分值 + */ + private Double multipleScore; + + /** + * 多选题合计 + */ + private Double multipleSumScore; + + + /** + * 多选题选题量 + */ + private Integer judgeNum; + + /** + * 多选题分值 + */ + private Double judgeScore; + + /** + * 多选题合计 + */ + private Double judgeSumScore; + + /** + * 总分 + */ + private Double totalScore; + + +} \ No newline at end of file diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseHandsOnSimulationTasksService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseHandsOnSimulationTasksService.java index e94f73ab..8369a046 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseHandsOnSimulationTasksService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseHandsOnSimulationTasksService.java @@ -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 PageQueryqueryByCondition(PageQuery query){ PageQuery ret = teacherOpenCourseHandsOnSimulationTasksDao.queryByCondition(query); queryListAfter(ret.getList()); @@ -150,6 +155,10 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ teacherOpenCourseHandsOnSimulationTasksQuery.setTaskId(taskId); List 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 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 resourcesQuestions = resourcesQuestionService.getByIds(problemIds); + //单选题 + List collect1 = resourcesQuestions.stream().filter(v -> 1 == v.getQuestionType()).collect(Collectors.toList()); + //多选题 + List collect2 = resourcesQuestions.stream().filter(v -> 2 == v.getQuestionType()).collect(Collectors.toList()); + //判断题 + List 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; + } } diff --git a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseHandsOnController.java b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseHandsOnController.java index 21829f7c..1f7abd32 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseHandsOnController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseHandsOnController.java @@ -464,6 +464,7 @@ public class TeacherOpenCourseHandsOnController{ /** * 查看内容 + * 根据课程id获取有哪些课程实操任务类型 * @param teacherOpenCourseId 课程开课id * @return */ diff --git a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseHandsOnSimulationTasksController.java b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseHandsOnSimulationTasksController.java index 23be8694..d341cf3c 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseHandsOnSimulationTasksController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseHandsOnSimulationTasksController.java @@ -8,6 +8,7 @@ import com.ibeetl.admin.core.file.FileService; import com.ibeetl.admin.core.web.JsonResult; import com.ibeetl.jlw.entity.TaskTypeParam; import com.ibeetl.jlw.entity.TeacherOpenCourseHandsOnSimulationTasks; +import com.ibeetl.jlw.entity.vo.HandsOnTaskProblemVo; import com.ibeetl.jlw.service.TeacherOpenCourseHandsOnSimulationTasksService; import com.ibeetl.jlw.web.query.TeacherOpenCourseHandsOnSimulationTasksQuery; import org.apache.commons.lang3.StringUtils; @@ -91,6 +92,8 @@ public class TeacherOpenCourseHandsOnSimulationTasksController{ public ModelAndView edit(Long taskId) { ModelAndView view = new ModelAndView("/jlw/teacherOpenCourseHandsOnSimulationTasks/edit.html"); TeacherOpenCourseHandsOnSimulationTasks teacherOpenCourseHandsOnSimulationTasks = teacherOpenCourseHandsOnSimulationTasksService.queryById(taskId); + HandsOnTaskProblemVo objectiveProblem = getObjectiveProblem(teacherOpenCourseHandsOnSimulationTasks.getTaskList()); + teacherOpenCourseHandsOnSimulationTasks.setHandsOnTaskProblemVo(objectiveProblem); view.addObject("teacherOpenCourseHandsOnSimulationTasks", teacherOpenCourseHandsOnSimulationTasks); return view; } @@ -101,6 +104,8 @@ public class TeacherOpenCourseHandsOnSimulationTasksController{ ModelAndView view = new ModelAndView("/jlw/teacherOpenCourseHandsOnSimulationTasks/add.html"); if(null != taskId){ TeacherOpenCourseHandsOnSimulationTasks teacherOpenCourseHandsOnSimulationTasks = teacherOpenCourseHandsOnSimulationTasksService.queryById(taskId); + HandsOnTaskProblemVo objectiveProblem = getObjectiveProblem(teacherOpenCourseHandsOnSimulationTasks.getTaskList()); + teacherOpenCourseHandsOnSimulationTasks.setHandsOnTaskProblemVo(objectiveProblem); view.addObject("teacherOpenCourseHandsOnSimulationTasks", teacherOpenCourseHandsOnSimulationTasks); }else { view.addObject("teacherOpenCourseHandsOnSimulationTasks", new TeacherOpenCourseHandsOnSimulationTasks()); @@ -171,6 +176,8 @@ public class TeacherOpenCourseHandsOnSimulationTasksController{ @Function("teacherOpenCourseHandsOnSimulationTasks.query") public JsonResultqueryInfo(Long taskId) { TeacherOpenCourseHandsOnSimulationTasks teacherOpenCourseHandsOnSimulationTasks = teacherOpenCourseHandsOnSimulationTasksService.queryById( taskId); + HandsOnTaskProblemVo objectiveProblem = getObjectiveProblem(teacherOpenCourseHandsOnSimulationTasks.getTaskList()); + teacherOpenCourseHandsOnSimulationTasks.setHandsOnTaskProblemVo(objectiveProblem); return JsonResult.success(teacherOpenCourseHandsOnSimulationTasks); } @@ -228,6 +235,16 @@ public class TeacherOpenCourseHandsOnSimulationTasksController{ } + /** + * 获取题目的类型及数量 + * @param problemIds + * @return + */ + @GetMapping(MODEL + "/getObjectiveProblem.do") + public HandsOnTaskProblemVo getObjectiveProblem(String problemIds) { + return teacherOpenCourseHandsOnSimulationTasksService.getObjectiveProblem(problemIds); + } + }