优化条件筛选
This commit is contained in:
1 parent
eb20211f0e
commit
130bffbd01
6 files changed
+152
-1
No files matched your search
@@ -93,6 +93,9 @@ public sealed class GradeAnalyticsController(
|
||||
public async Task<ActionResult> GetTeachingClasses(
|
||||
Guid? academicTermId,
|
||||
string? keyword,
|
||||
Guid? collegeId = null,
|
||||
string? teacherKeyword = null,
|
||||
bool? riskOnly = null,
|
||||
int page = 1,
|
||||
int pageSize = 20,
|
||||
CancellationToken cancellationToken = default)
|
||||
@@ -105,12 +108,23 @@ public sealed class GradeAnalyticsController(
|
||||
.Where(x => VisibleTeachingTasks().Any(task => task.Id == x.TeachingTaskId));
|
||||
if (academicTermId.HasValue)
|
||||
source = source.Where(x => x.AcademicTermId == academicTermId);
|
||||
if (collegeId.HasValue)
|
||||
source = source.Where(x => x.TeachingTask!.Course!.CollegeId == collegeId.Value);
|
||||
if (keyword is not null)
|
||||
source = source.Where(x =>
|
||||
x.TeachingTask!.TaskNumber.Contains(keyword) ||
|
||||
x.TeachingTask.Name.Contains(keyword) ||
|
||||
x.TeachingTask.Course!.Code.Contains(keyword) ||
|
||||
x.TeachingTask.Course.Name.Contains(keyword));
|
||||
if (!string.IsNullOrWhiteSpace(teacherKeyword))
|
||||
{
|
||||
teacherKeyword = teacherKeyword.Trim();
|
||||
source = source.Where(x => x.TeachingTask!.Teachers.Any(item =>
|
||||
item.Teacher!.Name.Contains(teacherKeyword) ||
|
||||
item.Teacher.TeacherNumber.Contains(teacherKeyword)));
|
||||
}
|
||||
if (riskOnly == true)
|
||||
source = source.Where(x => x.PassRate < 60 || x.AverageScore < 60);
|
||||
|
||||
var total = await source.CountAsync(cancellationToken);
|
||||
var items = await source
|
||||
|
||||
Reference in new issue
Block a user