|
@@ -48,6 +48,7 @@ import javax.validation.constraints.Min;
|
|
import java.io.File;
|
|
import java.io.File;
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
* @Description: 系统信息 前端控制器
|
|
* @Description: 系统信息 前端控制器
|
|
@@ -407,7 +408,7 @@ public class SysController {
|
|
//首先查询当前用户所要监控的roomCode
|
|
//首先查询当前用户所要监控的roomCode
|
|
QueryWrapper<TBExamInvigilateUser> examInvigilateUserQueryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<TBExamInvigilateUser> examInvigilateUserQueryWrapper = new QueryWrapper<>();
|
|
AuthDto authDto = themisCacheService.addAccountAuthCache(tbUser.getId());
|
|
AuthDto authDto = themisCacheService.addAccountAuthCache(tbUser.getId());
|
|
- examInvigilateUserQueryWrapper.lambda().eq(TBExamInvigilateUser::getOrgId, tbUser.getOrgId())
|
|
|
|
|
|
+ examInvigilateUserQueryWrapper.select(" distinct exam_id,room_code ").lambda().eq(TBExamInvigilateUser::getOrgId, tbUser.getOrgId())
|
|
.eq(TBExamInvigilateUser::getExamId, examId);
|
|
.eq(TBExamInvigilateUser::getExamId, examId);
|
|
if (authDto.getRoleCodes().toString().contains(RoleEnum.INVIGILATE.name())) {
|
|
if (authDto.getRoleCodes().toString().contains(RoleEnum.INVIGILATE.name())) {
|
|
examInvigilateUserQueryWrapper.lambda().eq(TBExamInvigilateUser::getUserId, tbUser.getId());
|
|
examInvigilateUserQueryWrapper.lambda().eq(TBExamInvigilateUser::getUserId, tbUser.getId());
|
|
@@ -436,27 +437,26 @@ public class SysController {
|
|
Set<Map> courseSet = null;
|
|
Set<Map> courseSet = null;
|
|
if (Objects.nonNull(roomCodeSet)) {
|
|
if (Objects.nonNull(roomCodeSet)) {
|
|
//根据roomCode获取当前老师所要监考的全部应考学生数
|
|
//根据roomCode获取当前老师所要监考的全部应考学生数
|
|
|
|
+ QueryWrapper<TEExamActivity> teExamActivityQueryWrapper = new QueryWrapper<>();
|
|
|
|
+ teExamActivityQueryWrapper.lambda().eq(TEExamActivity::getExamId, examId);
|
|
|
|
+ teExamActivityQueryWrapper.lambda().last(" order by CAST(code AS UNSIGNED) ");
|
|
|
|
+ teExamActivityList = teExamActivityService.list(teExamActivityQueryWrapper);
|
|
|
|
+
|
|
|
|
+ List<Long> teExamActivityIdList = teExamActivityList.stream().map(s -> s.getId()).collect(Collectors.toList());
|
|
QueryWrapper<TEExamStudent> teExamStudentQueryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<TEExamStudent> teExamStudentQueryWrapper = new QueryWrapper<>();
|
|
- teExamStudentQueryWrapper.lambda().eq(TEExamStudent::getExamId, examId)
|
|
|
|
|
|
+ teExamStudentQueryWrapper.select(" distinct course_code,course_name ").lambda().eq(TEExamStudent::getExamId, examId)
|
|
|
|
+ .in(TEExamStudent::getExamActivityId, teExamActivityIdList)
|
|
.in(TEExamStudent::getRoomCode, roomCodeSet);
|
|
.in(TEExamStudent::getRoomCode, roomCodeSet);
|
|
List<TEExamStudent> teExamStudentList = teExamStudentService.list(teExamStudentQueryWrapper);
|
|
List<TEExamStudent> teExamStudentList = teExamStudentService.list(teExamStudentQueryWrapper);
|
|
- Set<Long> examActivityIdSet = null;
|
|
|
|
if (Objects.nonNull(teExamStudentList) && teExamStudentList.size() > 0) {
|
|
if (Objects.nonNull(teExamStudentList) && teExamStudentList.size() > 0) {
|
|
- examActivityIdSet = new HashSet<>();
|
|
|
|
courseSet = new HashSet<>();
|
|
courseSet = new HashSet<>();
|
|
- Set<Long> finalExamActivityIdSet = examActivityIdSet;
|
|
|
|
Set<Map> finalCourseSet = courseSet;
|
|
Set<Map> finalCourseSet = courseSet;
|
|
teExamStudentList.forEach(s -> {
|
|
teExamStudentList.forEach(s -> {
|
|
- finalExamActivityIdSet.add(s.getExamActivityId());
|
|
|
|
Map map = new HashMap();
|
|
Map map = new HashMap();
|
|
map.put(SystemConstant.COURSE_CODE, s.getCourseCode());
|
|
map.put(SystemConstant.COURSE_CODE, s.getCourseCode());
|
|
map.put(SystemConstant.COURSE_NAME, s.getCourseName());
|
|
map.put(SystemConstant.COURSE_NAME, s.getCourseName());
|
|
finalCourseSet.add(map);
|
|
finalCourseSet.add(map);
|
|
});
|
|
});
|
|
- QueryWrapper<TEExamActivity> teExamActivityQueryWrapper = new QueryWrapper<>();
|
|
|
|
- teExamActivityQueryWrapper.lambda().in(TEExamActivity::getId, examActivityIdSet);
|
|
|
|
- teExamActivityQueryWrapper.lambda().last(" order by CAST(code AS UNSIGNED) ");
|
|
|
|
- teExamActivityList = teExamActivityService.list(teExamActivityQueryWrapper);
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Map map = new HashMap();
|
|
Map map = new HashMap();
|