Commit Graph
4 Commits
  • 教学任务按 授课周数 × 周学时 = 课程总学时 双端校验,不匹配会显示具体差额并阻止保存;公共课批量生成同样校验。
    排课约束增加课程、教师、学院、授课方式、场地要求、约束状态筛选,并支持批量修改当前筛选结果。
    新增“非排时课程”授课方式:不进入自动排课
    不占星期、节次和教室
    不阻塞课表发布
    允许正常选课
    在班级课表和学生个人课表中单独展示
  • 主要改动:
    自动排课接口立即返回 202 + jobId
    后台服务独立执行,不受浏览器关闭或前端超时影响
    进度、成功、失败状态持久化到数据库
    服务重启后自动恢复排队中或中断的任务
    同一草稿禁止重复提交后台任务
    运行期间禁止编辑、发布或删除该课表
    排课结果和任务成功状态在同一事务中提交
    前端每秒轮询进度,显示已处理教学班和已规划安排数
  • 自动排课:保留手工安排,按教师、行政班、周次、节次、容量和场地约束补排。
    课程约束:可限定校区、教学楼、指定教室、允许上课日、最早/最晚节次。
    无教室课程:教室可为空,但仍校验教师和班级冲突。
    作息维护:按学期维护节次、上下课时间和启用状态。
    发布保护:发布前重新检查全部约束,并阻止学时未排满的课表发布。
    工作台升级:增加“排课规则与作息”“自动排课”入口,自动生成后仍支持手工微调。
    同时兼容 SQLite 和 MySQL,已生成正式迁移。
  • 排课版本新建、编辑、复制、发布、归档和删除。
    周课表视图,支持12节课、单双周和起止周。
    自动校验教师、行政班、教室、时间段冲突。
    校验教室容量、教学任务状态和学期范围。
    SQLite 开发环境自动升级,MySQL 提供正式 EF Core 迁移。
    Vue 已编译为静态文件并随 ASP.NET Core 发布,无需 npm run dev。
    桌面端和390px移动端页面均已验收。