YD_Event.Admin/YD_Event.Core/Entities/EventJudgeScoreSheet.cs

198 lines
4.8 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

namespace YD_Event.Core.Entities;
/// <summary>
/// 裁判评分单表
/// </summary>
[SugarTable("EventJudgeScoreSheet")]
public class EventJudgeScoreSheet : Entity<long>, ISoftDelete, ICreatedUserId, ICreatedTime, IUpdatedUserId, IUpdatedTime
{
/// <summary>
/// 关联的赛事ID
/// </summary>
public long EventId { get; set; }
/// <summary>
/// 关联的比赛场次ID
/// </summary>
public long SessionId { get; set; }
/// <summary>
/// 关联的场次出场记录ID
/// </summary>
public long SessionEntryId { get; set; }
/// <summary>
/// 关联的裁判评分任务ID
/// </summary>
public long JudgeTaskId { get; set; }
/// <summary>
/// 关联的裁判分配ID
/// </summary>
public long JudgeAssignmentId { get; set; }
/// <summary>
/// 关联的裁判档案ID
/// </summary>
public long RefereeId { get; set; }
/// <summary>
/// 提交用户ID
/// </summary>
[SugarColumn(IsNullable = true)]
public long? JudgeUserId { get; set; }
/// <summary>
/// 裁判席位编码
/// </summary>
[SugarColumn(Length = 32)]
public string JudgeRole { get; set; } = null!;
/// <summary>
/// 裁判角色类别编码
/// </summary>
[SugarColumn(Length = 16)]
public string JudgeRoleType { get; set; } = null!;
/// <summary>
/// 关联的计分规则ID
/// </summary>
public long ScoreRuleId { get; set; }
/// <summary>
/// 计分规则版本号
/// </summary>
public int RuleVersion { get; set; } = 1;
/// <summary>
/// 评分单版本号
/// </summary>
public int SheetVersion { get; set; } = 1;
/// <summary>
/// 评分单状态:0-草稿,10-已提交,20-已确认,30-已被修正,90-已作废
/// </summary>
public int SheetStatus { get; set; }
/// <summary>
/// 是否为当前有效版本
/// </summary>
public bool IsCurrent { get; set; } = true;
/// <summary>
/// 难度分
/// </summary>
[SugarColumn(DecimalDigits = 4)]
public decimal DifficultyScore { get; set; }
/// <summary>
/// 表现分
/// </summary>
[SugarColumn(DecimalDigits = 4)]
public decimal PerformanceScore { get; set; }
/// <summary>
/// 规定分
/// </summary>
[SugarColumn(DecimalDigits = 4)]
public decimal RequiredScore { get; set; }
/// <summary>
/// 扣分
/// </summary>
[SugarColumn(DecimalDigits = 4)]
public decimal DeductionScore { get; set; }
/// <summary>
/// 规定元素完成数量
/// </summary>
[SugarColumn(DecimalDigits = 4)]
public decimal RequiredCompletedCount { get; set; }
/// <summary>
/// 规定元素缺失数量
/// </summary>
[SugarColumn(DecimalDigits = 4)]
public decimal RequiredMissingCount { get; set; }
/// <summary>
/// 合计得分
/// </summary>
[SugarColumn(DecimalDigits = 4)]
public decimal TotalScore { get; set; }
/// <summary>
/// 是否取消比赛资格
/// </summary>
public bool IsDisqualified { get; set; }
/// <summary>
/// 取消比赛资格原因编码
/// </summary>
[SugarColumn(Length = 64, IsNullable = true)]
public string? DisqualifyReasonCode { get; set; }
/// <summary>
/// 取消比赛资格补充说明
/// </summary>
[SugarColumn(Length = 512, IsNullable = true)]
public string? DisqualifyRemark { get; set; }
/// <summary>
/// 计算明细(JSON)
/// </summary>
[SugarColumn(ColumnDataType = "nvarchar(max)", IsNullable = true)]
public string? CalculationJson { get; set; }
/// <summary>
/// 提交幂等键
/// </summary>
[SugarColumn(Length = 64)]
public string IdempotencyKey { get; set; } = null!;
/// <summary>
/// 提交时间
/// </summary>
[SugarColumn(IsNullable = true)]
public DateTime? SubmittedTime { get; set; }
/// <summary>
/// 来源评分单ID
/// </summary>
[SugarColumn(IsNullable = true)]
public long? OriginalSheetId { get; set; }
/// <summary>
/// 修正原因
/// </summary>
[SugarColumn(Length = 512, IsNullable = true)]
public string? CorrectionReason { get; set; }
/// <summary>
/// 标记删除
/// </summary>
public bool DeleteMark { get; set; }
/// <summary>
/// 创建人
/// </summary>
public long CreatedUserId { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreatedTime { get; set; }
/// <summary>
/// 更新人
/// </summary>
[SugarColumn(IsNullable = true)]
public long? UpdatedUserId { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[SugarColumn(IsNullable = true)]
public DateTime? UpdatedTime { get; set; }
}