实操查询开课学生

beetlsql3-dev
xuliangtong 2 years ago
parent de5f1d508b
commit 396fdeaa10

@ -14,8 +14,10 @@ import com.ibeetl.admin.core.service.CoreBaseService;
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.TeacherOpenCourseHandsOnDao;
import com.ibeetl.jlw.dao.TeacherOpenCourseHandsOnSimulationTasksDao;
import com.ibeetl.jlw.dao.TeacherOpenCourseMergeResourcesQuestionDao;
import com.ibeetl.jlw.dao.TeacherOpenCourseMergeSchoolClassDao;
import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.entity.vo.HandsOnTaskProblemVO;
import com.ibeetl.jlw.entity.vo.HandsOnTaskScoreVO;
@ -78,6 +80,11 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
private StudentHandsOnTaskStepService studentHandsOnTaskStepService;
@Autowired
private StudentHandsOnTaskReportService studentHandsOnTaskReportService;
@Autowired
private TeacherOpenCourseMergeSchoolClassDao teacherOpenCourseMergeStudentService;
@Autowired
private TeacherOpenCourseHandsOnDao teacherOpenCourseHandsOnDao;
@Autowired
private StudentHandsOnTaskLogService logService;
@ -179,11 +186,11 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
.desc(TeacherOpenCourseHandsOnSimulationTasks::getAddTime).single();
if (single == null) {
teacherOpenCourseHandsOnSimulationTasks.setTaskOrder("1");
}else {
} else {
String taskOrder1 = single.getTaskOrder();
if (!NumberUtil.isNumber(taskOrder)) {
teacherOpenCourseHandsOnSimulationTasks.setTaskOrder("2");
}else {
} else {
BigDecimal bigDecimal = NumberUtil.toBigDecimal(taskOrder1);
teacherOpenCourseHandsOnSimulationTasks.setTaskOrder(bigDecimal.add(BigDecimal.ONE).toString());
}
@ -416,6 +423,20 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
}
public PageQuery getStudentScore(StudentScoreParam studentScoreParam) {
Long handsOnId = studentScoreParam.getHandsOnId();
if (handsOnId != null) {
TeacherOpenCourseHandsOnQuery handsOnQuery = new TeacherOpenCourseHandsOnQuery();
handsOnQuery.setHandsOnId(handsOnId);
List<TeacherOpenCourseHandsOn> handsOns = teacherOpenCourseHandsOnDao.getValuesByQueryNotWithPermission(handsOnQuery);
Long teacherOpenCourseId = handsOns.get(0).getTeacherOpenCourseId();
List<TeacherOpenCourseMergeSchoolClass> select = teacherOpenCourseMergeStudentService.createLambdaQuery()
.andEq(TeacherOpenCourseMergeSchoolClass::getTeacherOpenCourseId, teacherOpenCourseId).andEq(TeacherOpenCourseMergeSchoolClass::getTeacherOpenCourseMergeSchoolClassStatus, 1).select();
if (CollectionUtil.isNotEmpty(select)) {
List<Long> collect = select.stream().map(TeacherOpenCourseMergeSchoolClass::getSchoolClassId).collect(Collectors.toList());
String join = CollectionUtil.join(collect, ",");
studentScoreParam.setClassIds(join);
}
}
PageQuery pageQuery = studentScoreParam.getPageQuery();
PageQuery<Student> studentPageQuery = studentService.queryByCondition(pageQuery);
List<Student> list = studentPageQuery.getList();
@ -424,6 +445,9 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
for (Student student : list) {
StudentHandsOnTaskVideoQuery studentHandsOnTaskVideoQuery = new StudentHandsOnTaskVideoQuery();
studentHandsOnTaskVideoQuery.setStudentId(student.getStudentId());
if (handsOnId != null) {
studentHandsOnTaskVideoQuery.setHandsOnId(handsOnId);
}
List<StudentHandsOnTaskVideo> valuesByQuery = studentHandsOnTaskVideoService.getValuesByQuery(studentHandsOnTaskVideoQuery);
double sum = valuesByQuery.stream().mapToDouble(v -> v.getVideoScore() == null ? 0 : v.getVideoScore().doubleValue()).sum();
student.set("sumScore", sum);
@ -433,6 +457,9 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
for (Student student : list) {
StudentHandsOnTaskPptQuery studentHandsOnTaskPptQuery = new StudentHandsOnTaskPptQuery();
studentHandsOnTaskPptQuery.setStudentId(student.getStudentId());
if (handsOnId != null) {
studentHandsOnTaskPptQuery.setHandsOnId(handsOnId);
}
List<StudentHandsOnTaskPpt> valuesByQuery = studentHandsOnTaskPptService.getValuesByQuery(studentHandsOnTaskPptQuery);
double sum = valuesByQuery.stream().mapToDouble(v -> v.getPptScore() == null ? 0 : v.getPptScore().doubleValue()).sum();
student.set("sumScore", sum);
@ -442,6 +469,9 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
for (Student student : list) {
StudentHandsOnTaskTheoryQuery studentHandsOnTaskTheoryQuery = new StudentHandsOnTaskTheoryQuery();
studentHandsOnTaskTheoryQuery.setStudentId(student.getStudentId());
if (handsOnId != null) {
studentHandsOnTaskTheoryQuery.setHandsOnId(handsOnId);
}
List<StudentHandsOnTaskTheory> valuesByQuery = studentHandsOnTaskTheoryService.getValuesByQuery(studentHandsOnTaskTheoryQuery);
double sum = valuesByQuery.stream().mapToDouble(v -> v.getTheoryScore() == null ? 0 : v.getTheoryScore().doubleValue()).sum();
student.set("sumScore", sum);
@ -451,6 +481,9 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
for (Student student : list) {
StudentHandsOnTaskStepQuery studentHandsOnTaskStepQuery = new StudentHandsOnTaskStepQuery();
studentHandsOnTaskStepQuery.setStudentId(student.getStudentId());
if (handsOnId != null) {
studentHandsOnTaskStepQuery.setHandsOnId(handsOnId);
}
List<StudentHandsOnTaskStep> valuesByQuery = studentHandsOnTaskStepService.getValuesByQuery(studentHandsOnTaskStepQuery);
double sum = valuesByQuery.stream().mapToDouble(v -> v.getTheoryScore() == null ? 0 : v.getTheoryScore().doubleValue()).sum();
student.set("sumScore", sum);
@ -460,6 +493,9 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
for (Student student : list) {
StudentHandsOnTaskReportQuery studentHandsOnTaskReportQuery = new StudentHandsOnTaskReportQuery();
studentHandsOnTaskReportQuery.setStudentId(student.getStudentId());
if (handsOnId != null) {
studentHandsOnTaskReportQuery.setHandsOnId(handsOnId);
}
List<StudentHandsOnTaskReport> valuesByQuery = studentHandsOnTaskReportService.getValuesByQuery(studentHandsOnTaskReportQuery);
double sum = valuesByQuery.stream().mapToDouble(v -> v.getReportScore() == null ? 0 : v.getReportScore().doubleValue()).sum();
student.set("sumScore", sum);
@ -524,12 +560,12 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
StudentHandsOnTaskVideo studentHandsOnTaskVideo = videoList.get(0);
BigDecimal videoScore = studentHandsOnTaskVideo.getVideoScore();
handsOnTaskScoreVO.setScore(videoScore == null ? 0 : videoScore.doubleValue());
bigDecimal = bigDecimal.add(videoScore == null ? BigDecimal.ZERO:videoScore);
}else {
bigDecimal = bigDecimal.add(videoScore == null ? BigDecimal.ZERO : videoScore);
} else {
handsOnTaskScoreVO.setScore(0D);
}
}else if(HandsOnTaskEnum.TASK_PPT.status.equals(task.getTaskType())) {
} else if (HandsOnTaskEnum.TASK_PPT.status.equals(task.getTaskType())) {
StudentHandsOnTaskPptQuery pptQuery = new StudentHandsOnTaskPptQuery();
pptQuery.setHandsOnTaskId(taskId);
pptQuery.setStudentId(studentId);
@ -538,11 +574,11 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
StudentHandsOnTaskPpt studentHandsOnTaskPpt = pptList.get(0);
BigDecimal videoScore = studentHandsOnTaskPpt.getPptScore();
handsOnTaskScoreVO.setScore(videoScore == null ? 0 : videoScore.doubleValue());
bigDecimal = bigDecimal.add(videoScore == null ? BigDecimal.ZERO: videoScore);
}else {
bigDecimal = bigDecimal.add(videoScore == null ? BigDecimal.ZERO : videoScore);
} else {
handsOnTaskScoreVO.setScore(0D);
}
}else if(HandsOnTaskEnum.TASK_THEORY.status.equals(task.getTaskType())) {
} else if (HandsOnTaskEnum.TASK_THEORY.status.equals(task.getTaskType())) {
StudentHandsOnTaskTheoryQuery theoryQuery = new StudentHandsOnTaskTheoryQuery();
theoryQuery.setHandsOnTaskId(taskId);
theoryQuery.setStudentId(studentId);
@ -550,11 +586,11 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
if (CollectionUtils.isNotEmpty(taskTheoryList)) {
BigDecimal videoScore = taskTheoryList.stream().map(StudentHandsOnTaskTheory::getTheoryScore).reduce(BigDecimal.ZERO, BigDecimal::add);
handsOnTaskScoreVO.setScore(videoScore == null ? 0 : videoScore.doubleValue());
bigDecimal = bigDecimal.add(videoScore == null ? BigDecimal.ZERO: videoScore);
}else {
bigDecimal = bigDecimal.add(videoScore == null ? BigDecimal.ZERO : videoScore);
} else {
handsOnTaskScoreVO.setScore(0D);
}
}else if(HandsOnTaskEnum.TASK_PRACTICAL_TRAINING.status.equals(task.getTaskType())) {
} else if (HandsOnTaskEnum.TASK_PRACTICAL_TRAINING.status.equals(task.getTaskType())) {
StudentHandsOnTaskStepQuery stepQuery = new StudentHandsOnTaskStepQuery();
stepQuery.setHandsOnTaskId(taskId);
stepQuery.setStudentId(studentId);
@ -563,21 +599,21 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
StudentHandsOnTaskStep taskTheory = stepList.get(0);
BigDecimal videoScore = taskTheory.getTheoryScore();
handsOnTaskScoreVO.setScore(videoScore == null ? 0 : videoScore.doubleValue());
bigDecimal = bigDecimal.add(videoScore == null ? BigDecimal.ZERO: videoScore);
}else {
bigDecimal = bigDecimal.add(videoScore == null ? BigDecimal.ZERO : videoScore);
} else {
handsOnTaskScoreVO.setScore(0D);
}
}else if(HandsOnTaskEnum.TASK_REPORT_WRITING.status.equals(task.getTaskType())) {
} else if (HandsOnTaskEnum.TASK_REPORT_WRITING.status.equals(task.getTaskType())) {
StudentHandsOnTaskReportQuery reportQuery = new StudentHandsOnTaskReportQuery();
reportQuery.setHandsOnTaskId(taskId);
reportQuery.setStudentId(studentId);
List<StudentHandsOnTaskReport> reportList =studentHandsOnTaskReportService.getValuesByQueryNotWithPermission(reportQuery);
List<StudentHandsOnTaskReport> reportList = studentHandsOnTaskReportService.getValuesByQueryNotWithPermission(reportQuery);
if (CollectionUtils.isNotEmpty(reportList)) {
StudentHandsOnTaskReport taskTheory = reportList.get(0);
BigDecimal videoScore = taskTheory.getReportScore();
handsOnTaskScoreVO.setScore(videoScore == null ? 0 : videoScore.doubleValue());
bigDecimal = bigDecimal.add(videoScore == null ? BigDecimal.ZERO: videoScore);
}else {
bigDecimal = bigDecimal.add(videoScore == null ? BigDecimal.ZERO : videoScore);
} else {
handsOnTaskScoreVO.setScore(0D);
}
}
@ -591,7 +627,7 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
Date lastUpdateTime = studentHandsOnTaskLog.getLastUpdateTime();
long between = DateUtil.between(createTime, lastUpdateTime, DateUnit.MINUTE);
handsOnTaskScoreVO.setTime(between);
}else {
} else {
handsOnTaskScoreVO.setTime(0L);
}

@ -16,7 +16,7 @@ public class StudentScoreParam extends StudentQuery {
/**
* id
*/
private String handsOnId;
private Long handsOnId;
/**
* id

Loading…
Cancel
Save