Commit Graph

5 Commits

Author SHA1 Message Date
454a0d24c6 fix: release beds/lockers in batchCheckOut
The batchCheckOut method was not releasing assigned beds and lockers
after checkout, leaving them orphaned as 'occupied'. Added the same
release pattern used in checkOut() — using runner.manager.update()
since batchCheckOut operates inside a QueryRunner transaction.
2026-07-09 12:05:36 +08:00
5ea49d0a9e feat(classes): add schedule and attendance-summary endpoints + frontend tabs
- Add GET /classes/:id/schedule returning ClassSchedule list with classroom name
- Add GET /classes/:id/attendance-summary returning attendance/absence/late rates
- Add 课表 and 出勤汇总 tabs to Classes detail page
- Register ClassSchedule and AttendanceRecord in ClassesModule
2026-07-06 17:48:19 +08:00
b7117ddf2d fix: review blockers — entity registration, session enum, conflict date-range, @Type decorators 2026-07-05 20:20:43 +08:00
786aa2ba2d fix: add @IsEnum validation to Classes DTOs 2026-07-05 19:02:54 +08:00
c378cc45f8 feat: add ClassesService with CRUD + student/teacher management 2026-07-05 18:59:09 +08:00