@@ -21,6 +21,9 @@ public class MyClassVo {
|
||||
/** 年级名称 */
|
||||
private String gradeName;
|
||||
|
||||
/** 年级是否启用课表查看(排课情况年级设置;null=未配置视为启用) */
|
||||
private Boolean gradeEnabled;
|
||||
|
||||
/** 是否班主任(正/副班主任) */
|
||||
private boolean headTeacher;
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.yunhai.acasyllabu.service.impl;
|
||||
|
||||
import com.yunhai.acasyllabu.entity.GradeSetting;
|
||||
import com.yunhai.acasyllabu.entity.Timetable;
|
||||
import com.yunhai.acasyllabu.entity.TimetableSlot;
|
||||
import com.yunhai.acasyllabu.entity.UpFile;
|
||||
@@ -16,6 +17,7 @@ import com.yunhai.acasyllabu.model.syllabus.TimetableOverviewVo;
|
||||
import com.yunhai.acasyllabu.model.syllabus.TimetableSaveRequest;
|
||||
import com.yunhai.acasyllabu.model.syllabus.TimetableSlotVo;
|
||||
import com.yunhai.acasyllabu.model.syllabus.TimetableVo;
|
||||
import com.yunhai.acasyllabu.repository.GradeSettingRepository;
|
||||
import com.yunhai.acasyllabu.repository.TimetableRepository;
|
||||
import com.yunhai.acasyllabu.repository.TimetableSlotRepository;
|
||||
import com.yunhai.acasyllabu.repository.UpFileRepository;
|
||||
@@ -98,6 +100,9 @@ public class TimetableService implements ITimetableService {
|
||||
@Autowired
|
||||
private ISettingService settingService;
|
||||
|
||||
@Autowired
|
||||
private GradeSettingRepository gradeSettingRepository;
|
||||
|
||||
// ============================ 查询 ============================
|
||||
|
||||
@Override
|
||||
@@ -627,7 +632,15 @@ public class TimetableService implements ITimetableService {
|
||||
vo.setSubjects(teachSubjects.getOrDefault(cid, new ArrayList<>()));
|
||||
result.add(vo);
|
||||
}
|
||||
// 年级启用状态随班级带出(我的课表据此过滤 tab;未配置的年级视为启用)
|
||||
Map<String, Boolean> gradeEnabled = new LinkedHashMap<>();
|
||||
for (GradeSetting gs : gradeSettingRepository.findBySchIdOrderByIdAsc(schId)) {
|
||||
gradeEnabled.put(gs.getGradeName(), !Boolean.FALSE.equals(gs.getEnabled()));
|
||||
}
|
||||
result.sort(Comparator.comparing(v -> order.getOrDefault(v.getClassId(), Integer.MAX_VALUE)));
|
||||
for (MyClassVo vo : result) {
|
||||
vo.setGradeEnabled(gradeEnabled.get(vo.getGradeName()));
|
||||
}
|
||||
log.info("[myClasses] schId={}, userId={}, roleId={}, 范围={}, 班级 {} 个",
|
||||
schId, userId, roleId, admin ? "全部" : student ? "本人班级" : "所带/任教", result.size());
|
||||
return result;
|
||||
|
||||
Reference in New Issue
Block a user