|
@@ -100,12 +100,31 @@ public class ExamRoomServiceImpl extends BaseServiceImpl<Long, ExamRoom> impleme
|
|
|
if(StringUtils.isBlank(examRoom.getExamTimeJson())){
|
|
|
throw new BizException("请指定考试时间");
|
|
|
}
|
|
|
- examRoom.setTenantId(TenantContextHolder.getTenantId().toString());
|
|
|
+ examRoom.setTenantId(TenantContextHolder.getTenantId());
|
|
|
examRoom.setExamPlanPushFlag(YesOrNoEnum.NO);
|
|
|
if(StringUtils.isBlank(examRoom.getExamTimeJson())){
|
|
|
examRoomDao.insert(examRoom);
|
|
|
return;
|
|
|
}
|
|
|
+
|
|
|
+ List<Integer> teacherIds=new ArrayList<>();
|
|
|
+ teacherIds.add(examRoom.getMainTeacherUserId());
|
|
|
+ if(StringUtils.isNotBlank(examRoom.getAssistantTeacherUserIdList())){
|
|
|
+ teacherIds.addAll(Arrays.stream(examRoom.getAssistantTeacherUserIdList().split(",")).map(id->Integer.valueOf(id)).collect(Collectors.toList()));
|
|
|
+ }
|
|
|
+
|
|
|
+ Map<Integer, String> teacherIdNameMap = this.getMap("sys_user", "id_", "real_name_", teacherIds, Integer.class, String.class);
|
|
|
+
|
|
|
+ examRoom.setMainTeacherName(teacherIdNameMap.get(examRoom.getMainTeacherUserId()));
|
|
|
+ if(StringUtils.isNotBlank(examRoom.getAssistantTeacherUserIdList())){
|
|
|
+ List<Integer> assistantTeacherIds = Arrays.stream(examRoom.getAssistantTeacherUserIdList().split(",")).map(id -> Integer.valueOf(id)).collect(Collectors.toList());
|
|
|
+ List<String> assistantTeacherNames = new ArrayList<>();
|
|
|
+ for (Integer assistantTeacherId : assistantTeacherIds) {
|
|
|
+ assistantTeacherNames.add(teacherIdNameMap.get(assistantTeacherId));
|
|
|
+ }
|
|
|
+ examRoom.setAssistantTeacherUserNameList(StringUtils.join(assistantTeacherNames, ","));
|
|
|
+ }
|
|
|
+
|
|
|
List<ExamRoom> examRooms=new ArrayList<>();
|
|
|
List<JSONObject> examTimes = JSON.parseArray(examRoom.getExamTimeJson(), JSONObject.class);
|
|
|
for (JSONObject examTime : examTimes) {
|
|
@@ -126,6 +145,7 @@ public class ExamRoomServiceImpl extends BaseServiceImpl<Long, ExamRoom> impleme
|
|
|
examRooms.add(er);
|
|
|
}
|
|
|
checkRoomTeachers(examRooms);
|
|
|
+
|
|
|
Date minStartTime = examRooms.stream().min(Comparator.comparing(ExamRoom::getExamStartTime)).get().getExamStartTime();
|
|
|
Date maxEndTime = examRooms.stream().max(Comparator.comparing(ExamRoom::getExamEndTime)).get().getExamEndTime();
|
|
|
|
|
@@ -150,6 +170,24 @@ public class ExamRoomServiceImpl extends BaseServiceImpl<Long, ExamRoom> impleme
|
|
|
if(Objects.isNull(examRoom.getId())){
|
|
|
throw new BizException("请指定教室");
|
|
|
}
|
|
|
+
|
|
|
+ List<Integer> teacherIds=new ArrayList<>();
|
|
|
+ teacherIds.add(examRoom.getMainTeacherUserId());
|
|
|
+ if(StringUtils.isNotBlank(examRoom.getAssistantTeacherUserIdList())){
|
|
|
+ teacherIds.addAll(Arrays.stream(examRoom.getAssistantTeacherUserIdList().split(",")).map(id->Integer.valueOf(id)).collect(Collectors.toList()));
|
|
|
+ }
|
|
|
+
|
|
|
+ Map<Integer, String> teacherIdNameMap = this.getMap("sys_user", "id_", "real_name_", teacherIds, Integer.class, String.class);
|
|
|
+
|
|
|
+ examRoom.setMainTeacherName(teacherIdNameMap.get(examRoom.getMainTeacherUserId()));
|
|
|
+ if(StringUtils.isNotBlank(examRoom.getAssistantTeacherUserIdList())){
|
|
|
+ List<Integer> assistantTeacherIds = Arrays.stream(examRoom.getAssistantTeacherUserIdList().split(",")).map(id -> Integer.valueOf(id)).collect(Collectors.toList());
|
|
|
+ List<String> assistantTeacherNames = new ArrayList<>();
|
|
|
+ for (Integer assistantTeacherId : assistantTeacherIds) {
|
|
|
+ assistantTeacherNames.add(teacherIdNameMap.get(assistantTeacherId));
|
|
|
+ }
|
|
|
+ examRoom.setAssistantTeacherUserNameList(StringUtils.join(assistantTeacherNames, ","));
|
|
|
+ }
|
|
|
examRoomDao.update(examRoom);
|
|
|
return examRoom;
|
|
|
}
|