deepseek
2 处改动: 1. ValidateRequestAsync — 当 classIds 为空时跳过行政班验证(选修课可不选班) 2. ValidatePublishingTasksAsync — 移除了"发布前至少需要关联一个行政班"的强制校验,允许无行政班的教学任务直接发布
This commit is contained in:
@@ -614,12 +614,15 @@ public sealed class TeachingTasksController(
|
||||
return ValidationProblem("授课教师必须已完成该课程申报并经学院审核通过。");
|
||||
|
||||
var classIds = request.ClassIds.Distinct().ToArray();
|
||||
var classes = db.AdministrativeClasses.AsNoTracking()
|
||||
.Where(x => classIds.Contains(x.Id));
|
||||
if (collegeId.HasValue)
|
||||
classes = classes.Where(x => x.Major!.CollegeId == collegeId.Value);
|
||||
if (await classes.CountAsync(cancellationToken) != classIds.Length)
|
||||
return ValidationProblem("存在无效或不在当前数据范围内的行政班。");
|
||||
if (classIds.Length > 0)
|
||||
{
|
||||
var classes = db.AdministrativeClasses.AsNoTracking()
|
||||
.Where(x => classIds.Contains(x.Id));
|
||||
if (collegeId.HasValue)
|
||||
classes = classes.Where(x => x.Major!.CollegeId == collegeId.Value);
|
||||
if (await classes.CountAsync(cancellationToken) != classIds.Length)
|
||||
return ValidationProblem("存在无效或不在当前数据范围内的行政班。");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -661,13 +664,6 @@ public sealed class TeachingTasksController(
|
||||
invalidPrimaryTeacher,
|
||||
"发布前必须指定且只能指定一名主讲教师。");
|
||||
|
||||
var missingClass = tasks.FirstOrDefault(x => x.Classes.Count == 0);
|
||||
if (missingClass is not null)
|
||||
return PublishingProblem(
|
||||
tasks,
|
||||
missingClass,
|
||||
"发布前至少需要关联一个行政班。");
|
||||
|
||||
var termIds = tasks.Select(x => x.AcademicTermId).Distinct().ToArray();
|
||||
var courseIds = tasks.Select(x => x.CourseId).Distinct().ToArray();
|
||||
var teacherIds = tasks
|
||||
|
||||
Reference in New Issue
Block a user