From 058dd77c963007b4cd61afceda54b2f15757e0ab Mon Sep 17 00:00:00 2001 From: wgf <121463602@qq.com> Date: Sun, 13 Aug 2023 17:07:39 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=88=91=E7=9A=84=E8=AF=BE=E7=A8=8B-?= =?UTF-8?q?=E5=AE=9E=E6=93=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ibeetl/jlw/entity/HandsOnAchievement.java | 5 +- .../jlw/entity/StudentHandsOnTaskLog.java | 13 ++ .../jlw/entity/StudentHandsOnTaskPpt.java | 13 ++ .../jlw/entity/StudentHandsOnTaskReport.java | 13 ++ .../jlw/entity/StudentHandsOnTaskStep.java | 13 ++ .../jlw/entity/StudentHandsOnTaskTheory.java | 13 ++ .../jlw/entity/StudentHandsOnTaskVideo.java | 13 ++ .../ibeetl/jlw/service/HandsOnService.java | 5 + .../service/StudentHandsOnTaskLogService.java | 58 ++++++++ .../service/StudentHandsOnTaskPptService.java | 17 ++- .../StudentHandsOnTaskReportService.java | 9 +- .../StudentHandsOnTaskStepService.java | 13 +- .../StudentHandsOnTaskTheoryService.java | 99 +++++++++++++- .../StudentHandsOnTaskVideoService.java | 16 ++- .../TeacherOpenCourseHandsOnService.java | 127 ++++++++++++++++++ ...enCourseHandsOnSimulationTasksService.java | 32 ++++- .../web/StudentHandsOnTaskLogController.java | 2 +- .../StudentHandsOnTaskReportController.java | 4 + .../StudentHandsOnTaskTheoryController.java | 2 +- .../TeacherOpenCourseHandsOnController.java | 13 ++ ...ourseHandsOnSimulationTasksController.java | 7 + .../web/query/StudentHandsOnTaskLogQuery.java | 12 ++ .../web/query/StudentHandsOnTaskPptQuery.java | 11 ++ .../query/StudentHandsOnTaskReportQuery.java | 14 ++ .../query/StudentHandsOnTaskStepQuery.java | 14 ++ .../query/StudentHandsOnTaskTheoryQuery.java | 14 ++ .../query/StudentHandsOnTaskVideoQuery.java | 12 ++ .../sql/jlw/studentHandsOnTaskPpt.md | 3 + .../sql/jlw/studentHandsOnTaskReport.md | 3 + .../sql/jlw/studentHandsOnTaskStep.md | 3 + .../sql/jlw/studentHandsOnTaskTheory.md | 3 + .../sql/jlw/studentHandsOnTaskVideo.md | 3 + 32 files changed, 560 insertions(+), 19 deletions(-) diff --git a/web/src/main/java/com/ibeetl/jlw/entity/HandsOnAchievement.java b/web/src/main/java/com/ibeetl/jlw/entity/HandsOnAchievement.java index ff62e76a..e070c137 100644 --- a/web/src/main/java/com/ibeetl/jlw/entity/HandsOnAchievement.java +++ b/web/src/main/java/com/ibeetl/jlw/entity/HandsOnAchievement.java @@ -83,6 +83,9 @@ public class HandsOnAchievement extends BaseEntity{ * 课程类型 (1教师开课 2系统授权) */ private Integer courseType; - + /** + * 是否课程中心 (1我的课程 2课程中心) + */ + private Integer isCourseCentre; } diff --git a/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskLog.java b/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskLog.java index 1325cd34..6d3b3f82 100644 --- a/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskLog.java +++ b/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskLog.java @@ -60,6 +60,11 @@ public class StudentHandsOnTaskLog extends BaseEntity{ * 课程类型 (1教师开课 2系统授权) */ private Integer courseType; + + /** + * 是否课程中心 (1我的课程 2课程中心) + */ + private Integer isCourseCentre; public StudentHandsOnTaskLog(){ } @@ -204,4 +209,12 @@ public class StudentHandsOnTaskLog extends BaseEntity{ public void setCourseType(Integer courseType) { this.courseType = courseType; } + + public Integer getIsCourseCentre() { + return isCourseCentre; + } + + public void setIsCourseCentre(Integer isCourseCentre) { + this.isCourseCentre = isCourseCentre; + } } diff --git a/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskPpt.java b/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskPpt.java index c93cb6d5..79bb7394 100644 --- a/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskPpt.java +++ b/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskPpt.java @@ -75,6 +75,11 @@ public class StudentHandsOnTaskPpt extends BaseEntity{ */ private Integer courseType; + /** + * 是否课程中心 (1我的课程 2课程中心) + */ + private Integer isCourseCentre; + public StudentHandsOnTaskPpt(){ } @@ -236,4 +241,12 @@ public class StudentHandsOnTaskPpt extends BaseEntity{ public void setCourseType(Integer courseType) { this.courseType = courseType; } + + public Integer getIsCourseCentre() { + return isCourseCentre; + } + + public void setIsCourseCentre(Integer isCourseCentre) { + this.isCourseCentre = isCourseCentre; + } } diff --git a/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskReport.java b/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskReport.java index 5518a775..cb06451e 100644 --- a/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskReport.java +++ b/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskReport.java @@ -78,6 +78,11 @@ public class StudentHandsOnTaskReport extends BaseEntity{ */ private Integer courseType; + /** + * 是否课程中心 (1我的课程 2课程中心) + */ + private Integer isCourseCentre; + public StudentHandsOnTaskReport(){ } @@ -261,4 +266,12 @@ public class StudentHandsOnTaskReport extends BaseEntity{ public void setCourseType(Integer courseType) { this.courseType = courseType; } + + public Integer getIsCourseCentre() { + return isCourseCentre; + } + + public void setIsCourseCentre(Integer isCourseCentre) { + this.isCourseCentre = isCourseCentre; + } } diff --git a/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskStep.java b/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskStep.java index f498ff0a..05dbb084 100644 --- a/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskStep.java +++ b/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskStep.java @@ -78,6 +78,11 @@ public class StudentHandsOnTaskStep extends BaseEntity{ */ private Integer courseType; + /** + * 是否课程中心 (1我的课程 2课程中心) + */ + private Integer isCourseCentre; + public StudentHandsOnTaskStep(){ } @@ -239,4 +244,12 @@ public class StudentHandsOnTaskStep extends BaseEntity{ public void setCourseType(Integer courseType) { this.courseType = courseType; } + + public Integer getIsCourseCentre() { + return isCourseCentre; + } + + public void setIsCourseCentre(Integer isCourseCentre) { + this.isCourseCentre = isCourseCentre; + } } diff --git a/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskTheory.java b/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskTheory.java index 25aa8920..df273d11 100644 --- a/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskTheory.java +++ b/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskTheory.java @@ -83,6 +83,11 @@ public class StudentHandsOnTaskTheory extends BaseEntity{ */ private Integer courseType; + /** + * 是否课程中心 (1我的课程 2课程中心) + */ + private Integer isCourseCentre; + public StudentHandsOnTaskTheory(){ } @@ -288,4 +293,12 @@ public class StudentHandsOnTaskTheory extends BaseEntity{ public void setCourseType(Integer courseType) { this.courseType = courseType; } + + public Integer getIsCourseCentre() { + return isCourseCentre; + } + + public void setIsCourseCentre(Integer isCourseCentre) { + this.isCourseCentre = isCourseCentre; + } } diff --git a/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskVideo.java b/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskVideo.java index 505f9871..f7c91f47 100644 --- a/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskVideo.java +++ b/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskVideo.java @@ -76,6 +76,11 @@ public class StudentHandsOnTaskVideo extends BaseEntity{ */ private Integer courseType; + /** + * 是否课程中心 (1我的课程 2课程中心) + */ + private Integer isCourseCentre; + public StudentHandsOnTaskVideo(){ } @@ -238,4 +243,12 @@ public class StudentHandsOnTaskVideo extends BaseEntity{ public void setCourseType(Integer courseType) { this.courseType = courseType; } + + public Integer getIsCourseCentre() { + return isCourseCentre; + } + + public void setIsCourseCentre(Integer isCourseCentre) { + this.isCourseCentre = isCourseCentre; + } } diff --git a/web/src/main/java/com/ibeetl/jlw/service/HandsOnService.java b/web/src/main/java/com/ibeetl/jlw/service/HandsOnService.java index adea53d2..f8939d4a 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/HandsOnService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/HandsOnService.java @@ -333,6 +333,7 @@ public class HandsOnService extends CoreBaseService{ videoQuery.setHandsOnTaskId(taskId); videoQuery.setStudentId(studentId); videoQuery.setCourseType(2); + videoQuery.setIsCourseCentre(2); List videoList = videoService.getValuesByQueryNotWithPermission(videoQuery); if (CollectionUtils.isNotEmpty(videoList)) { StudentHandsOnTaskVideo studentHandsOnTaskVideo = videoList.get(0); @@ -345,6 +346,7 @@ public class HandsOnService extends CoreBaseService{ pptQuery.setHandsOnTaskId(taskId); pptQuery.setStudentId(studentId); pptQuery.setCourseType(2); + pptQuery.setIsCourseCentre(2); List pptList = pptService.getValuesByQueryNotWithPermission(pptQuery); if (CollectionUtils.isNotEmpty(pptList)) { StudentHandsOnTaskPpt studentHandsOnTaskPpt = pptList.get(0); @@ -357,6 +359,7 @@ public class HandsOnService extends CoreBaseService{ theoryQuery.setHandsOnTaskId(taskId); theoryQuery.setStudentId(studentId); theoryQuery.setCourseType(2); + theoryQuery.setIsCourseCentre(2); List taskTheoryList = theoryService.getValuesByQueryNotWithPermission(theoryQuery); if (CollectionUtils.isNotEmpty(taskTheoryList)) { BigDecimal videoScore = taskTheoryList.stream().map(StudentHandsOnTaskTheory::getTheoryScore).reduce(BigDecimal.ZERO, BigDecimal::add); @@ -368,6 +371,7 @@ public class HandsOnService extends CoreBaseService{ stepQuery.setHandsOnTaskId(taskId); stepQuery.setStudentId(studentId); stepQuery.setCourseType(2); + stepQuery.setIsCourseCentre(2); List stepList = stepService.getValuesByQueryNotWithPermission(stepQuery); if (CollectionUtils.isNotEmpty(stepList)) { StudentHandsOnTaskStep taskTheory = stepList.get(0); @@ -380,6 +384,7 @@ public class HandsOnService extends CoreBaseService{ reportQuery.setHandsOnTaskId(taskId); reportQuery.setStudentId(studentId); reportQuery.setCourseType(2); + reportQuery.setIsCourseCentre(2); List reportList = reportService.getValuesByQueryNotWithPermission(reportQuery); if (CollectionUtils.isNotEmpty(reportList)) { StudentHandsOnTaskReport taskTheory = reportList.get(0); diff --git a/web/src/main/java/com/ibeetl/jlw/service/StudentHandsOnTaskLogService.java b/web/src/main/java/com/ibeetl/jlw/service/StudentHandsOnTaskLogService.java index fb8b2265..9a3c6c44 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/StudentHandsOnTaskLogService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/StudentHandsOnTaskLogService.java @@ -168,6 +168,7 @@ public class StudentHandsOnTaskLogService extends CoreBaseService valuesByQueryNotWithPermission = getValuesByQueryNotWithPermission(logQuery); + if (CollectionUtil.isNotEmpty(valuesByQueryNotWithPermission)) { + studentHandsOnTaskLog = valuesByQueryNotWithPermission.get(0); + studentHandsOnTaskLogDao.updateTime(studentHandsOnTaskLog.getStudentHandsOnTaskPptId(),taskLogSeconds); + } else { + studentHandsOnTaskLog.setCreateTime(now); + studentHandsOnTaskLog.setLastUpdateTime(now); + studentHandsOnTaskLog.setAllTime(taskLogSeconds); + studentHandsOnTaskLogDao.insert(studentHandsOnTaskLog); + } + JsonResult jsonResult = new JsonResult(); + jsonResult.setData(studentHandsOnTaskLog.getStudentHandsOnTaskPptId());//自增的ID丢进去 + + studentHandsOnTaskLogQuery.setStudentHandsOnTaskPptId(studentHandsOnTaskLog.getStudentHandsOnTaskPptId()); + jsonResult.setCode(JsonReturnCode.SUCCESS.getCode()); + jsonResult.setMsg(msg); + return jsonResult; + + } + + + /** + * 课程中心添加(授权课程+开课课程) 学生实操日志 + * @param studentHandsOnTaskLogQuery + * @param coreUser + * @return + */ + public JsonResult addCourseCentreTaskLog(StudentHandsOnTaskLogQuery studentHandsOnTaskLogQuery, CoreUser coreUser) { + if (!coreUser.isStudent()) { + return JsonResult.success(); + } + Date now = new Date(); + Student student = studentService.getByUserId(coreUser.getId()); + studentHandsOnTaskLogQuery.setStudentId(student.getStudentId()); + studentHandsOnTaskLogQuery.setIsCourseCentre(2); + String msg = ""; + StudentHandsOnTaskLog studentHandsOnTaskLog = studentHandsOnTaskLogQuery.pojo(); + Long studentId = studentHandsOnTaskLog.getStudentId(); + Long handsOnTaskId = studentHandsOnTaskLog.getHandsOnTaskId(); + Long taskLogSeconds = 0L; + if (studentHandsOnTaskLogQuery.getTaskType() != null) { + switch (studentHandsOnTaskLogQuery.getTaskType()) { + case TASK_PPT: + taskLogSeconds = StudentHandsOnTaskConstant.PPT_TASK_LOG_SECONDS; + break; + case TASK_VIDEO: + taskLogSeconds = StudentHandsOnTaskConstant.VIDEO_TASK_LOG_SECONDS; + break; + } + } + + + StudentHandsOnTaskLogQuery logQuery = new StudentHandsOnTaskLogQuery(); + logQuery.setStudentId(studentId); + logQuery.setHandsOnTaskId(handsOnTaskId); + logQuery.setIsCourseCentre(2); List valuesByQueryNotWithPermission = getValuesByQueryNotWithPermission(logQuery); if (CollectionUtil.isNotEmpty(valuesByQueryNotWithPermission)) { studentHandsOnTaskLog = valuesByQueryNotWithPermission.get(0); diff --git a/web/src/main/java/com/ibeetl/jlw/service/StudentHandsOnTaskPptService.java b/web/src/main/java/com/ibeetl/jlw/service/StudentHandsOnTaskPptService.java index 73feccc7..de8611fd 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/StudentHandsOnTaskPptService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/StudentHandsOnTaskPptService.java @@ -157,6 +157,7 @@ public class StudentHandsOnTaskPptService extends CoreBaseService selectLog = studentHandsOnTaskLogService.createLambdaQuery() .andEq(StudentHandsOnTaskLog::getHandsOnTaskId, studentHandsOnTaskPpt.getHandsOnTaskId()) + .andEq(StudentHandsOnTaskLog::getIsCourseCentre,1) .andEq(StudentHandsOnTaskLog::getStudentId, student.getStudentId()).select(); if (CollectionUtil.isNotEmpty(selectLog)) { @@ -205,6 +207,7 @@ public class StudentHandsOnTaskPptService extends CoreBaseService selectLog = studentHandsOnTaskLogService.createLambdaQuery() .andEq(StudentHandsOnTaskLog::getHandsOnTaskId, studentHandsOnTaskPpt.getHandsOnTaskId()) .andEq(StudentHandsOnTaskLog::getCourseType, studentHandsOnTaskPpt.getCourseType()) + .andEq(StudentHandsOnTaskLog::getIsCourseCentre,2) .andEq(StudentHandsOnTaskLog::getStudentId, student.getStudentId()).select(); if (CollectionUtil.isNotEmpty(selectLog)) { @@ -299,6 +304,7 @@ public class StudentHandsOnTaskPptService extends CoreBaseService> list = new ArrayList<>(); for (TeacherOpenCourseHandsOnSimulationTasksFile file : videoFile) { Map map = new HashMap<>(); @@ -626,6 +636,7 @@ public class StudentHandsOnTaskPptService extends CoreBaseService theoryList = this.sqlManager.lambdaQuery(StudentHandsOnTaskTheory.class) .andEq(StudentHandsOnTaskTheory::getHandsOnTaskId, taskId) .andEq(StudentHandsOnTaskTheory::getCourseType,1) + .andEq(StudentHandsOnTaskTheory::getIsCourseCentre,1) + .andEq(StudentHandsOnTaskTheory::getStudentId, student.getStudentId()).select(); + TeacherOpenCourseHandsOnSimulationTasksQuery tasksQuery = new TeacherOpenCourseHandsOnSimulationTasksQuery(); + tasksQuery.setTaskId(taskId); + List tasksList = teacherOpenCourseHandsOnSimulationTasksService.getValuesByQueryNotWithPermission(tasksQuery); + if (CollectionUtils.isEmpty(tasksList)) { + return JsonResult.fail(); + } + TeacherOpenCourseHandsOnSimulationTasks tasks = tasksList.get(0); + String taskList = tasks.getTaskList(); + TeacherOpenCourseMergeResourcesQuestionQuery questionQuery = new TeacherOpenCourseMergeResourcesQuestionQuery(); + questionQuery.setTeacherOpenCourseMergeResourcesQuestionIdPlural(taskList); + List resourcesQuestions = teacherOpenCourseMergeResourcesQuestionService.getValuesByQueryNotWithPermission(questionQuery); + if (CollectionUtils.isEmpty(resourcesQuestions)) { + return JsonResult.success(resourcesQuestions); + } + if (i == 1) { + Collections.shuffle(resourcesQuestions); + } + for (TeacherOpenCourseMergeResourcesQuestion resourcesQuestion : resourcesQuestions) { + if (CollectionUtils.isNotEmpty(theoryList)) { + StudentHandsOnTaskTheory taskTheory = theoryList.stream().filter(v -> v.getOrgId().equals(resourcesQuestion.getTeacherOpenCourseMergeResourcesQuestionId())) + .filter(v -> v.getStudentId().equals(student.getStudentId())).filter(v -> v.getHandsOnTaskId().equals(taskId)).findFirst().orElse(null); + if (taskTheory == null) { + resourcesQuestion.set("myOptions", ""); +// resourcesQuestion.set("studentScore", 0D); + resourcesQuestion.setStudentScore(BigDecimal.ZERO); + } else { + resourcesQuestion.set("myOptions", taskTheory.getMyOptions()); +// resourcesQuestion.set("studentScore", taskTheory.getTheoryScore()); + resourcesQuestion.setStudentScore(ObjectUtil.isEmpty(taskTheory.getMyOptions()) ? BigDecimal.ZERO : taskTheory.getTheoryScore()); + } + + } + if (i == 1) { + resourcesQuestion.setQuestionAnswer(""); + resourcesQuestion.setQuestionAnalysis(""); + resourcesQuestion.set("myOptions", ""); + } + resourcesQuestion.set("taskId", taskId); + } + if (CollectionUtils.isEmpty(mergeResourcesQuestions) && i == 1 && CollectionUtils.isEmpty(theoryList)) { + Map map1 = new HashMap<>(); + map1.put("resourcesQuestions", resourcesQuestions); + Record record = new Record(); + record.setStudentId(student.getStudentId()); + record.setTaskId(taskId); + Date date = new Date(); + record.setStartTime(date); + record.setEndTime(DateUtil.offsetHour(date, 3)); + map1.put("record", record); + questions.put(s, map1); + HandsOnTaskQueue.addDelayQueueDate(record); + } + return JsonResult.success(resourcesQuestions); + } + + + /** + * 课程中心 理论测评查询学生做题详情 - 开课 + * @param taskId + * @param coreUser + * @param i + * @return + */ + public JsonResult> getCourseCentreHandsOnTaskkTheoryByTaskId(Long taskId, CoreUser coreUser, int i) { + //查询登录用的学生id + if (!coreUser.isStudent()) { + return null; + } + Student student = studentService.getByUserId(coreUser.getId()); + String s = student.getStudentId() + "&" + taskId; + Map map = questions.get(s); + List mergeResourcesQuestions = MapUtil.get(map, "resourcesQuestions", new TypeReference>() { + }); + if (CollectionUtils.isNotEmpty(mergeResourcesQuestions)) { + return JsonResult.success(mergeResourcesQuestions); + } + List theoryList = this.sqlManager.lambdaQuery(StudentHandsOnTaskTheory.class) + .andEq(StudentHandsOnTaskTheory::getHandsOnTaskId, taskId) + .andEq(StudentHandsOnTaskTheory::getCourseType,1) + .andEq(StudentHandsOnTaskTheory::getIsCourseCentre,2) .andEq(StudentHandsOnTaskTheory::getStudentId, student.getStudentId()).select(); TeacherOpenCourseHandsOnSimulationTasksQuery tasksQuery = new TeacherOpenCourseHandsOnSimulationTasksQuery(); tasksQuery.setTaskId(taskId); @@ -478,6 +560,7 @@ public class StudentHandsOnTaskTheoryService extends CoreBaseService theoryList = this.sqlManager.lambdaQuery(StudentHandsOnTaskTheory.class) .andEq(StudentHandsOnTaskTheory::getHandsOnTaskId, taskId) .andEq(StudentHandsOnTaskTheory::getCourseType,2) + .andEq(StudentHandsOnTaskTheory::getIsCourseCentre,2) .andEq(StudentHandsOnTaskTheory::getStudentId, student.getStudentId()).select(); HandsOnSimulationTasksQuery tasksQuery = new HandsOnSimulationTasksQuery(); tasksQuery.setTaskId(taskId); @@ -558,6 +641,7 @@ public class StudentHandsOnTaskTheoryService extends CoreBaseService theoryList = this.sqlManager.lambdaQuery(StudentHandsOnTaskTheory.class) .andEq(StudentHandsOnTaskTheory::getHandsOnTaskId, taskId) .andEq(StudentHandsOnTaskTheory::getCourseType, courseType) + .andEq(StudentHandsOnTaskTheory::getIsCourseCentre,2) .andEq(StudentHandsOnTaskTheory::getStudentId, student.getStudentId()).select(); if (CollectionUtils.isNotEmpty(theoryList)) { @@ -729,7 +813,9 @@ public class StudentHandsOnTaskTheoryService extends CoreBaseService theoryList = this.sqlManager.lambdaQuery(StudentHandsOnTaskTheory.class).andEq(StudentHandsOnTaskTheory::getHandsOnTaskId, taskId) + List theoryList = this.sqlManager.lambdaQuery(StudentHandsOnTaskTheory.class) + .andEq(StudentHandsOnTaskTheory::getHandsOnTaskId, taskId) + .andEq(StudentHandsOnTaskTheory::getIsCourseCentre,1) .andEq(StudentHandsOnTaskTheory::getStudentId, student.getStudentId()).select(); if (CollectionUtils.isNotEmpty(theoryList)) { return JsonResult.fail("已提交,重复提交"); @@ -796,6 +882,7 @@ public class StudentHandsOnTaskTheoryService extends CoreBaseService theoryList = this.sqlManager.lambdaQuery(StudentHandsOnTaskTheory.class).andEq(StudentHandsOnTaskTheory::getHandsOnTaskId, taskId) .andEq(StudentHandsOnTaskTheory::getCourseType, courseType) + .andEq(StudentHandsOnTaskTheory::getIsCourseCentre,2) .andEq(StudentHandsOnTaskTheory::getStudentId, student.getStudentId()).select(); if (CollectionUtils.isNotEmpty(theoryList)) { return JsonResult.fail("已提交,重复提交"); @@ -945,6 +1034,7 @@ public class StudentHandsOnTaskTheoryService extends CoreBaseService theoryList = this.sqlManager.lambdaQuery(StudentHandsOnTaskTheory.class).andEq(StudentHandsOnTaskTheory::getHandsOnTaskId, taskId) + List theoryList = this.sqlManager.lambdaQuery(StudentHandsOnTaskTheory.class) + .andEq(StudentHandsOnTaskTheory::getHandsOnTaskId, taskId) + .andEq(StudentHandsOnTaskTheory::getIsCourseCentre,1) .andEq(StudentHandsOnTaskTheory::getStudentId, student.getStudentId()).select(); if (CollectionUtils.isNotEmpty(theoryList)) { return JsonResult.success(true); @@ -1080,6 +1174,7 @@ public class StudentHandsOnTaskTheoryService extends CoreBaseService theoryList = this.sqlManager.lambdaQuery(StudentHandsOnTaskTheory.class) .andEq(StudentHandsOnTaskTheory::getHandsOnTaskId, taskId) .andEq(StudentHandsOnTaskTheory::getCourseType, courseType) + .andEq(StudentHandsOnTaskTheory::getIsCourseCentre,2) .andEq(StudentHandsOnTaskTheory::getStudentId, student.getStudentId()).select(); if (CollectionUtils.isNotEmpty(theoryList)) { return JsonResult.success(true); diff --git a/web/src/main/java/com/ibeetl/jlw/service/StudentHandsOnTaskVideoService.java b/web/src/main/java/com/ibeetl/jlw/service/StudentHandsOnTaskVideoService.java index e4ba7b2d..c4b9797f 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/StudentHandsOnTaskVideoService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/StudentHandsOnTaskVideoService.java @@ -158,6 +158,7 @@ public class StudentHandsOnTaskVideoService extends CoreBaseService selectLog = studentHandsOnTaskLogService.createLambdaQuery() .andEq(StudentHandsOnTaskLog::getHandsOnTaskId, studentHandsOnTaskVideo.getHandsOnTaskId()) + .andEq(StudentHandsOnTaskLog::getIsCourseCentre,1) .andEq(StudentHandsOnTaskLog::getStudentId, student.getStudentId()).select(); if (CollectionUtil.isNotEmpty(selectLog)) { //讲道理只会有一个 @@ -203,6 +205,7 @@ public class StudentHandsOnTaskVideoService extends CoreBaseService selectLog = studentHandsOnTaskLogService.createLambdaQuery() .andEq(StudentHandsOnTaskLog::getHandsOnTaskId, studentHandsOnTaskVideo.getHandsOnTaskId()) .andEq(StudentHandsOnTaskLog::getCourseType, studentHandsOnTaskVideo.getCourseType()) + .andEq(StudentHandsOnTaskLog::getIsCourseCentre,2) .andEq(StudentHandsOnTaskLog::getStudentId, student.getStudentId()).select(); if (CollectionUtil.isNotEmpty(selectLog)) { //讲道理只会有一个 @@ -294,6 +299,7 @@ public class StudentHandsOnTaskVideoService extends CoreBaseService> list = new ArrayList<>(); for (TeacherOpenCourseHandsOnSimulationTasksFile file : videoFile) { Map map = new HashMap<>(); @@ -616,6 +626,7 @@ public class StudentHandsOnTaskVideoService extends CoreBaseService videoList = videoService.getValuesByQueryNotWithPermission(videoQuery); if (CollectionUtils.isNotEmpty(videoList)) { StudentHandsOnTaskVideo studentHandsOnTaskVideo = videoList.get(0); @@ -532,6 +533,7 @@ public class TeacherOpenCourseHandsOnService extends CoreBaseService pptList = pptService.getValuesByQueryNotWithPermission(pptQuery); if (CollectionUtils.isNotEmpty(pptList)) { StudentHandsOnTaskPpt studentHandsOnTaskPpt = pptList.get(0); @@ -544,6 +546,7 @@ public class TeacherOpenCourseHandsOnService extends CoreBaseService taskTheoryList = theoryService.getValuesByQueryNotWithPermission(theoryQuery); if (CollectionUtils.isNotEmpty(taskTheoryList)) { BigDecimal videoScore = taskTheoryList.stream().map(StudentHandsOnTaskTheory::getTheoryScore).reduce(BigDecimal.ZERO, BigDecimal::add); @@ -555,6 +558,7 @@ public class TeacherOpenCourseHandsOnService extends CoreBaseService stepList = stepService.getValuesByQueryNotWithPermission(stepQuery); if (CollectionUtils.isNotEmpty(stepList)) { StudentHandsOnTaskStep taskTheory = stepList.get(0); @@ -567,6 +571,129 @@ public class TeacherOpenCourseHandsOnService extends CoreBaseService reportList = reportService.getValuesByQueryNotWithPermission(reportQuery); + if (CollectionUtils.isNotEmpty(reportList)) { + StudentHandsOnTaskReport taskTheory = reportList.get(0); + BigDecimal videoScore = taskTheory.getReportScore(); + bigDecimal = bigDecimal.add(videoScore == null ? BigDecimal.ZERO : videoScore); + decimal = decimal.add(BigDecimal.ONE); + } + } + } + int schedule = NumberUtil.div(decimal, BigDecimal.valueOf(tasks.size()), 2).multiply(BigDecimal.valueOf(100)).intValue(); + studentHandsOnVO.setSchedule(schedule); + } else { + studentHandsOnVO.setSchedule(0); + } + studentHandsOnVO.setStudentScore(bigDecimal); + studentHandsOnVOS.add(studentHandsOnVO); + } + + return JsonResult.success(studentHandsOnVOS); + } + + + + /** + * 查询课程实操-课程中心 + * + * @param teacherOpenCourseId + * @param coreUser + * @return + */ + public JsonResult> getCourseCentreHandsListByOpenCourseIdAndStudent(Long teacherOpenCourseId, CoreUser coreUser) { + Long userId = coreUser.getId(); + Student student = studentService.getByUserId(userId); + if (student == null) { + return JsonResult.fail(); + } + Long studentId = student.getStudentId(); + TeacherOpenCourseHandsOnQuery handsOnQuery = new TeacherOpenCourseHandsOnQuery(); + handsOnQuery.setTeacherOpenCourseId(teacherOpenCourseId); + List handsOnList = this.getValuesByQueryNotWithPermission(handsOnQuery); + List tasksList = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(handsOnList)) { + List handIds = handsOnList.stream().map(TeacherOpenCourseHandsOn::getHandsOnId).collect(Collectors.toList()); + TeacherOpenCourseHandsOnSimulationTasksQuery tasksQuery = new TeacherOpenCourseHandsOnSimulationTasksQuery(); + tasksQuery.setHandsOnIdPlural(CollectionUtil.join(handIds, ",")); + tasksList = teacherOpenCourseHandsOnSimulationTasksService.getValuesByQueryNotWithPermission(tasksQuery); + + } + List studentHandsOnVOS = new ArrayList<>(); + for (TeacherOpenCourseHandsOn handsOn : handsOnList) { + StudentHandsOnVO studentHandsOnVO = new StudentHandsOnVO(); + Long handsOnId = handsOn.getHandsOnId(); + studentHandsOnVO.setChapterId(handsOn.getCourseChildNode()); + studentHandsOnVO.setTeacherOpenCourseId(handsOn.getTeacherOpenCourseId()); + List tasks = tasksList.stream().filter(v -> v.getHandsOnId().equals(handsOnId)).collect(Collectors.toList()); + studentHandsOnVO.setHandsOnId(handsOnId); + studentHandsOnVO.setHandsOnName(handsOn.getHandsOnName()); + studentHandsOnVO.setHandsOnTaskNum(tasks.size()); + //总分 + BigDecimal bigDecimal = BigDecimal.ZERO; + if (CollectionUtils.isNotEmpty(tasks)) { + //做题数 + BigDecimal decimal = BigDecimal.ZERO; + for (TeacherOpenCourseHandsOnSimulationTasks task : tasks) { + Long taskId = task.getTaskId(); + if (HandsOnTaskEnum.TASK_VIDEO.status.equals(task.getTaskType())) { + StudentHandsOnTaskVideoQuery videoQuery = new StudentHandsOnTaskVideoQuery(); + videoQuery.setHandsOnTaskId(taskId); + videoQuery.setStudentId(studentId); + videoQuery.setCourseType(1); + videoQuery.setIsCourseCentre(2); + List videoList = videoService.getValuesByQueryNotWithPermission(videoQuery); + if (CollectionUtils.isNotEmpty(videoList)) { + StudentHandsOnTaskVideo studentHandsOnTaskVideo = videoList.get(0); + BigDecimal videoScore = studentHandsOnTaskVideo.getVideoScore(); + bigDecimal = bigDecimal.add(videoScore == null ? BigDecimal.ZERO : videoScore); + decimal = decimal.add(BigDecimal.ONE); + } + } else if (HandsOnTaskEnum.TASK_PPT.status.equals(task.getTaskType())) { + StudentHandsOnTaskPptQuery pptQuery = new StudentHandsOnTaskPptQuery(); + pptQuery.setHandsOnTaskId(taskId); + pptQuery.setStudentId(studentId); + pptQuery.setCourseType(1); + pptQuery.setIsCourseCentre(2); + List pptList = pptService.getValuesByQueryNotWithPermission(pptQuery); + if (CollectionUtils.isNotEmpty(pptList)) { + StudentHandsOnTaskPpt studentHandsOnTaskPpt = pptList.get(0); + BigDecimal videoScore = studentHandsOnTaskPpt.getPptScore(); + bigDecimal = bigDecimal.add(videoScore == null ? BigDecimal.ZERO : videoScore); + decimal = decimal.add(BigDecimal.ONE); + } + } else if (HandsOnTaskEnum.TASK_THEORY.status.equals(task.getTaskType())) { + StudentHandsOnTaskTheoryQuery theoryQuery = new StudentHandsOnTaskTheoryQuery(); + theoryQuery.setHandsOnTaskId(taskId); + theoryQuery.setStudentId(studentId); + theoryQuery.setCourseType(1); + theoryQuery.setIsCourseCentre(2); + List taskTheoryList = theoryService.getValuesByQueryNotWithPermission(theoryQuery); + if (CollectionUtils.isNotEmpty(taskTheoryList)) { + BigDecimal videoScore = taskTheoryList.stream().map(StudentHandsOnTaskTheory::getTheoryScore).reduce(BigDecimal.ZERO, BigDecimal::add); + bigDecimal = bigDecimal.add(videoScore == null ? BigDecimal.ZERO : videoScore); + decimal = decimal.add(BigDecimal.ONE); + } + } else if (HandsOnTaskEnum.TASK_PRACTICAL_TRAINING.status.equals(task.getTaskType())) { + StudentHandsOnTaskStepQuery stepQuery = new StudentHandsOnTaskStepQuery(); + stepQuery.setHandsOnTaskId(taskId); + stepQuery.setStudentId(studentId); + stepQuery.setCourseType(1); + stepQuery.setIsCourseCentre(2); + List stepList = stepService.getValuesByQueryNotWithPermission(stepQuery); + if (CollectionUtils.isNotEmpty(stepList)) { + StudentHandsOnTaskStep taskTheory = stepList.get(0); + BigDecimal videoScore = taskTheory.getTheoryScore(); + bigDecimal = bigDecimal.add(videoScore == null ? BigDecimal.ZERO : videoScore); + decimal = decimal.add(BigDecimal.ONE); + } + } else if (HandsOnTaskEnum.TASK_REPORT_WRITING.status.equals(task.getTaskType())) { + StudentHandsOnTaskReportQuery reportQuery = new StudentHandsOnTaskReportQuery(); + reportQuery.setHandsOnTaskId(taskId); + reportQuery.setStudentId(studentId); + reportQuery.setCourseType(1); + reportQuery.setIsCourseCentre(2); List reportList = reportService.getValuesByQueryNotWithPermission(reportQuery); if (CollectionUtils.isNotEmpty(reportList)) { StudentHandsOnTaskReport taskTheory = reportList.get(0); 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 2a01fe03..fe841fde 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseHandsOnSimulationTasksService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseHandsOnSimulationTasksService.java @@ -593,41 +593,47 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ StudentHandsOnTaskLogQuery logQuery = new StudentHandsOnTaskLogQuery(); logQuery.setHandsOnTaskId(taskId); logQuery.setStudentId(studentId); + logQuery.setIsCourseCentre(1); List handsOnTaskLogs = null; if (HandsOnTaskEnum.TASK_VIDEO.status.equals(task.getTaskType())) { StudentHandsOnTaskVideoQuery videoQuery = new StudentHandsOnTaskVideoQuery(); videoQuery.setHandsOnTaskId(taskId); videoQuery.setStudentId(studentId); + videoQuery.setIsCourseCentre(1); List videoList = studentHandsOnTaskVideoService.getValuesByQueryNotWithPermission(videoQuery); if (CollectionUtils.isNotEmpty(videoList)) { StudentHandsOnTaskVideo studentHandsOnTaskVideo = videoList.get(0); BigDecimal videoScore = studentHandsOnTaskVideo.getVideoScore(); handsOnTaskScoreVO.setScore(videoScore == null ? 0 : videoScore.doubleValue()); bigDecimal = bigDecimal.add(videoScore == null ? BigDecimal.ZERO : videoScore); + handsOnTaskLogs = logService.getValuesByQueryNotWithPermission(logQuery); } else { handsOnTaskScoreVO.setScore(0D); } - handsOnTaskLogs = logService.getValuesByQueryNotWithPermission(logQuery); +// handsOnTaskLogs = logService.getValuesByQueryNotWithPermission(logQuery); } else if (HandsOnTaskEnum.TASK_PPT.status.equals(task.getTaskType())) { StudentHandsOnTaskPptQuery pptQuery = new StudentHandsOnTaskPptQuery(); pptQuery.setHandsOnTaskId(taskId); pptQuery.setStudentId(studentId); + pptQuery.setIsCourseCentre(1); List pptList = studentHandsOnTaskPptService.getValuesByQueryNotWithPermission(pptQuery); if (CollectionUtils.isNotEmpty(pptList)) { StudentHandsOnTaskPpt studentHandsOnTaskPpt = pptList.get(0); BigDecimal videoScore = studentHandsOnTaskPpt.getPptScore(); handsOnTaskScoreVO.setScore(videoScore == null ? 0 : videoScore.doubleValue()); bigDecimal = bigDecimal.add(videoScore == null ? BigDecimal.ZERO : videoScore); + handsOnTaskLogs = logService.getValuesByQueryNotWithPermission(logQuery); } else { handsOnTaskScoreVO.setScore(0D); } - handsOnTaskLogs = logService.getValuesByQueryNotWithPermission(logQuery); +// handsOnTaskLogs = logService.getValuesByQueryNotWithPermission(logQuery); } else if (HandsOnTaskEnum.TASK_THEORY.status.equals(task.getTaskType())) { StudentHandsOnTaskTheoryQuery theoryQuery = new StudentHandsOnTaskTheoryQuery(); theoryQuery.setHandsOnTaskId(taskId); theoryQuery.setStudentId(studentId); + theoryQuery.setIsCourseCentre(1); List taskTheoryList = studentHandsOnTaskTheoryService.getValuesByQueryNotWithPermission(theoryQuery); if (CollectionUtils.isNotEmpty(taskTheoryList)) { BigDecimal videoScore = taskTheoryList.stream().map(StudentHandsOnTaskTheory::getTheoryScore).reduce(BigDecimal.ZERO, BigDecimal::add); @@ -640,6 +646,7 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ StudentHandsOnTaskStepQuery stepQuery = new StudentHandsOnTaskStepQuery(); stepQuery.setHandsOnTaskId(taskId); stepQuery.setStudentId(studentId); + stepQuery.setIsCourseCentre(1); List stepList = studentHandsOnTaskStepService.getValuesByQueryNotWithPermission(stepQuery); if (CollectionUtils.isNotEmpty(stepList)) { StudentHandsOnTaskStep taskTheory = stepList.get(0); @@ -653,6 +660,7 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ StudentHandsOnTaskReportQuery reportQuery = new StudentHandsOnTaskReportQuery(); reportQuery.setHandsOnTaskId(taskId); reportQuery.setStudentId(studentId); + reportQuery.setIsCourseCentre(1); List reportList = studentHandsOnTaskReportService.getValuesByQueryNotWithPermission(reportQuery); if (CollectionUtils.isNotEmpty(reportList)) { StudentHandsOnTaskReport taskTheory = reportList.get(0); @@ -714,6 +722,7 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ logQuery.setHandsOnTaskId(taskId); logQuery.setCourseType(courseType); logQuery.setStudentId(studentId); + logQuery.setIsCourseCentre(2); List handsOnTaskLogs = null; if (HandsOnTaskEnum.TASK_VIDEO.status.equals(task.getTaskType())) { @@ -721,37 +730,40 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ videoQuery.setHandsOnTaskId(taskId); videoQuery.setCourseType(courseType); videoQuery.setStudentId(studentId); + videoQuery.setIsCourseCentre(2); List videoList = studentHandsOnTaskVideoService.getValuesByQueryNotWithPermission(videoQuery); if (CollectionUtils.isNotEmpty(videoList)) { StudentHandsOnTaskVideo studentHandsOnTaskVideo = videoList.get(0); BigDecimal videoScore = studentHandsOnTaskVideo.getVideoScore(); handsOnTaskScoreVO.setScore(videoScore == null ? 0 : videoScore.doubleValue()); bigDecimal = bigDecimal.add(videoScore == null ? BigDecimal.ZERO : videoScore); + handsOnTaskLogs = logService.getValuesByQueryNotWithPermission(logQuery); } else { handsOnTaskScoreVO.setScore(0D); } - handsOnTaskLogs = logService.getValuesByQueryNotWithPermission(logQuery); } else if (HandsOnTaskEnum.TASK_PPT.status.equals(task.getTaskType())) { StudentHandsOnTaskPptQuery pptQuery = new StudentHandsOnTaskPptQuery(); pptQuery.setHandsOnTaskId(taskId); pptQuery.setCourseType(courseType); pptQuery.setStudentId(studentId); + pptQuery.setIsCourseCentre(2); List pptList = studentHandsOnTaskPptService.getValuesByQueryNotWithPermission(pptQuery); if (CollectionUtils.isNotEmpty(pptList)) { StudentHandsOnTaskPpt studentHandsOnTaskPpt = pptList.get(0); BigDecimal videoScore = studentHandsOnTaskPpt.getPptScore(); handsOnTaskScoreVO.setScore(videoScore == null ? 0 : videoScore.doubleValue()); bigDecimal = bigDecimal.add(videoScore == null ? BigDecimal.ZERO : videoScore); + handsOnTaskLogs = logService.getValuesByQueryNotWithPermission(logQuery); } else { handsOnTaskScoreVO.setScore(0D); } - handsOnTaskLogs = logService.getValuesByQueryNotWithPermission(logQuery); } else if (HandsOnTaskEnum.TASK_THEORY.status.equals(task.getTaskType())) { StudentHandsOnTaskTheoryQuery theoryQuery = new StudentHandsOnTaskTheoryQuery(); theoryQuery.setHandsOnTaskId(taskId); theoryQuery.setCourseType(courseType); theoryQuery.setStudentId(studentId); + theoryQuery.setIsCourseCentre(2); List taskTheoryList = studentHandsOnTaskTheoryService.getValuesByQueryNotWithPermission(theoryQuery); if (CollectionUtils.isNotEmpty(taskTheoryList)) { BigDecimal videoScore = taskTheoryList.stream().map(StudentHandsOnTaskTheory::getTheoryScore).reduce(BigDecimal.ZERO, BigDecimal::add); @@ -765,6 +777,7 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ stepQuery.setHandsOnTaskId(taskId); stepQuery.setCourseType(courseType); stepQuery.setStudentId(studentId); + stepQuery.setIsCourseCentre(2); List stepList = studentHandsOnTaskStepService.getValuesByQueryNotWithPermission(stepQuery); if (CollectionUtils.isNotEmpty(stepList)) { StudentHandsOnTaskStep taskTheory = stepList.get(0); @@ -779,6 +792,7 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ reportQuery.setHandsOnTaskId(taskId); reportQuery.setCourseType(courseType); reportQuery.setStudentId(studentId); + reportQuery.setIsCourseCentre(2); List reportList = studentHandsOnTaskReportService.getValuesByQueryNotWithPermission(reportQuery); if (CollectionUtils.isNotEmpty(reportList)) { StudentHandsOnTaskReport taskTheory = reportList.get(0); @@ -823,6 +837,7 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ logQuery.setHandsOnTaskId(taskId); logQuery.setCourseType(courseType); logQuery.setStudentId(studentId); + logQuery.setIsCourseCentre(2); List handsOnTaskLogs = null; if (HandsOnTaskEnum.TASK_VIDEO.status.equals(task.getTaskType())) { @@ -830,37 +845,40 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ videoQuery.setHandsOnTaskId(taskId); videoQuery.setCourseType(courseType); videoQuery.setStudentId(studentId); + videoQuery.setIsCourseCentre(2); List videoList = studentHandsOnTaskVideoService.getValuesByQueryNotWithPermission(videoQuery); if (CollectionUtils.isNotEmpty(videoList)) { StudentHandsOnTaskVideo studentHandsOnTaskVideo = videoList.get(0); BigDecimal videoScore = studentHandsOnTaskVideo.getVideoScore(); handsOnTaskScoreVO.setScore(videoScore == null ? 0 : videoScore.doubleValue()); bigDecimal = bigDecimal.add(videoScore == null ? BigDecimal.ZERO : videoScore); + handsOnTaskLogs = logService.getValuesByQueryNotWithPermission(logQuery); } else { handsOnTaskScoreVO.setScore(0D); } - handsOnTaskLogs = logService.getValuesByQueryNotWithPermission(logQuery); } else if (HandsOnTaskEnum.TASK_PPT.status.equals(task.getTaskType())) { StudentHandsOnTaskPptQuery pptQuery = new StudentHandsOnTaskPptQuery(); pptQuery.setHandsOnTaskId(taskId); pptQuery.setCourseType(courseType); pptQuery.setStudentId(studentId); + pptQuery.setIsCourseCentre(2); List pptList = studentHandsOnTaskPptService.getValuesByQueryNotWithPermission(pptQuery); if (CollectionUtils.isNotEmpty(pptList)) { StudentHandsOnTaskPpt studentHandsOnTaskPpt = pptList.get(0); BigDecimal videoScore = studentHandsOnTaskPpt.getPptScore(); handsOnTaskScoreVO.setScore(videoScore == null ? 0 : videoScore.doubleValue()); bigDecimal = bigDecimal.add(videoScore == null ? BigDecimal.ZERO : videoScore); + handsOnTaskLogs = logService.getValuesByQueryNotWithPermission(logQuery); } else { handsOnTaskScoreVO.setScore(0D); } - handsOnTaskLogs = logService.getValuesByQueryNotWithPermission(logQuery); } else if (HandsOnTaskEnum.TASK_THEORY.status.equals(task.getTaskType())) { StudentHandsOnTaskTheoryQuery theoryQuery = new StudentHandsOnTaskTheoryQuery(); theoryQuery.setHandsOnTaskId(taskId); theoryQuery.setCourseType(courseType); theoryQuery.setStudentId(studentId); + theoryQuery.setIsCourseCentre(2); List taskTheoryList = studentHandsOnTaskTheoryService.getValuesByQueryNotWithPermission(theoryQuery); if (CollectionUtils.isNotEmpty(taskTheoryList)) { BigDecimal videoScore = taskTheoryList.stream().map(StudentHandsOnTaskTheory::getTheoryScore).reduce(BigDecimal.ZERO, BigDecimal::add); @@ -874,6 +892,7 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ stepQuery.setHandsOnTaskId(taskId); stepQuery.setCourseType(courseType); stepQuery.setStudentId(studentId); + stepQuery.setIsCourseCentre(2); List stepList = studentHandsOnTaskStepService.getValuesByQueryNotWithPermission(stepQuery); if (CollectionUtils.isNotEmpty(stepList)) { StudentHandsOnTaskStep taskTheory = stepList.get(0); @@ -888,6 +907,7 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ reportQuery.setHandsOnTaskId(taskId); reportQuery.setCourseType(courseType); reportQuery.setStudentId(studentId); + reportQuery.setIsCourseCentre(2); List reportList = studentHandsOnTaskReportService.getValuesByQueryNotWithPermission(reportQuery); if (CollectionUtils.isNotEmpty(reportList)) { StudentHandsOnTaskReport taskTheory = reportList.get(0); diff --git a/web/src/main/java/com/ibeetl/jlw/web/StudentHandsOnTaskLogController.java b/web/src/main/java/com/ibeetl/jlw/web/StudentHandsOnTaskLogController.java index e463b795..c793c026 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/StudentHandsOnTaskLogController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/StudentHandsOnTaskLogController.java @@ -258,7 +258,7 @@ public class StudentHandsOnTaskLogController{ } studentHandsOnTaskLogQuery.setUserId(coreUser.getId()); studentHandsOnTaskLogQuery.setOrgId(coreUser.getOrgId()); - return studentHandsOnTaskLogService.addDo(studentHandsOnTaskLogQuery, coreUser); + return studentHandsOnTaskLogService.addCourseCentreTaskLog(studentHandsOnTaskLogQuery, coreUser); } } diff --git a/web/src/main/java/com/ibeetl/jlw/web/StudentHandsOnTaskReportController.java b/web/src/main/java/com/ibeetl/jlw/web/StudentHandsOnTaskReportController.java index 8f3716a8..e4c0e901 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/StudentHandsOnTaskReportController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/StudentHandsOnTaskReportController.java @@ -65,6 +65,7 @@ public class StudentHandsOnTaskReportController { @Lazy private TeacherOpenCourseHandsOnSimulationTasksService teacherOpenCourseHandsOnSimulationTasksService; + @Autowired private HandsOnSimulationTasksService handsOnSimulationTasksService; @@ -88,6 +89,7 @@ public class StudentHandsOnTaskReportController { if (null == coreUser) { return JsonResult.failMessage("请登录后再操作"); } else { + param.setIsCourseCentre(1); StudentHandsOnTaskReport studentHandsOnTaskReport = studentHandsOnTaskReportService.getInfo(param, coreUser); if (studentHandsOnTaskReport != null) { TeacherOpenCourseHandsOnSimulationTasks teacherOpenCourseHandsOnSimulationTasks = new TeacherOpenCourseHandsOnSimulationTasks(); @@ -118,6 +120,7 @@ public class StudentHandsOnTaskReportController { if (ObjectUtil.isEmpty(param.getCourseType())){ return JsonResult.failMessage("缺少课程类型" ); } + param.setIsCourseCentre(2); StudentHandsOnTaskReport studentHandsOnTaskReport = studentHandsOnTaskReportService.getInfo(param, coreUser); if (studentHandsOnTaskReport != null) { //1 教师开课 2 系统授权 @@ -126,6 +129,7 @@ public class StudentHandsOnTaskReportController { HandsOnSimulationTasks handsOnSimulationTasks = new HandsOnSimulationTasks(); handsOnSimulationTasks.setTaskId(studentHandsOnTaskReport.getHandsOnTaskId()); HandsOnSimulationTasks res = handsOnSimulationTasksService.queryObject(handsOnSimulationTasks); + if (res != null) { studentHandsOnTaskReport.set("maxScore", res.getTaskScore()); } else { diff --git a/web/src/main/java/com/ibeetl/jlw/web/StudentHandsOnTaskTheoryController.java b/web/src/main/java/com/ibeetl/jlw/web/StudentHandsOnTaskTheoryController.java index fc0d7db1..00a1598f 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/StudentHandsOnTaskTheoryController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/StudentHandsOnTaskTheoryController.java @@ -607,7 +607,7 @@ public class StudentHandsOnTaskTheoryController { }); return JsonResult.success(list); }else { - return studentHandsOnTaskTheoryService.getHandsOnTaskkTheoryByTaskId(taskId, coreUser, 2); + return studentHandsOnTaskTheoryService.getCourseCentreHandsOnTaskkTheoryByTaskId(taskId, coreUser, 2); } } 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 8f5185ec..33f973a4 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseHandsOnController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseHandsOnController.java @@ -834,6 +834,19 @@ public class TeacherOpenCourseHandsOnController{ return teacherOpenCourseHandsOnService.getHandsListByOpenCourseIdAndStudent(teacherOpenCourseId, coreUser); } + /** + * 查询课程实操-课程中心 + * @param teacherOpenCourseId + * @param coreUser + * @return + */ + @GetMapping(API + "/getCourseCentreHandsListByOpenCourseIdAndStudent.do") + public JsonResult> getCourseCentreHandsListByOpenCourseIdAndStudent(Long teacherOpenCourseId, @SCoreUser CoreUser coreUser) { + if (teacherOpenCourseId == null) { + return JsonResult.fail(); + } + return teacherOpenCourseHandsOnService.getCourseCentreHandsListByOpenCourseIdAndStudent(teacherOpenCourseId, coreUser); + } /** * 学生查询课程实操-课程中心,不查成绩 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 418482a8..67d39805 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseHandsOnSimulationTasksController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseHandsOnSimulationTasksController.java @@ -315,6 +315,13 @@ public class TeacherOpenCourseHandsOnSimulationTasksController{ return teacherOpenCourseHandsOnSimulationTasksService.getScoreByHandsOnId(handsOnId, coreUser); } + /** + * 课程中心 获取答题分数及答题时长 + * @param handsOnId + * @param coreUser + * @param courseType + * @return + */ @GetMapping(API + "/getCourseCentreScoreTask") public JsonResult getCourseCentreScoreByHandsOnId(Long handsOnId, Integer courseType, @SCoreUser CoreUser coreUser) { if (ObjectUtil.isEmpty(courseType)){ diff --git a/web/src/main/java/com/ibeetl/jlw/web/query/StudentHandsOnTaskLogQuery.java b/web/src/main/java/com/ibeetl/jlw/web/query/StudentHandsOnTaskLogQuery.java index 1a8318fe..3fecea73 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/query/StudentHandsOnTaskLogQuery.java +++ b/web/src/main/java/com/ibeetl/jlw/web/query/StudentHandsOnTaskLogQuery.java @@ -39,6 +39,9 @@ public class StudentHandsOnTaskLogQuery extends PageParam { @Query(name = "课程类型 (1教师开课 2系统授权)", display = false) private Integer courseType; + @Query(name = "是否课程中心 (1我的课程 2课程中心)", display = false) + private Integer isCourseCentre; + private HandsOnTaskEnum taskType; private String studentHandsOnTaskPptIdPlural; @@ -128,6 +131,7 @@ public class StudentHandsOnTaskLogQuery extends PageParam { pojo.setStudentId(this.getStudentId()); pojo.setAllTime(this.getAllTime()); pojo.setCourseType(this.getCourseType()); + pojo.setIsCourseCentre(this.getIsCourseCentre()); return pojo; } @@ -200,4 +204,12 @@ public class StudentHandsOnTaskLogQuery extends PageParam { public void setCourseType(Integer courseType) { this.courseType = courseType; } + + public Integer getIsCourseCentre() { + return isCourseCentre; + } + + public void setIsCourseCentre(Integer isCourseCentre) { + this.isCourseCentre = isCourseCentre; + } } diff --git a/web/src/main/java/com/ibeetl/jlw/web/query/StudentHandsOnTaskPptQuery.java b/web/src/main/java/com/ibeetl/jlw/web/query/StudentHandsOnTaskPptQuery.java index 30557bb1..fc38465a 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/query/StudentHandsOnTaskPptQuery.java +++ b/web/src/main/java/com/ibeetl/jlw/web/query/StudentHandsOnTaskPptQuery.java @@ -43,6 +43,9 @@ public class StudentHandsOnTaskPptQuery extends PageParam { @Query(name = "课程类型 (1教师开课 2系统授权)", display = false) private Integer courseType; + @Query(name = "是否课程中心 (1我的课程 2课程中心)", display = false) + private Integer isCourseCentre; + private String studentSn; private String studentName; @@ -227,4 +230,12 @@ public class StudentHandsOnTaskPptQuery extends PageParam { public void setCourseType(Integer courseType) { this.courseType = courseType; } + + public Integer getIsCourseCentre() { + return isCourseCentre; + } + + public void setIsCourseCentre(Integer isCourseCentre) { + this.isCourseCentre = isCourseCentre; + } } diff --git a/web/src/main/java/com/ibeetl/jlw/web/query/StudentHandsOnTaskReportQuery.java b/web/src/main/java/com/ibeetl/jlw/web/query/StudentHandsOnTaskReportQuery.java index 73407fa2..92f7ea32 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/query/StudentHandsOnTaskReportQuery.java +++ b/web/src/main/java/com/ibeetl/jlw/web/query/StudentHandsOnTaskReportQuery.java @@ -64,6 +64,11 @@ public class StudentHandsOnTaskReportQuery extends PageParam { @Query(name = "课程类型 (1教师开课 2系统授权)", display = false) private Integer courseType; + /** + * 是否课程中心 (1我的课程 2课程中心) + */ + private Integer isCourseCentre; + private String studentHandsOnTaskReportIdPlural; private String teacherOpenCourseIdPlural; private String handsOnIdPlural; @@ -187,6 +192,7 @@ public class StudentHandsOnTaskReportQuery extends PageParam { pojo.setReviewStatus(this.getReviewStatus()); pojo.setReviewTime(this.getReviewTime()); pojo.setCourseType(this.getCourseType()); + pojo.setIsCourseCentre(this.getIsCourseCentre()); return pojo; } @@ -263,4 +269,12 @@ public class StudentHandsOnTaskReportQuery extends PageParam { public void setCourseType(Integer courseType) { this.courseType = courseType; } + + public Integer getIsCourseCentre() { + return isCourseCentre; + } + + public void setIsCourseCentre(Integer isCourseCentre) { + this.isCourseCentre = isCourseCentre; + } } diff --git a/web/src/main/java/com/ibeetl/jlw/web/query/StudentHandsOnTaskStepQuery.java b/web/src/main/java/com/ibeetl/jlw/web/query/StudentHandsOnTaskStepQuery.java index eed466db..d14ab666 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/query/StudentHandsOnTaskStepQuery.java +++ b/web/src/main/java/com/ibeetl/jlw/web/query/StudentHandsOnTaskStepQuery.java @@ -43,6 +43,11 @@ public class StudentHandsOnTaskStepQuery extends PageParam { @Query(name = "课程类型 (1教师开课 2系统授权)", display = false) private Integer courseType; + /** + * 是否课程中心 (1我的课程 2课程中心) + */ + private Integer isCourseCentre; + private Long studentSn; private String studentName; @@ -156,6 +161,7 @@ public class StudentHandsOnTaskStepQuery extends PageParam { pojo.setTeacherId(this.getTeacherId()); pojo.setStudentId(this.getStudentId()); pojo.setCourseType(this.getCourseType()); + pojo.setIsCourseCentre(this.getIsCourseCentre()); return pojo; } @@ -227,4 +233,12 @@ public class StudentHandsOnTaskStepQuery extends PageParam { public void setCourseType(Integer courseType) { this.courseType = courseType; } + + public Integer getIsCourseCentre() { + return isCourseCentre; + } + + public void setIsCourseCentre(Integer isCourseCentre) { + this.isCourseCentre = isCourseCentre; + } } diff --git a/web/src/main/java/com/ibeetl/jlw/web/query/StudentHandsOnTaskTheoryQuery.java b/web/src/main/java/com/ibeetl/jlw/web/query/StudentHandsOnTaskTheoryQuery.java index eb5413d2..20cdedc0 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/query/StudentHandsOnTaskTheoryQuery.java +++ b/web/src/main/java/com/ibeetl/jlw/web/query/StudentHandsOnTaskTheoryQuery.java @@ -86,6 +86,11 @@ public class StudentHandsOnTaskTheoryQuery extends PageParam { */ private Integer courseType; + /** + * 是否课程中心 (1我的课程 2课程中心) + */ + private Integer isCourseCentre; + public Long getStudentHandsOnTaskTheoryId(){ return studentHandsOnTaskTheoryId; } @@ -195,6 +200,7 @@ public class StudentHandsOnTaskTheoryQuery extends PageParam { pojo.setTeacherId(this.getTeacherId()); pojo.setStudentId(this.getStudentId()); pojo.setCourseType(this.getCourseType()); + pojo.setIsCourseCentre(this.getIsCourseCentre()); return pojo; } @@ -266,4 +272,12 @@ public class StudentHandsOnTaskTheoryQuery extends PageParam { public void setCourseType(Integer courseType) { this.courseType = courseType; } + + public Integer getIsCourseCentre() { + return isCourseCentre; + } + + public void setIsCourseCentre(Integer isCourseCentre) { + this.isCourseCentre = isCourseCentre; + } } diff --git a/web/src/main/java/com/ibeetl/jlw/web/query/StudentHandsOnTaskVideoQuery.java b/web/src/main/java/com/ibeetl/jlw/web/query/StudentHandsOnTaskVideoQuery.java index b5c68a04..6214d4f7 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/query/StudentHandsOnTaskVideoQuery.java +++ b/web/src/main/java/com/ibeetl/jlw/web/query/StudentHandsOnTaskVideoQuery.java @@ -47,6 +47,9 @@ public class StudentHandsOnTaskVideoQuery extends PageParam { @Query(name = "课程类型 (1教师开课 2系统授权)", display = false) private Integer courseType; + @Query(name = "是否课程中心 (1我的课程 2课程中心)", display = false) + private Integer isCourseCentre; + private Long studentSn; private String studentName; @@ -162,6 +165,7 @@ public class StudentHandsOnTaskVideoQuery extends PageParam { pojo.setTeacherId(this.getTeacherId()); pojo.setStudentId(this.getStudentId()); pojo.setCourseType(this.getCourseType()); + pojo.setIsCourseCentre(this.getIsCourseCentre()); return pojo; } @@ -233,4 +237,12 @@ public class StudentHandsOnTaskVideoQuery extends PageParam { public void setCourseType(Integer courseType) { this.courseType = courseType; } + + public Integer getIsCourseCentre() { + return isCourseCentre; + } + + public void setIsCourseCentre(Integer isCourseCentre) { + this.isCourseCentre = isCourseCentre; + } } diff --git a/web/src/main/resources/sql/jlw/studentHandsOnTaskPpt.md b/web/src/main/resources/sql/jlw/studentHandsOnTaskPpt.md index 8e6f43ff..cf82c7b3 100644 --- a/web/src/main/resources/sql/jlw/studentHandsOnTaskPpt.md +++ b/web/src/main/resources/sql/jlw/studentHandsOnTaskPpt.md @@ -427,6 +427,9 @@ getValuesByQueryNotWithPermission @if(!isEmpty(courseType)){ and t.course_type =#courseType# @} + @if(!isEmpty(isCourseCentre)){ + and t.is_course_centre =#isCourseCentre# + @} getExcelValues ============== diff --git a/web/src/main/resources/sql/jlw/studentHandsOnTaskReport.md b/web/src/main/resources/sql/jlw/studentHandsOnTaskReport.md index 5fc3d404..d99483db 100644 --- a/web/src/main/resources/sql/jlw/studentHandsOnTaskReport.md +++ b/web/src/main/resources/sql/jlw/studentHandsOnTaskReport.md @@ -451,6 +451,9 @@ getValuesByQueryNotWithPermission @if(!isEmpty(courseType)){ and t.course_type =#courseType# @} + @if(!isEmpty(isCourseCentre)){ + and t.is_course_centre =#isCourseCentre# + @} getReportList === diff --git a/web/src/main/resources/sql/jlw/studentHandsOnTaskStep.md b/web/src/main/resources/sql/jlw/studentHandsOnTaskStep.md index 9ae33654..c6827d38 100644 --- a/web/src/main/resources/sql/jlw/studentHandsOnTaskStep.md +++ b/web/src/main/resources/sql/jlw/studentHandsOnTaskStep.md @@ -435,6 +435,9 @@ getValuesByQueryNotWithPermission @if(!isEmpty(courseType)){ and t.course_type =#courseType# @} + @if(!isEmpty(isCourseCentre)){ + and t.is_course_centre =#isCourseCentre# + @} diff --git a/web/src/main/resources/sql/jlw/studentHandsOnTaskTheory.md b/web/src/main/resources/sql/jlw/studentHandsOnTaskTheory.md index ea63b389..84116f87 100644 --- a/web/src/main/resources/sql/jlw/studentHandsOnTaskTheory.md +++ b/web/src/main/resources/sql/jlw/studentHandsOnTaskTheory.md @@ -523,6 +523,9 @@ getValuesByQueryNotWithPermission @if(!isEmpty(courseType)){ and t.course_type =#courseType# @} + @if(!isEmpty(isCourseCentre)){ + and t.is_course_centre =#isCourseCentre# + @} diff --git a/web/src/main/resources/sql/jlw/studentHandsOnTaskVideo.md b/web/src/main/resources/sql/jlw/studentHandsOnTaskVideo.md index 8b8bf125..eb913e97 100644 --- a/web/src/main/resources/sql/jlw/studentHandsOnTaskVideo.md +++ b/web/src/main/resources/sql/jlw/studentHandsOnTaskVideo.md @@ -435,6 +435,9 @@ getValuesByQueryNotWithPermission @if(!isEmpty(courseType)){ and t.course_type =#courseType# @} + @if(!isEmpty(isCourseCentre)){ + and t.is_course_centre =#isCourseCentre# + @}