显示班级
build / build-push (push) Successful in 1m17s

This commit is contained in:
wanghu
2026-10-14 17:09:30 +08:00
parent d4374e3216
commit 204adb1bb1
2 changed files with 16 additions and 0 deletions
@@ -21,6 +21,9 @@ public class MyClassVo {
/** 年级名称 */ /** 年级名称 */
private String gradeName; private String gradeName;
/** 年级是否启用课表查看(排课情况年级设置;null=未配置视为启用) */
private Boolean gradeEnabled;
/** 是否班主任(正/副班主任) */ /** 是否班主任(正/副班主任) */
private boolean headTeacher; private boolean headTeacher;
@@ -1,5 +1,6 @@
package com.yunhai.acasyllabu.service.impl; package com.yunhai.acasyllabu.service.impl;
import com.yunhai.acasyllabu.entity.GradeSetting;
import com.yunhai.acasyllabu.entity.Timetable; import com.yunhai.acasyllabu.entity.Timetable;
import com.yunhai.acasyllabu.entity.TimetableSlot; import com.yunhai.acasyllabu.entity.TimetableSlot;
import com.yunhai.acasyllabu.entity.UpFile; 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.TimetableSaveRequest;
import com.yunhai.acasyllabu.model.syllabus.TimetableSlotVo; import com.yunhai.acasyllabu.model.syllabus.TimetableSlotVo;
import com.yunhai.acasyllabu.model.syllabus.TimetableVo; import com.yunhai.acasyllabu.model.syllabus.TimetableVo;
import com.yunhai.acasyllabu.repository.GradeSettingRepository;
import com.yunhai.acasyllabu.repository.TimetableRepository; import com.yunhai.acasyllabu.repository.TimetableRepository;
import com.yunhai.acasyllabu.repository.TimetableSlotRepository; import com.yunhai.acasyllabu.repository.TimetableSlotRepository;
import com.yunhai.acasyllabu.repository.UpFileRepository; import com.yunhai.acasyllabu.repository.UpFileRepository;
@@ -98,6 +100,9 @@ public class TimetableService implements ITimetableService {
@Autowired @Autowired
private ISettingService settingService; private ISettingService settingService;
@Autowired
private GradeSettingRepository gradeSettingRepository;
// ============================ 查询 ============================ // ============================ 查询 ============================
@Override @Override
@@ -627,7 +632,15 @@ public class TimetableService implements ITimetableService {
vo.setSubjects(teachSubjects.getOrDefault(cid, new ArrayList<>())); vo.setSubjects(teachSubjects.getOrDefault(cid, new ArrayList<>()));
result.add(vo); 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))); 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={}, 范围={}, 班级 {} 个", log.info("[myClasses] schId={}, userId={}, roleId={}, 范围={}, 班级 {} 个",
schId, userId, roleId, admin ? "全部" : student ? "本人班级" : "所带/任教", result.size()); schId, userId, roleId, admin ? "全部" : student ? "本人班级" : "所带/任教", result.size());
return result; return result;