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 17af2d5e..e166ee77 100644 --- a/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskStep.java +++ b/web/src/main/java/com/ibeetl/jlw/entity/StudentHandsOnTaskStep.java @@ -11,6 +11,8 @@ import com.ibeetl.admin.core.annotation.Dict; import java.math.BigDecimal; import java.util.Date; +import java.util.List; +import java.util.Map; /* * 学生-课程实操-实训操作步骤 @@ -37,25 +39,18 @@ public class StudentHandsOnTaskStep extends BaseEntity{ private Long handsOnTaskId ; - //题干 - + //学生答案 + /** + * [{question:"", rightAnswer: "", studentAnswer: "", score: ""}] + * question 问题 + * rightAnswer 正确答案 + * studentAnswer 学生答案 + * score 分值 + */ private String stem ; - - //题型 - private BigDecimal questionType ; - - //我的选项 - - private BigDecimal myOptions ; - - //正确答案 + private List> stems; - private BigDecimal rightKey ; - - //状态 - - private BigDecimal theoryStatus ; //得分 @@ -149,58 +144,6 @@ public class StudentHandsOnTaskStep extends BaseEntity{ this.stem = stem; } - /**题型 - *@return - */ - public BigDecimal getQuestionType(){ - return questionType; - } - /**题型 - *@param questionType - */ - public void setQuestionType(BigDecimal questionType){ - this.questionType = questionType; - } - - /**我的选项 - *@return - */ - public BigDecimal getMyOptions(){ - return myOptions; - } - /**我的选项 - *@param myOptions - */ - public void setMyOptions(BigDecimal myOptions){ - this.myOptions = myOptions; - } - - /**正确答案 - *@return - */ - public BigDecimal getRightKey(){ - return rightKey; - } - /**正确答案 - *@param rightKey - */ - public void setRightKey(BigDecimal rightKey){ - this.rightKey = rightKey; - } - - /**状态 - *@return - */ - public BigDecimal getTheoryStatus(){ - return theoryStatus; - } - /**状态 - *@param theoryStatus - */ - public void setTheoryStatus(BigDecimal theoryStatus){ - this.theoryStatus = theoryStatus; - } - /**得分 *@return */ @@ -279,5 +222,11 @@ public class StudentHandsOnTaskStep extends BaseEntity{ this.studentId = studentId; } + public List> getStems() { + return stems; + } + public void setStems(List> stems) { + this.stems = stems; + } } 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 5327bf94..104d7487 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/StudentHandsOnTaskPptService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/StudentHandsOnTaskPptService.java @@ -338,6 +338,7 @@ public class StudentHandsOnTaskPptService extends CoreBaseService{ @Autowired private StudentHandsOnTaskStepDao studentHandsOnTaskStepDao; - + @Autowired private StudentService studentService; + @Autowired private TeacherOpenCourseHandsOnSimulationTasksDao tasksService; + @Autowired private TeacherOpenCourseHandsOnSimulationTasksAssessmentService assessmentService; public PageQueryqueryByCondition(PageQuery query){ PageQuery ret = studentHandsOnTaskStepDao.queryByCondition(query); queryListAfter(ret.getList()); @@ -208,10 +215,6 @@ public class StudentHandsOnTaskStepService extends CoreBaseService getHandsOnTaskkStepByTaskId(Long taskId, CoreUser coreUser) { + //查询登录用的学生id + if (!coreUser.isStudent()) { + return null; + } + Student student = studentService.getByUserId(coreUser.getId()); + StudentHandsOnTaskStep studentHandsOnTaskStep = this.sqlManager.lambdaQuery(StudentHandsOnTaskStep.class).andEq(StudentHandsOnTaskStep::getHandsOnTaskId, taskId) + .andEq(StudentHandsOnTaskStep::getStudentId, student.getStudentId()).singleSimple(); + if (studentHandsOnTaskStep == null) { + studentHandsOnTaskStep = new StudentHandsOnTaskStep(); + TeacherOpenCourseHandsOnSimulationTasksAssessmentQuery assessmentQuery = new TeacherOpenCourseHandsOnSimulationTasksAssessmentQuery(); + assessmentQuery.setHandsOnTaskId(taskId); + List assessmentList = assessmentService.getValuesByQueryNotWithPermission(assessmentQuery); + if (CollectionUtils.isEmpty(assessmentList)) { + return JsonResult.fail(); + } + TeacherOpenCourseHandsOnSimulationTasksQuery tasksQuery = new TeacherOpenCourseHandsOnSimulationTasksQuery(); + tasksQuery.setTaskId(taskId); + List tasks = tasksService.getValuesByQueryNotWithPermission(tasksQuery); + TeacherOpenCourseHandsOnSimulationTasks teacherOpenCourseHandsOnSimulationTasks = tasks.get(0); + studentHandsOnTaskStep.setHandsOnTaskId(teacherOpenCourseHandsOnSimulationTasks.getTaskId()); + studentHandsOnTaskStep.setStudentId(student.getStudentId()); + studentHandsOnTaskStep.setHandsOnId(teacherOpenCourseHandsOnSimulationTasks.getHandsOnId()); + studentHandsOnTaskStep.setTeacherOpenCourseId(teacherOpenCourseHandsOnSimulationTasks.getTeacherOpenCourseId()); + studentHandsOnTaskStep.setCreateTime(new Date()); + studentHandsOnTaskStep.setTheoryScore(BigDecimal.ZERO); + List> list = new ArrayList<>(); + for (TeacherOpenCourseHandsOnSimulationTasksAssessment assessment : assessmentList) { + Map map = new HashMap<>(); + map.put("question", assessment.getHandsOnSimulationTasksAssessmentQuestion()); + map.put("rightAnswer", assessment.getHandsOnSimulationTasksAssessmentAnswer()); + map.put("studentAnswer", ""); + map.put("score", assessment.getHandsOnSimulationTasksAssessmentScore()); + list.add(map); + } + studentHandsOnTaskStep.setStem(JSONArray.toJSONString(list)); + studentHandsOnTaskStep.setStems(list); + this.insert(studentHandsOnTaskStep); + }else { + String videoFile = studentHandsOnTaskStep.getStem(); + if (StringUtils.isNotEmpty(videoFile)) { + studentHandsOnTaskStep.setStems(JSONArray.parseObject(videoFile, new TypeReference>>(){})); + } + } + + return JsonResult.success(studentHandsOnTaskStep); + } } diff --git a/web/src/main/java/com/ibeetl/jlw/web/StudentHandsOnTaskPptController.java b/web/src/main/java/com/ibeetl/jlw/web/StudentHandsOnTaskPptController.java index 442af59d..9685a354 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/StudentHandsOnTaskPptController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/StudentHandsOnTaskPptController.java @@ -574,10 +574,15 @@ public class StudentHandsOnTaskPptController{ public JsonResult addDo(@Validated(ValidateConfig.ADD.class) StudentHandsOnTaskPptQuery studentHandsOnTaskPptQuery, BindingResult result,@SCoreUser CoreUser coreUser){ if(result.hasErrors()){ return JsonResult.failMessage(result); - }else{ - studentHandsOnTaskPptQuery.setUserId(coreUser.getId()); - studentHandsOnTaskPptQuery.setOrgId(coreUser.getOrgId()); - return studentHandsOnTaskPptService.add(studentHandsOnTaskPptQuery); + }else { + studentHandsOnTaskPptQuery.setUserId(null); + studentHandsOnTaskPptQuery.setOrgId(null); + String msg = studentHandsOnTaskPptService.edit(studentHandsOnTaskPptQuery); + if (StringUtils.isBlank(msg)) { + return JsonResult.success(); + } else { + return JsonResult.failMessage("更新失败,"+msg); + } } } diff --git a/web/src/main/java/com/ibeetl/jlw/web/StudentHandsOnTaskStepController.java b/web/src/main/java/com/ibeetl/jlw/web/StudentHandsOnTaskStepController.java index 36f62915..7e406441 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/StudentHandsOnTaskStepController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/StudentHandsOnTaskStepController.java @@ -574,5 +574,33 @@ public class StudentHandsOnTaskStepController{ } } + /** + * 视频查询学生的记录 + * @param taskId 实操任务id + * @param coreUser + * @return + */ + @GetMapping(API+"/getHandsOnTaskkStepByTaskId") + public JsonResult getHandsOnTaskkStepByTaskId(Long taskId, @SCoreUser CoreUser coreUser) { + return studentHandsOnTaskStepService.getHandsOnTaskkStepByTaskId(taskId, coreUser); + } + + @PostMapping(API + "/edit.do") + public JsonResult editDo(@Validated(ValidateConfig.UPDATE.class) StudentHandsOnTaskStepQuery studentHandsOnTaskStepQuery, BindingResult result) { + if(result.hasErrors()){ + return JsonResult.failMessage(result); + }else { + studentHandsOnTaskStepQuery.setUserId(null); + studentHandsOnTaskStepQuery.setOrgId(null); + String msg = studentHandsOnTaskStepService.edit(studentHandsOnTaskStepQuery); + if (StringUtils.isBlank(msg)) { + return JsonResult.success(); + } else { + return JsonResult.failMessage("更新失败,"+msg); + } + } + } + + } 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 caf1d710..8efa201b 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 @@ -27,14 +27,6 @@ public class StudentHandsOnTaskStepQuery extends PageParam { private Long handsOnTaskId; @Query(name = "题干", display = false) private String stem; - @Query(name = "题型", display = false) - private BigDecimal questionType; - @Query(name = "我的选项", display = false) - private BigDecimal myOptions; - @Query(name = "正确答案", display = false) - private BigDecimal rightKey; - @Query(name = "状态", display = false) - private BigDecimal theoryStatus; @Query(name = "得分", display = false) private BigDecimal theoryScore; @Query(name = "创建时间", display = false) @@ -91,30 +83,6 @@ public class StudentHandsOnTaskStepQuery extends PageParam { public void setStem(String stem ){ this.stem = stem; } - public BigDecimal getQuestionType(){ - return questionType; - } - public void setQuestionType(BigDecimal questionType ){ - this.questionType = questionType; - } - public BigDecimal getMyOptions(){ - return myOptions; - } - public void setMyOptions(BigDecimal myOptions ){ - this.myOptions = myOptions; - } - public BigDecimal getRightKey(){ - return rightKey; - } - public void setRightKey(BigDecimal rightKey ){ - this.rightKey = rightKey; - } - public BigDecimal getTheoryStatus(){ - return theoryStatus; - } - public void setTheoryStatus(BigDecimal theoryStatus ){ - this.theoryStatus = theoryStatus; - } public BigDecimal getTheoryScore(){ return theoryScore; } @@ -159,10 +127,6 @@ public class StudentHandsOnTaskStepQuery extends PageParam { pojo.setHandsOnId(this.getHandsOnId()); pojo.setHandsOnTaskId(this.getHandsOnTaskId()); pojo.setStem(this.getStem()); - pojo.setQuestionType(this.getQuestionType()); - pojo.setMyOptions(this.getMyOptions()); - pojo.setRightKey(this.getRightKey()); - pojo.setTheoryStatus(this.getTheoryStatus()); pojo.setTheoryScore(this.getTheoryScore()); pojo.setCreateTime(this.getCreateTime()); pojo.setOrgId(this.getOrgId());