From 204adb1bb1a082871193b11431517a0de97eb3d1 Mon Sep 17 00:00:00 2001 From: wanghu Date: Wed, 14 Oct 2026 17:09:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=98=BE=E7=A4=BA=E7=8F=AD=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yunhai/acasyllabu/model/syllabus/MyClassVo.java | 3 +++ .../acasyllabu/service/impl/TimetableService.java | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/main/java/com/yunhai/acasyllabu/model/syllabus/MyClassVo.java b/src/main/java/com/yunhai/acasyllabu/model/syllabus/MyClassVo.java index ef25c15..50dd53a 100644 --- a/src/main/java/com/yunhai/acasyllabu/model/syllabus/MyClassVo.java +++ b/src/main/java/com/yunhai/acasyllabu/model/syllabus/MyClassVo.java @@ -21,6 +21,9 @@ public class MyClassVo { /** 年级名称 */ private String gradeName; + /** 年级是否启用课表查看(排课情况年级设置;null=未配置视为启用) */ + private Boolean gradeEnabled; + /** 是否班主任(正/副班主任) */ private boolean headTeacher; diff --git a/src/main/java/com/yunhai/acasyllabu/service/impl/TimetableService.java b/src/main/java/com/yunhai/acasyllabu/service/impl/TimetableService.java index 810f012..1b76015 100644 --- a/src/main/java/com/yunhai/acasyllabu/service/impl/TimetableService.java +++ b/src/main/java/com/yunhai/acasyllabu/service/impl/TimetableService.java @@ -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 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;