Add comprehensive academic statistics refresh workflow

This commit is contained in:
biss committed 2026-08-17 11:14:28 +08:00
1 parent c4649f9cdc
commit b6dfdbfbbf
9 files changed
+7314 -7

No files matched your search

@@ -51,6 +51,9 @@ public sealed class ScheduleSettingsController(AppDbContext db, IAppCache cache)
settings.LatePeriodPenalty = request.LatePeriodPenalty;
settings.RoomCapacityWasteWeight = request.RoomCapacityWasteWeight;
settings.CoursePreferenceWeight = request.CoursePreferenceWeight;
settings.GeneticPopulationSize = request.GeneticPopulationSize;
settings.GeneticGenerationCount = request.GeneticGenerationCount;
settings.GeneticMutationRatePercent = request.GeneticMutationRatePercent;
await db.SaveChangesAsync(cancellationToken);
return Ok(ToOptimizationSettingsResponse(settings));
}
@@ -82,7 +85,10 @@ public sealed class ScheduleSettingsController(AppDbContext db, IAppCache cache)
settings.EarlyPeriodPenalty,
settings.LatePeriodPenalty,
settings.RoomCapacityWasteWeight,
settings.CoursePreferenceWeight
settings.CoursePreferenceWeight,
settings.GeneticPopulationSize,
settings.GeneticGenerationCount,
settings.GeneticMutationRatePercent
};
[HttpPut("time-slots/{academicTermId:guid}")]
@@ -622,7 +628,10 @@ public sealed record ScheduleOptimizationSettingsRequest(
[Range(0, 10_000)] int EarlyPeriodPenalty,
[Range(0, 10_000)] int LatePeriodPenalty,
[Range(0, 10_000)] int RoomCapacityWasteWeight,
[Range(0, 10_000)] int CoursePreferenceWeight = 180);
[Range(0, 10_000)] int CoursePreferenceWeight = 180,
[Range(12, 64)] int GeneticPopulationSize = 32,
[Range(12, 160)] int GeneticGenerationCount = 80,
[Range(1, 50)] int GeneticMutationRatePercent = 12);
public sealed record TeachingTaskScheduleConstraintRequest(
TeachingTaskSchedulingMode SchedulingMode,