767 lines
17 KiB
C#
767 lines
17 KiB
C#
namespace YD_Event.Application.Workbench.Dtos;
|
||
|
||
/// <summary>
|
||
/// 工作台场次列表查询输入
|
||
/// </summary>
|
||
public class WorkbenchSessionQueryInput
|
||
{
|
||
/// <summary>
|
||
/// 赛事ID
|
||
/// </summary>
|
||
public long EventId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 场地ID(可选)
|
||
/// </summary>
|
||
public long? VenueId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 项目ID(可选)
|
||
/// </summary>
|
||
public long? EventProjectId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 场次状态(可选):0-草稿,10-就绪,20-检录中,30-进行中,40-暂停,50-待确认,60-已结束,90-已取消
|
||
/// </summary>
|
||
public int? SessionStatus { get; set; }
|
||
|
||
/// <summary>
|
||
/// 关键词搜索(场次编号、场次名称)
|
||
/// </summary>
|
||
public string? Keyword { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 工作台场次信息
|
||
/// </summary>
|
||
public class WorkbenchSessionDto
|
||
{
|
||
/// <summary>
|
||
/// 场次ID
|
||
/// </summary>
|
||
public long SessionId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 场次编号
|
||
/// </summary>
|
||
public string SessionNo { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 场次名称
|
||
/// </summary>
|
||
public string? SessionName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 赛事名称
|
||
/// </summary>
|
||
public string EventName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 项目名称
|
||
/// </summary>
|
||
public string ProjectName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 场地名称
|
||
/// </summary>
|
||
public string VenueName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 组别名称(多组别混合时为空)
|
||
/// </summary>
|
||
public string? GroupName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 场次开始时间
|
||
/// </summary>
|
||
public DateTime? StartTime { get; set; }
|
||
|
||
/// <summary>
|
||
/// 场次结束时间
|
||
/// </summary>
|
||
public DateTime? EndTime { get; set; }
|
||
|
||
/// <summary>
|
||
/// 场次状态:0-草稿,10-就绪,20-检录中,30-进行中,40-暂停,50-待确认,60-已结束,90-已取消
|
||
/// </summary>
|
||
public int SessionStatus { get; set; }
|
||
|
||
/// <summary>
|
||
/// 场次状态名称
|
||
/// </summary>
|
||
public string SessionStatusName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 当前出场记录ID
|
||
/// </summary>
|
||
public long? CurrentEntryId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 总出场数
|
||
/// </summary>
|
||
public int TotalEntries { get; set; }
|
||
|
||
/// <summary>
|
||
/// 已完成出场数
|
||
/// </summary>
|
||
public int CompletedEntries { get; set; }
|
||
|
||
/// <summary>
|
||
/// 已确认成绩数
|
||
/// </summary>
|
||
public int ConfirmedResults { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 工作台出场记录列表输入
|
||
/// </summary>
|
||
public class WorkbenchEntryQueryInput
|
||
{
|
||
/// <summary>
|
||
/// 场次ID
|
||
/// </summary>
|
||
public long SessionId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 出场状态(可选)
|
||
/// </summary>
|
||
public int? EntryStatus { get; set; }
|
||
|
||
/// <summary>
|
||
/// 成绩状态(可选)
|
||
/// </summary>
|
||
public int? ResultStatus { get; set; }
|
||
|
||
/// <summary>
|
||
/// 关键词搜索(参赛者姓名、队名、出场编号)
|
||
/// </summary>
|
||
public string? Keyword { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 工作台出场记录详情
|
||
/// </summary>
|
||
public class WorkbenchEntryDetailDto
|
||
{
|
||
/// <summary>
|
||
/// 出场记录ID
|
||
/// </summary>
|
||
public long SessionEntryId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 出场编号
|
||
/// </summary>
|
||
public string EntryNo { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 出场顺序
|
||
/// </summary>
|
||
public int PlayOrder { get; set; }
|
||
|
||
/// <summary>
|
||
/// 参赛者姓名
|
||
/// </summary>
|
||
public string ParticipantName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 队伍名称(个人项目为空)
|
||
/// </summary>
|
||
public string? TeamName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 组别名称
|
||
/// </summary>
|
||
public string GroupName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 出场状态:0-待出场,10-已检录,20-已叫号,30-进行中,40-已完成,80-退赛,90-取消比赛资格
|
||
/// </summary>
|
||
public int EntryStatus { get; set; }
|
||
|
||
/// <summary>
|
||
/// 出场状态名称
|
||
/// </summary>
|
||
public string EntryStatusName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 是否为重赛
|
||
/// </summary>
|
||
public bool IsRematch { get; set; }
|
||
|
||
/// <summary>
|
||
/// 成绩信息
|
||
/// </summary>
|
||
public WorkbenchEntryResultDto? Result { get; set; }
|
||
|
||
/// <summary>
|
||
/// 裁判评分详情列表
|
||
/// </summary>
|
||
public List<WorkbenchJudgeScoreDto> JudgeScores { get; set; } = new();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 工作台出场成绩信息
|
||
/// </summary>
|
||
public class WorkbenchEntryResultDto
|
||
{
|
||
/// <summary>
|
||
/// 成绩ID
|
||
/// </summary>
|
||
public long ResultId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 难度分
|
||
/// </summary>
|
||
public decimal DifficultyScore { get; set; }
|
||
|
||
/// <summary>
|
||
/// 表现分
|
||
/// </summary>
|
||
public decimal PerformanceScore { get; set; }
|
||
|
||
/// <summary>
|
||
/// 规定分
|
||
/// </summary>
|
||
public decimal RequiredScore { get; set; }
|
||
|
||
/// <summary>
|
||
/// 扣分
|
||
/// </summary>
|
||
public decimal DeductionScore { get; set; }
|
||
|
||
/// <summary>
|
||
/// 总分
|
||
/// </summary>
|
||
public decimal? TotalScore { get; set; }
|
||
|
||
/// <summary>
|
||
/// 成绩显示文本
|
||
/// </summary>
|
||
public string ScoreText { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 是否取消比赛资格
|
||
/// </summary>
|
||
public bool IsDisqualified { get; set; }
|
||
|
||
/// <summary>
|
||
/// 取消比赛资格原因
|
||
/// </summary>
|
||
public string? DisqualifyReason { get; set; }
|
||
|
||
/// <summary>
|
||
/// 成绩状态:0-计算中,10-待复核,20-已确认,30-已投屏,40-已更正,90-已作废
|
||
/// </summary>
|
||
public int ResultStatus { get; set; }
|
||
|
||
/// <summary>
|
||
/// 成绩状态名称
|
||
/// </summary>
|
||
public string ResultStatusName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 当前成绩版本号
|
||
/// </summary>
|
||
public int ResultVersion { get; set; }
|
||
|
||
/// <summary>
|
||
/// 复核人(后台系统用户ID)
|
||
/// </summary>
|
||
public long? ReviewUserId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 复核时间
|
||
/// </summary>
|
||
public DateTime? ReviewTime { get; set; }
|
||
|
||
/// <summary>
|
||
/// 排名
|
||
/// </summary>
|
||
public int? Rank { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 工作台裁判评分信息
|
||
/// </summary>
|
||
public class WorkbenchJudgeScoreDto
|
||
{
|
||
/// <summary>
|
||
/// 评分单ID
|
||
/// </summary>
|
||
public long ScoreSheetId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 裁判席位编码
|
||
/// </summary>
|
||
public string JudgeRole { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 裁判类型编码
|
||
/// </summary>
|
||
public string JudgeRoleType { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 裁判类型名称
|
||
/// </summary>
|
||
public string JudgeRoleName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 裁判姓名
|
||
/// </summary>
|
||
public string JudgeName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 评分状态:0-草稿,10-已提交,20-已确认,30-已被修正,90-已作废
|
||
/// </summary>
|
||
public int SheetStatus { get; set; }
|
||
|
||
/// <summary>
|
||
/// 评分状态名称
|
||
/// </summary>
|
||
public string SheetStatusName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 难度分
|
||
/// </summary>
|
||
public decimal DifficultyScore { get; set; }
|
||
|
||
/// <summary>
|
||
/// 表现分
|
||
/// </summary>
|
||
public decimal PerformanceScore { get; set; }
|
||
|
||
/// <summary>
|
||
/// 规定分
|
||
/// </summary>
|
||
public decimal RequiredScore { get; set; }
|
||
|
||
/// <summary>
|
||
/// 扣分
|
||
/// </summary>
|
||
public decimal DeductionScore { get; set; }
|
||
|
||
/// <summary>
|
||
/// 合计得分
|
||
/// </summary>
|
||
public decimal TotalScore { get; set; }
|
||
|
||
/// <summary>
|
||
/// 是否判定取消比赛资格
|
||
/// </summary>
|
||
public bool IsDisqualified { get; set; }
|
||
|
||
/// <summary>
|
||
/// 提交时间
|
||
/// </summary>
|
||
public DateTime? SubmittedTime { get; set; }
|
||
|
||
/// <summary>
|
||
/// 是否存在待处理的修正申请
|
||
/// </summary>
|
||
public bool HasPendingCorrection { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 成绩投屏输入
|
||
/// </summary>
|
||
public class ResultScreenCastInput
|
||
{
|
||
/// <summary>
|
||
/// 赛事ID
|
||
/// </summary>
|
||
public long EventId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 投屏类型:1-单个成绩,2-排名列表
|
||
/// </summary>
|
||
public int CastType { get; set; }
|
||
|
||
/// <summary>
|
||
/// 场地ID(可选,用于筛选投屏范围)
|
||
/// </summary>
|
||
public long? VenueId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 项目ID(投屏排名时必填)
|
||
/// </summary>
|
||
public long? EventProjectId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 组别ID(投屏排名时必填)
|
||
/// </summary>
|
||
public long? EventProjectGroupId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 场次ID(投屏单个成绩时必填)
|
||
/// </summary>
|
||
public long? SessionId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 出场记录ID(投屏单个成绩时必填)
|
||
/// </summary>
|
||
public long? SessionEntryId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 成绩ID(投屏单个成绩时必填)
|
||
/// </summary>
|
||
public long? EventResultId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 成绩版本号(可选,默认使用当前版本)
|
||
/// </summary>
|
||
public int? ResultVersion { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 成绩投屏输出
|
||
/// </summary>
|
||
public class ResultScreenCastOutput
|
||
{
|
||
/// <summary>
|
||
/// 投屏记录ID
|
||
/// </summary>
|
||
public long ScreenCastId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 投屏类型:1-成绩,2-排名
|
||
/// </summary>
|
||
public int CastType { get; set; }
|
||
|
||
/// <summary>
|
||
/// 投屏时间
|
||
/// </summary>
|
||
public DateTime CastTime { get; set; }
|
||
|
||
/// <summary>
|
||
/// 投屏内容快照
|
||
/// </summary>
|
||
public string PayloadJson { get; set; } = string.Empty;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 撤回投屏输入
|
||
/// </summary>
|
||
public class WithdrawScreenCastInput
|
||
{
|
||
/// <summary>
|
||
/// 投屏记录ID
|
||
/// </summary>
|
||
public long ScreenCastId { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取当前投屏内容输入
|
||
/// </summary>
|
||
public class GetCurrentScreenCastInput
|
||
{
|
||
/// <summary>
|
||
/// 赛事ID
|
||
/// </summary>
|
||
public long EventId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 场地ID(可选)
|
||
/// </summary>
|
||
public long? VenueId { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 当前投屏内容输出
|
||
/// </summary>
|
||
public class CurrentScreenCastDto
|
||
{
|
||
/// <summary>
|
||
/// 投屏记录ID
|
||
/// </summary>
|
||
public long ScreenCastId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 投屏类型:1-成绩,2-排名
|
||
/// </summary>
|
||
public int CastType { get; set; }
|
||
|
||
/// <summary>
|
||
/// 投屏状态:0-已投出,10-已撤回,20-已被新投屏替换
|
||
/// </summary>
|
||
public int CastStatus { get; set; }
|
||
|
||
/// <summary>
|
||
/// 投屏时间
|
||
/// </summary>
|
||
public DateTime CastTime { get; set; }
|
||
|
||
/// <summary>
|
||
/// 投屏内容(JSON格式)
|
||
/// </summary>
|
||
public string PayloadJson { get; set; } = string.Empty;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 成绩修正申请审批输入
|
||
/// </summary>
|
||
public class ApproveScoreCorrectionInput
|
||
{
|
||
/// <summary>
|
||
/// 修正申请ID
|
||
/// </summary>
|
||
public long CorrectionId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 审批结果:true-批准,false-拒绝
|
||
/// </summary>
|
||
public bool IsApproved { get; set; }
|
||
|
||
/// <summary>
|
||
/// 审批意见
|
||
/// </summary>
|
||
public string? ApproveRemark { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 成绩修正申请列表查询输入
|
||
/// </summary>
|
||
public class ScoreCorrectionQueryInput
|
||
{
|
||
/// <summary>
|
||
/// 赛事ID
|
||
/// </summary>
|
||
public long EventId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 修正状态(可选):0-已申请,10-已批准,20-已拒绝,30-裁判修改中,40-已完成,90-已取消
|
||
/// </summary>
|
||
public int? CorrectionStatus { get; set; }
|
||
|
||
/// <summary>
|
||
/// 关键词搜索
|
||
/// </summary>
|
||
public string? Keyword { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 成绩修正申请列表项
|
||
/// </summary>
|
||
public class ScoreCorrectionListDto
|
||
{
|
||
/// <summary>
|
||
/// 修正申请ID
|
||
/// </summary>
|
||
public long CorrectionId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 赛事名称
|
||
/// </summary>
|
||
public string EventName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 场次编号
|
||
/// </summary>
|
||
public string SessionNo { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 出场编号
|
||
/// </summary>
|
||
public string EntryNo { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 参赛者姓名
|
||
/// </summary>
|
||
public string ParticipantName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 裁判席位
|
||
/// </summary>
|
||
public string JudgeRole { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 申请人姓名
|
||
/// </summary>
|
||
public string ApplyUserName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 申请修正原因
|
||
/// </summary>
|
||
public string ApplyReason { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 申请时间
|
||
/// </summary>
|
||
public DateTime CreatedTime { get; set; }
|
||
|
||
/// <summary>
|
||
/// 修正状态:0-已申请,10-已批准,20-已拒绝,30-裁判修改中,40-已完成,90-已取消
|
||
/// </summary>
|
||
public int CorrectionStatus { get; set; }
|
||
|
||
/// <summary>
|
||
/// 修正状态名称
|
||
/// </summary>
|
||
public string CorrectionStatusName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 审批人姓名
|
||
/// </summary>
|
||
public string? ApproveUserName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 审批时间
|
||
/// </summary>
|
||
public DateTime? ApproveTime { get; set; }
|
||
|
||
/// <summary>
|
||
/// 完成时间
|
||
/// </summary>
|
||
public DateTime? CompletedTime { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 成绩修正申请详情
|
||
/// </summary>
|
||
public class ScoreCorrectionDetailDto
|
||
{
|
||
/// <summary>
|
||
/// 修正申请ID
|
||
/// </summary>
|
||
public long CorrectionId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 赛事信息
|
||
/// </summary>
|
||
public WorkbenchSessionDto Session { get; set; } = new();
|
||
|
||
/// <summary>
|
||
/// 出场信息
|
||
/// </summary>
|
||
public WorkbenchEntryDetailDto Entry { get; set; } = new();
|
||
|
||
/// <summary>
|
||
/// 原评分单信息
|
||
/// </summary>
|
||
public WorkbenchJudgeScoreDto OriginalScore { get; set; } = new();
|
||
|
||
/// <summary>
|
||
/// 新评分单信息(修正完成后有值)
|
||
/// </summary>
|
||
public WorkbenchJudgeScoreDto? NewScore { get; set; }
|
||
|
||
/// <summary>
|
||
/// 申请人信息
|
||
/// </summary>
|
||
public string ApplyUserName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 申请修正原因
|
||
/// </summary>
|
||
public string ApplyReason { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 申请时间
|
||
/// </summary>
|
||
public DateTime CreatedTime { get; set; }
|
||
|
||
/// <summary>
|
||
/// 修正状态:0-已申请,10-已批准,20-已拒绝,30-裁判修改中,40-已完成,90-已取消
|
||
/// </summary>
|
||
public int CorrectionStatus { get; set; }
|
||
|
||
/// <summary>
|
||
/// 审批人姓名
|
||
/// </summary>
|
||
public string? ApproveUserName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 审批意见
|
||
/// </summary>
|
||
public string? ApproveRemark { get; set; }
|
||
|
||
/// <summary>
|
||
/// 审批时间
|
||
/// </summary>
|
||
public DateTime? ApproveTime { get; set; }
|
||
|
||
/// <summary>
|
||
/// 完成时间
|
||
/// </summary>
|
||
public DateTime? CompletedTime { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 重赛输入
|
||
/// </summary>
|
||
public class CreateRematchInput
|
||
{
|
||
/// <summary>
|
||
/// 原出场记录ID
|
||
/// </summary>
|
||
public long OriginalSessionEntryId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 重赛原因
|
||
/// </summary>
|
||
public string RematchReason { get; set; } = string.Empty;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 重赛输出
|
||
/// </summary>
|
||
public class CreateRematchOutput
|
||
{
|
||
/// <summary>
|
||
/// 新出场记录ID
|
||
/// </summary>
|
||
public long NewSessionEntryId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 新出场编号
|
||
/// </summary>
|
||
public string NewEntryNo { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 新出场顺序
|
||
/// </summary>
|
||
public int NewPlayOrder { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 成绩作废输入
|
||
/// </summary>
|
||
public class VoidResultInput
|
||
{
|
||
/// <summary>
|
||
/// 出场记录ID
|
||
/// </summary>
|
||
public long SessionEntryId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 作废原因
|
||
/// </summary>
|
||
public string VoidReason { get; set; } = string.Empty;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 成绩确认输入
|
||
/// </summary>
|
||
public class ConfirmResultInput
|
||
{
|
||
/// <summary>
|
||
/// 成绩ID
|
||
/// </summary>
|
||
public long ResultId { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 批量成绩确认输入
|
||
/// </summary>
|
||
public class BatchConfirmResultInput
|
||
{
|
||
/// <summary>
|
||
/// 场次ID
|
||
/// </summary>
|
||
public long SessionId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 成绩ID列表(可选,不传则确认该场次所有待确认成绩)
|
||
/// </summary>
|
||
public List<long>? ResultIds { get; set; }
|
||
}
|