feat(web): migrate course adjustment workflow

This commit is contained in:
biss authored and biss committed 2026-10-03 21:38:14 +08:00
1 parent 2ac0a82bb8
commit c5b6954f9c
8 files changed
+209 -1

No files matched your search

@@ -170,6 +170,25 @@ public sealed class CourseAdjustmentsController(
return Ok(new { Task = task, Sessions = sessions, Classrooms = classrooms, Periods = periods });
}
[HttpGet("teacher-options")]
[Authorize(Roles = Applicants)]
public async Task<ActionResult> GetTeacherOptions(CancellationToken cancellationToken)
{
return Ok(await db.Teachers.AsNoTracking()
.Where(x => x.Status == TeacherStatus.Active && !x.IsArchived)
.OrderBy(x => x.College!.Name)
.ThenBy(x => x.TeacherNumber)
.Select(x => new
{
x.Id,
x.TeacherNumber,
x.Name,
x.Title,
CollegeName = x.College!.Name
})
.ToListAsync(cancellationToken));
}
// ═══════════════ My adjustments ═══════════════
[HttpGet("mine")]
@@ -611,7 +630,8 @@ public sealed class CourseAdjustmentsController(
return ValidationProblem("请选择代课教师。");
if (!await db.Teachers.AnyAsync(x =>
x.Id == request.SubstituteTeacherId &&
x.Status == TeacherStatus.Active, cancellationToken))
x.Status == TeacherStatus.Active &&
!x.IsArchived, cancellationToken))
return ValidationProblem("代课教师不存在或已离职。");
break;
case CourseAdjustmentType.Cancel: