namespace YD_Event.Application.Scoring.Dtos;
///
/// 后台记分台:单个裁判类型的评分提交进度
///
public class JudgeBoardRoleProgressOutput
{
///
/// 裁判类型编码
///
public string RoleType { get; set; } = string.Empty;
///
/// 裁判类型名称
///
public string RoleName { get; set; } = string.Empty;
///
/// 计分符号,如 T1、T2、T3
///
public string Symbol { get; set; } = string.Empty;
///
/// 应提交人数
///
public int ExpectedCount { get; set; }
///
/// 已提交人数
///
public int SubmittedCount { get; set; }
///
/// 未提交的裁判姓名
///
public List PendingJudges { get; set; } = new();
}
///
/// 后台记分台:单个裁判的评分
///
public class JudgeBoardSheetScoreOutput
{
///
/// 评分单ID
///
public long ScoreSheetId { get; set; }
///
/// 裁判ID
///
public long RefereeId { get; set; }
///
/// 裁判姓名
///
public string RefereeName { get; set; } = string.Empty;
///
/// 裁判席位编码
///
public string JudgeRole { get; set; } = string.Empty;
///
/// 裁判类型编码
///
public string JudgeRoleType { get; set; } = string.Empty;
///
/// 该裁判的得分
///
public string Value { get; set; } = string.Empty;
///
/// 是否由该裁判判定取消比赛资格
///
public bool IsDisqualified { get; set; }
/// 裁判记录画板地址。
public string? AnnotationUrl { get; set; }
}
///
/// 后台记分台:单个计分符号的聚合得分
///
public class JudgeSymbolScoreOutput
{
///
/// 计分符号,如 T1
///
public string Symbol { get; set; } = string.Empty;
///
/// 计分名称,如创意分
///
public string Label { get; set; } = string.Empty;
///
/// 裁判类型编码
///
public string RoleType { get; set; } = string.Empty;
///
/// 聚合方式:avg、sum、max、min
///
public string Aggregate { get; set; } = string.Empty;
///
/// 参与总分的符号:1-加分,-1-减分
///
public int Sign { get; set; }
///
/// 聚合后的分值
///
public string Value { get; set; } = string.Empty;
///
/// 参与聚合的各裁判评分
///
public List Judges { get; set; } = new();
}
///
/// 后台记分台:一个出场的成绩
///
public class JudgeScoreBoardEntryOutput
{
///
/// 出场记录ID
///
public long SessionEntryId { get; set; }
///
/// 出场编号
///
public string EntryNo { get; set; } = string.Empty;
///
/// 出场顺序
///
public int PlayOrder { get; set; }
///
/// 参赛者/参赛队名称
///
public string ParticipantName { get; set; } = string.Empty;
///
/// 组别名称
///
public string GroupName { get; set; } = string.Empty;
///
/// 出场状态:0-待出场,10-已检录,20-已叫号,30-进行中,40-已完成,80-退赛,90-取消比赛资格
///
public int EntryStatus { get; set; }
///
/// 是否所有应到裁判都已提交评分
///
public bool IsCompleted { get; set; }
///
/// 是否跳过计分(退赛、成绩作废)
///
public bool IsSkipped { get; set; }
///
/// 跳过原因
///
public string? SkipReason { get; set; }
///
/// 是否取消比赛资格
///
public bool IsDisqualified { get; set; }
///
/// 总分
///
public string TotalScore { get; set; } = string.Empty;
///
/// 名次,0 表示暂未排名
///
public int Rank { get; set; }
///
/// 成绩状态:0-未生成,10-待复核,20-已确认,90-已作废
///
public int ResultStatus { get; set; }
///
/// 成绩状态名称
///
public string ResultStatusName { get; set; } = string.Empty;
///
/// 各计分符号的聚合明细
///
public List Symbols { get; set; } = new();
///
/// 各裁判类型的提交进度
///
public List Progress { get; set; } = new();
}
///
/// 后台记分台
///
public class JudgeScoreBoardOutput
{
///
/// 场次ID
///
public long SessionId { get; set; }
///
/// 赛事ID
///
public long EventId { get; set; }
///
/// 场次名称
///
public string SessionName { get; set; } = string.Empty;
///
/// 场地名称
///
public string VenueName { get; set; } = string.Empty;
///
/// 项目名称
///
public string ProjectName { get; set; } = string.Empty;
///
/// 计分规则名称
///
public string RuleName { get; set; } = string.Empty;
///
/// 计分公式,如 T1 + T2 - T3
///
public string Formula { get; set; } = string.Empty;
///
/// 场次状态:0-草稿,10-就绪,20-检录中,30-进行中,40-暂停,50-待确认,60-已结束,90-已取消
///
public int SessionStatus { get; set; }
///
/// 出场总数
///
public int EntryCount { get; set; }
///
/// 已算出成绩的出场数
///
public int CompletedCount { get; set; }
///
/// 出场成绩
///
public List Entries { get; set; } = new();
}
///
/// 成绩排名查询
///
public class JudgeRankingQueryInput
{
///
/// 赛事ID
///
public long EventId { get; set; }
///
/// 项目ID
///
public long? ProjectId { get; set; }
///
/// 组别名称
///
public string? GroupName { get; set; }
///
/// 成绩状态:10-待复核,20-已确认
///
public int? ResultStatus { get; set; }
}
///
/// 成绩排名行
///
public class JudgeRankingRowOutput
{
///
/// 成绩ID
///
public long ResultId { get; set; }
///
/// 出场记录ID
///
public long? SessionEntryId { get; set; }
///
/// 项目ID
///
public long ProjectId { get; set; }
///
/// 项目类型名称
///
public string ProjectTypeName { get; set; } = string.Empty;
///
/// 组别名称
///
public string GroupName { get; set; } = string.Empty;
///
/// 参赛者/参赛队名称
///
public string ParticipantName { get; set; } = string.Empty;
///
/// 名次
///
public int Rank { get; set; }
///
/// 总分
///
public string TotalScore { get; set; } = string.Empty;
///
/// 难度分
///
public decimal DifficultyScore { get; set; }
///
/// 表现分(规定赛创意分 T1)
///
public decimal PerformanceScore { get; set; }
///
/// 规定分(规定赛完成分 T2)
///
public decimal RequiredScore { get; set; }
///
/// 扣分(规定赛主裁扣分 T3)
///
public decimal DeductionScore { get; set; }
///
/// 是否取消比赛资格
///
public bool IsDisqualified { get; set; }
///
/// 成绩状态:10-待复核,20-已确认,90-已作废
///
public int ResultStatus { get; set; }
///
/// 成绩状态名称
///
public string ResultStatusName { get; set; } = string.Empty;
///
/// 成绩版本号
///
public int ResultVersion { get; set; }
///
/// 复核人(后台系统用户ID)
///
public long? ReviewUserId { get; set; }
///
/// 复核时间
///
public DateTime? ReviewTime { get; set; }
}
///
/// 后台发起成绩修正
///
public class InitiateJudgeCorrectionInput
{
///
/// 评分单ID
///
public long ScoreSheetId { get; set; }
///
/// 修正原因
///
public string Reason { get; set; } = null!;
}
///
/// 审批成绩修正申请
///
public class ApproveJudgeCorrectionInput
{
///
/// 修正申请ID
///
public long CorrectionId { get; set; }
///
/// 是否同意
///
public bool Approved { get; set; }
///
/// 审批意见
///
public string? ApproveRemark { get; set; }
}
///
/// 成绩修正申请
///
public class JudgeCorrectionOutput
{
///
/// 修正申请ID
///
public long Id { get; set; }
///
/// 场次ID
///
public long SessionId { get; set; }
///
/// 场次名称
///
public string SessionName { get; set; } = string.Empty;
///
/// 出场记录ID
///
public long SessionEntryId { get; set; }
///
/// 出场编号
///
public string EntryNo { get; set; } = string.Empty;
///
/// 参赛者/参赛队名称
///
public string ParticipantName { get; set; } = string.Empty;
///
/// 原评分单ID
///
public long OriginalScoreSheetId { get; set; }
///
/// 修正后的新评分单ID
///
public long? NewScoreSheetId { get; set; }
///
/// 裁判席位编码
///
public string JudgeRole { get; set; } = string.Empty;
///
/// 裁判姓名
///
public string RefereeName { get; set; } = string.Empty;
///
/// 修正前的得分
///
public string OriginalScore { get; set; } = string.Empty;
///
/// 修正后的得分
///
public string? NewScore { get; set; }
///
/// 申请修正原因
///
public string ApplyReason { get; set; } = string.Empty;
///
/// 审批意见
///
public string? ApproveRemark { get; set; }
///
/// 修正状态:0-已申请,10-已批准,20-已拒绝,30-裁判修改中,40-已完成,90-已取消
///
public int CorrectionStatus { get; set; }
///
/// 修正状态名称
///
public string CorrectionStatusName { get; set; } = string.Empty;
///
/// 申请时间
///
public DateTime CreatedTime { get; set; }
///
/// 审批时间
///
public DateTime? ApproveTime { get; set; }
///
/// 完成时间
///
public DateTime? CompletedTime { get; set; }
}
///
/// 场次成绩确认结果
///
public class ConfirmSessionScoreOutput
{
///
/// 已确认的成绩条数
///
public int ConfirmedCount { get; set; }
///
/// 仍未完成评分的出场编号
///
public List PendingEntries { get; set; } = new();
///
/// 场次是否已整场结束
///
public bool SessionFinished { get; set; }
}