|
@@ -1689,111 +1689,111 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
Long requestUserId = requestUser.getId();
|
|
|
List<ExamTaskStudentObjectResult> result = new ArrayList<>();
|
|
|
switch (examObjectType) {
|
|
|
- case TEACH_CLAZZ_STUDENT:
|
|
|
- if (!SystemConstant.strNotNull(courseCode)) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("缺少考试课程编号");
|
|
|
- }
|
|
|
- // 登录人的教学课程
|
|
|
- TeachCourse userTeachCourse = teachCourseService.getOne(
|
|
|
- new QueryWrapper<TeachCourse>().lambda().eq(TeachCourse::getExamId, examId).eq(TeachCourse::getCourseCode, courseCode).eq(TeachCourse::getUserId, requestUserId)
|
|
|
- .last(SystemConstant.LIMIT1));
|
|
|
-
|
|
|
- if (Objects.nonNull(userTeachCourse)) {
|
|
|
- Long userTeachCourseId = userTeachCourse.getId();
|
|
|
- Long leaderId = userTeachCourse.getCreateId();
|
|
|
- TeachCourse leaderTeachCourse = teachCourseService.findByExamIdCourseCodeAndUserId(examId, courseCode,
|
|
|
- leaderId);
|
|
|
-
|
|
|
- if (Objects.nonNull(leaderTeachCourse)) {
|
|
|
- Long leaderTeachCourseId = leaderTeachCourse.getId();
|
|
|
- List<TeachClazz> teachClazzList;
|
|
|
- teachClazzList = teachClazzService.list(
|
|
|
- new QueryWrapper<TeachClazz>().lambda().eq(TeachClazz::getTeachCourseId, userTeachCourseId)
|
|
|
- .eq(TeachClazz::getBelongTeachCourseId, leaderTeachCourseId));
|
|
|
-
|
|
|
- if (CollectionUtils.isEmpty(teachClazzList)) {
|
|
|
- teachClazzList = teachClazzService.list(new QueryWrapper<TeachClazz>().lambda()
|
|
|
- .eq(TeachClazz::getTeachCourseId, leaderTeachCourseId));
|
|
|
- }
|
|
|
+ case TEACH_CLAZZ_STUDENT:
|
|
|
+ if (!SystemConstant.strNotNull(courseCode)) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("缺少考试课程编号");
|
|
|
+ }
|
|
|
+ // 登录人的教学课程
|
|
|
+ TeachCourse userTeachCourse = teachCourseService.getOne(
|
|
|
+ new QueryWrapper<TeachCourse>().lambda().eq(TeachCourse::getExamId, examId).eq(TeachCourse::getCourseCode, courseCode).eq(TeachCourse::getUserId, requestUserId)
|
|
|
+ .last(SystemConstant.LIMIT1));
|
|
|
+
|
|
|
+ if (Objects.nonNull(userTeachCourse)) {
|
|
|
+ Long userTeachCourseId = userTeachCourse.getId();
|
|
|
+ Long leaderId = userTeachCourse.getCreateId();
|
|
|
+ TeachCourse leaderTeachCourse = teachCourseService.findByExamIdCourseCodeAndUserId(examId, courseCode,
|
|
|
+ leaderId);
|
|
|
+
|
|
|
+ if (Objects.nonNull(leaderTeachCourse)) {
|
|
|
+ Long leaderTeachCourseId = leaderTeachCourse.getId();
|
|
|
+ List<TeachClazz> teachClazzList;
|
|
|
+ teachClazzList = teachClazzService.list(
|
|
|
+ new QueryWrapper<TeachClazz>().lambda().eq(TeachClazz::getTeachCourseId, userTeachCourseId)
|
|
|
+ .eq(TeachClazz::getBelongTeachCourseId, leaderTeachCourseId));
|
|
|
+
|
|
|
+ if (CollectionUtils.isEmpty(teachClazzList)) {
|
|
|
+ teachClazzList = teachClazzService.list(new QueryWrapper<TeachClazz>().lambda()
|
|
|
+ .eq(TeachClazz::getTeachCourseId, leaderTeachCourseId));
|
|
|
+ }
|
|
|
|
|
|
- if (!CollectionUtils.isEmpty(teachClazzList)) {
|
|
|
- for (TeachClazz teachClazz : teachClazzList) {
|
|
|
- Long teachClazzId = teachClazz.getId();
|
|
|
- String teachClazzName = teachClazz.getClazzName();
|
|
|
- List<TeachStudent> teachStudentList = teachStudentService.list(new QueryWrapper<TeachStudent>().lambda()
|
|
|
- .eq(TeachStudent::getTeachClazzId, teachClazzId));
|
|
|
-
|
|
|
- List<StudentInfo> studentInfoList = teachStudentList.stream().flatMap(e -> {
|
|
|
- Long studentId = e.getStudentId();
|
|
|
- if (!SystemConstant.longNotNull(studentId)) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("教学学生数据异常");
|
|
|
- }
|
|
|
- BasicStudentResult basicExamStudentResult = basicStudentService.findById(studentId);
|
|
|
- if (Objects.isNull(basicExamStudentResult)) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("未找到对应的考生字典数据");
|
|
|
- }
|
|
|
- StudentInfo studentInfo = new StudentInfo();
|
|
|
- studentInfo.setStudentId(studentId);
|
|
|
- studentInfo.setStudentCode(basicExamStudentResult.getStudentCode());
|
|
|
- studentInfo.setStudentName(basicExamStudentResult.getStudentName());
|
|
|
- studentInfo.setCollegeName(basicExamStudentResult.getCollegeName());
|
|
|
- studentInfo.setMajorName(basicExamStudentResult.getMajorName());
|
|
|
- studentInfo.setTeachClazzId(teachClazzId);
|
|
|
- studentInfo.setTeachClazzName(teachClazzName);
|
|
|
- studentInfo.setBasicClazzId(basicExamStudentResult.getClazzId());
|
|
|
- studentInfo.setBasicClazzName(basicExamStudentResult.getClazz());
|
|
|
- return Stream.of(studentInfo);
|
|
|
- }).collect(Collectors.toList());
|
|
|
- ExamTaskStudentObjectResult examTaskStudentObjectResult = new ExamTaskStudentObjectResult();
|
|
|
- examTaskStudentObjectResult.setClazzId(teachClazzId);
|
|
|
- examTaskStudentObjectResult.setClazzName(teachClazzName);
|
|
|
- examTaskStudentObjectResult.setStudentInfoList(studentInfoList);
|
|
|
- examTaskStudentObjectResult.setStudentClazzType(examObjectType.getStudentClazzType());
|
|
|
- result.add(examTaskStudentObjectResult);
|
|
|
+ if (!CollectionUtils.isEmpty(teachClazzList)) {
|
|
|
+ for (TeachClazz teachClazz : teachClazzList) {
|
|
|
+ Long teachClazzId = teachClazz.getId();
|
|
|
+ String teachClazzName = teachClazz.getClazzName();
|
|
|
+ List<TeachStudent> teachStudentList = teachStudentService.list(new QueryWrapper<TeachStudent>().lambda()
|
|
|
+ .eq(TeachStudent::getTeachClazzId, teachClazzId));
|
|
|
+
|
|
|
+ List<StudentInfo> studentInfoList = teachStudentList.stream().flatMap(e -> {
|
|
|
+ Long studentId = e.getStudentId();
|
|
|
+ if (!SystemConstant.longNotNull(studentId)) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("教学学生数据异常");
|
|
|
+ }
|
|
|
+ BasicStudentResult basicExamStudentResult = basicStudentService.findById(studentId);
|
|
|
+ if (Objects.isNull(basicExamStudentResult)) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("未找到对应的考生字典数据");
|
|
|
+ }
|
|
|
+ StudentInfo studentInfo = new StudentInfo();
|
|
|
+ studentInfo.setStudentId(studentId);
|
|
|
+ studentInfo.setStudentCode(basicExamStudentResult.getStudentCode());
|
|
|
+ studentInfo.setStudentName(basicExamStudentResult.getStudentName());
|
|
|
+ studentInfo.setCollegeName(basicExamStudentResult.getCollegeName());
|
|
|
+ studentInfo.setMajorName(basicExamStudentResult.getMajorName());
|
|
|
+ studentInfo.setTeachClazzId(teachClazzId);
|
|
|
+ studentInfo.setTeachClazzName(teachClazzName);
|
|
|
+ studentInfo.setBasicClazzId(basicExamStudentResult.getClazzId());
|
|
|
+ studentInfo.setBasicClazzName(basicExamStudentResult.getClazz());
|
|
|
+ return Stream.of(studentInfo);
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ ExamTaskStudentObjectResult examTaskStudentObjectResult = new ExamTaskStudentObjectResult();
|
|
|
+ examTaskStudentObjectResult.setClazzId(teachClazzId);
|
|
|
+ examTaskStudentObjectResult.setClazzName(teachClazzName);
|
|
|
+ examTaskStudentObjectResult.setStudentInfoList(studentInfoList);
|
|
|
+ examTaskStudentObjectResult.setStudentClazzType(examObjectType.getStudentClazzType());
|
|
|
+ result.add(examTaskStudentObjectResult);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- break;
|
|
|
- case BASIC_CLAZZ_STUDENT:
|
|
|
- // 基础班级对象
|
|
|
- List<BasicStudentResult> basicStudentResultList = basicStudentService.basicStudentList(schoolId, examId,
|
|
|
- null);
|
|
|
- if (!CollectionUtils.isEmpty(basicStudentResultList)) {
|
|
|
- LinkedMultiValueMap<Long, StudentInfo> studentInfoLinkedMultiValueMap = new LinkedMultiValueMap<>();
|
|
|
- Map<Long, ExamTaskStudentObjectResult> examTaskStudentObjectResultMap = new LinkedHashMap<>();
|
|
|
- for (BasicStudentResult e : basicStudentResultList) {
|
|
|
- // 没有班级的考生,不返回
|
|
|
- if (StringUtils.isBlank(e.getClazz())) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- StudentInfo studentInfo = new StudentInfo();
|
|
|
- studentInfo.setStudentId(e.getId());
|
|
|
- studentInfo.setStudentCode(e.getStudentCode());
|
|
|
- studentInfo.setStudentName(e.getStudentName());
|
|
|
- studentInfo.setCollegeName(e.getCollegeName());
|
|
|
- studentInfo.setMajorName(e.getMajorName());
|
|
|
- studentInfo.setBasicClazzId(e.getClazzId());
|
|
|
- studentInfo.setBasicClazzName(e.getClazz());
|
|
|
- studentInfoLinkedMultiValueMap.add(e.getClazzId(), studentInfo);
|
|
|
-
|
|
|
- ExamTaskStudentObjectResult examTaskStudentObjectResult = null;
|
|
|
- if (!examTaskStudentObjectResultMap.containsKey(e.getClazzId())) {
|
|
|
- examTaskStudentObjectResult = new ExamTaskStudentObjectResult();
|
|
|
- examTaskStudentObjectResult.setClazzId(e.getClazzId());
|
|
|
- examTaskStudentObjectResult.setClazzName(e.getClazz());
|
|
|
- examTaskStudentObjectResult.setStudentClazzType(examObjectType.getStudentClazzType());
|
|
|
- } else {
|
|
|
- examTaskStudentObjectResult = examTaskStudentObjectResultMap.get(e.getClazzId());
|
|
|
+ break;
|
|
|
+ case BASIC_CLAZZ_STUDENT:
|
|
|
+ // 基础班级对象
|
|
|
+ List<BasicStudentResult> basicStudentResultList = basicStudentService.basicStudentList(schoolId, examId,
|
|
|
+ null);
|
|
|
+ if (!CollectionUtils.isEmpty(basicStudentResultList)) {
|
|
|
+ LinkedMultiValueMap<Long, StudentInfo> studentInfoLinkedMultiValueMap = new LinkedMultiValueMap<>();
|
|
|
+ Map<Long, ExamTaskStudentObjectResult> examTaskStudentObjectResultMap = new LinkedHashMap<>();
|
|
|
+ for (BasicStudentResult e : basicStudentResultList) {
|
|
|
+ // 没有班级的考生,不返回
|
|
|
+ if (StringUtils.isBlank(e.getClazz())) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ StudentInfo studentInfo = new StudentInfo();
|
|
|
+ studentInfo.setStudentId(e.getId());
|
|
|
+ studentInfo.setStudentCode(e.getStudentCode());
|
|
|
+ studentInfo.setStudentName(e.getStudentName());
|
|
|
+ studentInfo.setCollegeName(e.getCollegeName());
|
|
|
+ studentInfo.setMajorName(e.getMajorName());
|
|
|
+ studentInfo.setBasicClazzId(e.getClazzId());
|
|
|
+ studentInfo.setBasicClazzName(e.getClazz());
|
|
|
+ studentInfoLinkedMultiValueMap.add(e.getClazzId(), studentInfo);
|
|
|
+
|
|
|
+ ExamTaskStudentObjectResult examTaskStudentObjectResult = null;
|
|
|
+ if (!examTaskStudentObjectResultMap.containsKey(e.getClazzId())) {
|
|
|
+ examTaskStudentObjectResult = new ExamTaskStudentObjectResult();
|
|
|
+ examTaskStudentObjectResult.setClazzId(e.getClazzId());
|
|
|
+ examTaskStudentObjectResult.setClazzName(e.getClazz());
|
|
|
+ examTaskStudentObjectResult.setStudentClazzType(examObjectType.getStudentClazzType());
|
|
|
+ } else {
|
|
|
+ examTaskStudentObjectResult = examTaskStudentObjectResultMap.get(e.getClazzId());
|
|
|
+ }
|
|
|
+ examTaskStudentObjectResult.setStudentInfoList(studentInfoLinkedMultiValueMap.get(e.getClazzId()));
|
|
|
+ examTaskStudentObjectResultMap.put(e.getClazzId(), examTaskStudentObjectResult);
|
|
|
}
|
|
|
- examTaskStudentObjectResult.setStudentInfoList(studentInfoLinkedMultiValueMap.get(e.getClazzId()));
|
|
|
- examTaskStudentObjectResultMap.put(e.getClazzId(), examTaskStudentObjectResult);
|
|
|
+ result.addAll(examTaskStudentObjectResultMap.values());
|
|
|
}
|
|
|
- result.addAll(examTaskStudentObjectResultMap.values());
|
|
|
- }
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
@@ -2181,6 +2181,9 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
|
|
|
@Override
|
|
|
public IPage<TikuPaperInfo> pageTikuPaper(String courseCode, String paperName, String account, Integer pageNumber, Integer pageSize) {
|
|
|
+ if (StringUtils.isBlank(courseCode)) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("请选择课程");
|
|
|
+ }
|
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
return tikuUtils.pagePaperInfo(schoolId, courseCode, paperName, account, pageNumber, pageSize);
|
|
|
}
|