已完成,学生端考勤记录现在按课程展示。
每门课程会独立显示: 课程名称、代码、教学班和任课教师。 课程总体出勤率。 出勤、迟到、缺勤、请假、免修次数。 按日期排列的历次点名记录。 缺勤或迟到记录仍可单独申诉。
This commit is contained in:
@@ -9,6 +9,14 @@ public sealed class AttendanceSheet : EntityBase
|
||||
public required string Name { get; set; }
|
||||
public DateTime AttendanceDate { get; set; }
|
||||
public AttendanceSheetStatus Status { get; set; } = AttendanceSheetStatus.Draft;
|
||||
public AttendanceCheckInMethod CheckInMethod { get; set; } =
|
||||
AttendanceCheckInMethod.Manual;
|
||||
public string? CheckInToken { get; set; }
|
||||
public DateTime? CheckInStartsAt { get; set; }
|
||||
public DateTime? CheckInEndsAt { get; set; }
|
||||
public decimal? TargetLatitude { get; set; }
|
||||
public decimal? TargetLongitude { get; set; }
|
||||
public int? LocationRadiusMeters { get; set; }
|
||||
public string? Notes { get; set; }
|
||||
public DateTime? SubmittedAt { get; set; }
|
||||
public ICollection<AttendanceRecord> Records { get; set; } = [];
|
||||
@@ -22,6 +30,12 @@ public sealed class AttendanceRecord
|
||||
public Student? Student { get; set; }
|
||||
public AttendanceStatus Status { get; set; } = AttendanceStatus.Present;
|
||||
public string? Notes { get; set; }
|
||||
public DateTime? CheckInAt { get; set; }
|
||||
public AttendanceCheckInMethod? CheckedInMethod { get; set; }
|
||||
public decimal? CheckInLatitude { get; set; }
|
||||
public decimal? CheckInLongitude { get; set; }
|
||||
public double? CheckInAccuracyMeters { get; set; }
|
||||
public double? CheckInDistanceMeters { get; set; }
|
||||
public AttendanceAppealStatus AppealStatus { get; set; } = AttendanceAppealStatus.None;
|
||||
public string? AppealReason { get; set; }
|
||||
public DateTime? AppealSubmittedAt { get; set; }
|
||||
@@ -44,6 +58,13 @@ public enum AttendanceStatus
|
||||
Excused = 5
|
||||
}
|
||||
|
||||
public enum AttendanceCheckInMethod
|
||||
{
|
||||
Manual = 1,
|
||||
QrCode = 2,
|
||||
Location = 3
|
||||
}
|
||||
|
||||
public enum AttendanceAppealStatus
|
||||
{
|
||||
None = 0,
|
||||
|
||||
Reference in New Issue
Block a user