已修改完成,同时解决了“考生名单都是 0 人”的根因。
考生范围统一为“行政班关联学生 + 已选课学生”,并自动去重;考场分配、人数显示、冲突检测、学生考试安排均使用同一口径。[TeachingTaskRosterQuery.cs (line 40)](E:/jiaowu/src/Jiaowu.Api/Infrastructure/Teaching/TeachingTaskRosterQuery.cs:40) 新增考场签名单 Excel 导出接口。[ExamsController.cs (line 568)](E:/jiaowu/src/Jiaowu.Api/Controllers/ExamsController.cs:568) 考试计划页面新增“导出考场签名单”按钮。[ExamsView.vue (line 255)](E:/jiaowu/web/src/views/ExamsView.vue:255) 工作簿包含“考场汇总”以及每个考试场次独立的 A4 签到表,字段包括座位号、学号、姓名、行政班、考生签名和备注。[ExamSignInWorkbookExporter.cs (line 12)](E:/jiaowu/src/Jiaowu.Api/Infrastructure/Exams/ExamSignInWorkbookExporter.cs:12) 未分配考场或监考教师时,也能导出并显示“待分配”。
This commit is contained in:
@@ -119,15 +119,28 @@ public sealed class MySqlMigrationTests
|
||||
public void MySql_teaching_task_roster_query_is_translatable()
|
||||
{
|
||||
using var db = new AppDbContext(CreateMySqlOptions());
|
||||
var studentId =
|
||||
Guid.Parse("22222222-2222-2222-2222-222222222222");
|
||||
|
||||
var sql = TeachingTaskRosterQuery
|
||||
.ForTask(
|
||||
db,
|
||||
Guid.Parse("11111111-1111-1111-1111-111111111111"))
|
||||
.ToQueryString();
|
||||
var taskIdsSql = TeachingTaskRosterQuery
|
||||
.TaskIdsForStudent(db, studentId)
|
||||
.ToQueryString();
|
||||
|
||||
Assert.Contains("TeachingTaskClasses", sql, StringComparison.OrdinalIgnoreCase);
|
||||
Assert.Contains("CourseEnrollments", sql, StringComparison.OrdinalIgnoreCase);
|
||||
Assert.Contains(
|
||||
"TeachingTaskClasses",
|
||||
taskIdsSql,
|
||||
StringComparison.OrdinalIgnoreCase);
|
||||
Assert.Contains(
|
||||
"CourseEnrollments",
|
||||
taskIdsSql,
|
||||
StringComparison.OrdinalIgnoreCase);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
Reference in New Issue
Block a user