Compare commits
3
Commits
a2ba07a735
...
0a0500dd70
No files matched your search
@@ -631,8 +631,10 @@ public sealed class EvaluationsController(
|
|||||||
{
|
{
|
||||||
var teacherId = await CurrentTeacherId(cancellationToken);
|
var teacherId = await CurrentTeacherId(cancellationToken);
|
||||||
if (!teacherId.HasValue) return ConflictProblem("当前账号未关联教师档案。");
|
if (!teacherId.HasValue) return ConflictProblem("当前账号未关联教师档案。");
|
||||||
return Ok(await PlanSummary(db.TeachingImprovementPlans.AsNoTracking().Where(x => x.TeacherId == teacherId.Value))
|
return Ok(await PlanSummary(db.TeachingImprovementPlans.AsNoTracking()
|
||||||
.OrderByDescending(x => x.TermStartDate).ToListAsync(cancellationToken));
|
.Where(x => x.TeacherId == teacherId.Value)
|
||||||
|
.OrderByDescending(x => x.AcademicTerm!.StartDate))
|
||||||
|
.ToListAsync(cancellationToken));
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost("closure/plans")]
|
[HttpPost("closure/plans")]
|
||||||
@@ -676,7 +678,8 @@ public sealed class EvaluationsController(
|
|||||||
{
|
{
|
||||||
var plans = db.TeachingImprovementPlans.AsNoTracking().Where(x => currentUserDataScope.Current.RestrictedCollegeId == null || x.TeachingTask!.Course!.CollegeId == currentUserDataScope.Current.RestrictedCollegeId);
|
var plans = db.TeachingImprovementPlans.AsNoTracking().Where(x => currentUserDataScope.Current.RestrictedCollegeId == null || x.TeachingTask!.Course!.CollegeId == currentUserDataScope.Current.RestrictedCollegeId);
|
||||||
if (termId.HasValue) plans = plans.Where(x => x.AcademicTermId == termId.Value);
|
if (termId.HasValue) plans = plans.Where(x => x.AcademicTermId == termId.Value);
|
||||||
var planRows = await PlanSummary(plans).OrderByDescending(x => x.TermStartDate).ToListAsync(cancellationToken);
|
var planRows = await PlanSummary(plans.OrderByDescending(x => x.AcademicTerm!.StartDate))
|
||||||
|
.ToListAsync(cancellationToken);
|
||||||
var observations = db.TeachingObservationEvaluations.AsNoTracking().Where(x => currentUserDataScope.Current.RestrictedCollegeId == null || x.TeachingTask!.Course!.CollegeId == currentUserDataScope.Current.RestrictedCollegeId);
|
var observations = db.TeachingObservationEvaluations.AsNoTracking().Where(x => currentUserDataScope.Current.RestrictedCollegeId == null || x.TeachingTask!.Course!.CollegeId == currentUserDataScope.Current.RestrictedCollegeId);
|
||||||
if (termId.HasValue) observations = observations.Where(x => x.AcademicTermId == termId.Value);
|
if (termId.HasValue) observations = observations.Where(x => x.AcademicTermId == termId.Value);
|
||||||
var observationStats = await observations.GroupBy(x => x.Source).Select(g => new { Source = g.Key.ToString(), Count = g.Count(), AverageScore = Math.Round(g.Average(x => (double)x.Score), 1) }).ToListAsync(cancellationToken);
|
var observationStats = await observations.GroupBy(x => x.Source).Select(g => new { Source = g.Key.ToString(), Count = g.Count(), AverageScore = Math.Round(g.Average(x => (double)x.Score), 1) }).ToListAsync(cancellationToken);
|
||||||
|
|||||||
@@ -821,8 +821,20 @@ public sealed class ExperimentGradesController(
|
|||||||
format.Font.FontColor = ClosedXML.Excel.XLColor.FromHtml("#B42318");
|
format.Font.FontColor = ClosedXML.Excel.XLColor.FromHtml("#B42318");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
var project = sheet.ExperimentProject!;
|
||||||
|
var task = project.TeachingTask!;
|
||||||
|
var course = await db.Courses.AsNoTracking()
|
||||||
|
.Where(item => item.Id == task.CourseId)
|
||||||
|
.Select(item => new { item.Code, item.Name })
|
||||||
|
.FirstOrDefaultAsync(cancellationToken);
|
||||||
return File(bytes, ExcelWorkbookHelper.ContentType,
|
return File(bytes, ExcelWorkbookHelper.ContentType,
|
||||||
DownloadFileName.Template("实验成绩", ".xlsx", sheet.ExperimentProject!.Code));
|
DownloadFileName.Template("实验成绩", ".xlsx",
|
||||||
|
course?.Code,
|
||||||
|
course?.Name,
|
||||||
|
task.TaskNumber,
|
||||||
|
task.Name,
|
||||||
|
project.Code,
|
||||||
|
project.Name));
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost("sheets/{id:guid}/import")]
|
[HttpPost("sheets/{id:guid}/import")]
|
||||||
|
|||||||
@@ -3462,7 +3462,7 @@ public sealed class DevelopmentSqliteMigrator(
|
|||||||
"""ALTER TABLE "AcademicCalendarEvents" ADD COLUMN "Source" INTEGER NOT NULL DEFAULT 1;""",
|
"""ALTER TABLE "AcademicCalendarEvents" ADD COLUMN "Source" INTEGER NOT NULL DEFAULT 1;""",
|
||||||
"""ALTER TABLE "AcademicCalendarEvents" ADD COLUMN "SourceYear" INTEGER NULL;""",
|
"""ALTER TABLE "AcademicCalendarEvents" ADD COLUMN "SourceYear" INTEGER NULL;""",
|
||||||
"""ALTER TABLE "AcademicCalendarEvents" ADD COLUMN "IsOffDay" INTEGER NULL;""",
|
"""ALTER TABLE "AcademicCalendarEvents" ADD COLUMN "IsOffDay" INTEGER NULL;""",
|
||||||
"""CREATE INDEX "IX_AcademicCalendarEvents_AcademicTermId_Source_SourceYear_StartsOn" ON "AcademicCalendarEvents" ("AcademicTermId", "Source", "SourceYear", "StartsOn");"""
|
"""CREATE INDEX IF NOT EXISTS "IX_AcademicCalendarEvents_AcademicTermId_Source_SourceYear_StartsOn" ON "AcademicCalendarEvents" ("AcademicTermId", "Source", "SourceYear", "StartsOn");"""
|
||||||
];
|
];
|
||||||
|
|
||||||
private static readonly string[] CourseEquivalencyRulesAndWaitlistAuditStatements =
|
private static readonly string[] CourseEquivalencyRulesAndWaitlistAuditStatements =
|
||||||
|
|||||||
Loaded 3 of 7 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user