上线SQL

This commit is contained in:
马梓彭 2026-08-28 15:47:41 +08:00
parent 65c5b32bc8
commit 4ea7d283cc
4 changed files with 2082 additions and 11 deletions

File diff suppressed because it is too large Load Diff

View File

@ -104,13 +104,43 @@ public class JudgeAssignmentService : IDynamicApiController, ITransient
}
/// <summary>
/// 获取可分配裁判
/// 获取可分配裁判(过滤同时段已分配的裁判)
/// </summary>
[HttpGet("candidates/{eventId}/{sessionId}"), DisplayName("获取可分配裁判")]
public async Task<List<EventRefereeOutput>> GetCandidates(long eventId, long sessionId)
{
if (!await _sessionRepository.IsAnyAsync(x => x.Id == sessionId && x.EventId == eventId)) throw Oops.Bah("场次不存在");
return await GetEventReferees(eventId);
var session = await _sessionRepository.GetFirstAsync(x => x.Id == sessionId && x.EventId == eventId);
if (session == null) throw Oops.Bah("场次不存在");
var allReferees = await GetEventReferees(eventId);
// 如果场次没有设置时间,则不进行冲突检测
if (!session.StartTime.HasValue || !session.EndTime.HasValue)
{
return allReferees;
}
// 查找同时段已分配的裁判ID(场次时间重叠且已分配)
var conflictSessions = await _sessionRepository.AsQueryable()
.Where(x => x.EventId == eventId && x.Id != sessionId && x.SessionStatus != 90)
.Where(x => x.StartTime.HasValue && x.EndTime.HasValue)
.Where(x => (x.StartTime.Value <= session.EndTime.Value && x.EndTime.Value >= session.StartTime.Value))
.ToListAsync();
if (conflictSessions.Count == 0)
{
return allReferees;
}
var conflictSessionIds = conflictSessions.Select(x => x.Id).ToList();
var conflictAssignments = await _assignmentRepository.AsQueryable()
.Where(x => conflictSessionIds.Contains(x.SessionId) && x.AssignmentStatus < 9)
.ToListAsync();
var conflictRefereeIds = conflictAssignments.Select(x => x.RefereeId).Distinct().ToList();
// 过滤已分配裁判
return allReferees.Where(x => !conflictRefereeIds.Contains(x.RefereeId)).ToList();
}
/// <summary>
@ -168,7 +198,7 @@ public class JudgeAssignmentService : IDynamicApiController, ITransient
}
/// <summary>
/// 生成裁判报名码,已生成过的赛事直接返回原报名码
/// 生成裁判报名码,确保唯一性
/// </summary>
[HttpPost("registration-code/{eventId}"), DisplayName("生成裁判报名码")]
public async Task<string> GenerateRegistrationCode(long eventId)
@ -177,9 +207,21 @@ public class JudgeAssignmentService : IDynamicApiController, ITransient
if (entity == null) throw Oops.Bah("赛事不存在");
if (string.IsNullOrWhiteSpace(entity.RefereeRegistrationCode))
{
entity.RefereeRegistrationCode = $"RJ{eventId % 1000000:D6}{Random.Shared.Next(1000, 9999)}";
entity.UpdatedUserId = _authManager.UserId; entity.UpdatedTime = DateTime.Now;
await _eventRepository.UpdateAsync(entity);
// 生成唯一报名码,最多重试10次
for (int i = 0; i < 10; i++)
{
var code = $"RJ{eventId % 1000000:D6}{Random.Shared.Next(1000, 9999)}";
// 校验全局唯一性
if (!await _eventRepository.IsAnyAsync(x => x.RefereeRegistrationCode == code))
{
entity.RefereeRegistrationCode = code;
entity.UpdatedUserId = _authManager.UserId;
entity.UpdatedTime = DateTime.Now;
await _eventRepository.UpdateAsync(entity);
return code;
}
}
throw Oops.Bah("报名码生成失败,请重试");
}
return entity.RefereeRegistrationCode;
}

View File

@ -113,13 +113,56 @@ public class RefereeService : BaseService<YD_Event.Core.Entities.Referee>, ITran
}
/// <summary>
/// 手机号已注册小程序账号时自动建立关联,未注册时允许裁判档案独立存在。
/// 手机号已注册小程序账号时自动建立关联,未注册时允许裁判档案独立存在。
/// </summary>
private Task<YD_Event.Core.Entities.AppUser?> FindAppUserAsync(string mobile)
{
return _userRepository.AsQueryable().Where(x => x.Mobile == mobile).FirstAsync();
}
/// <summary>
/// 批量回填已存在裁判的AppUserId。按手机号匹配小程序用户,建立关联。
/// </summary>
[DisplayName("批量回填AppUserId")]
[HttpPost("backfill-appuser")]
public async Task<object> BackfillAppUserId()
{
var refereesWithoutAppUser = await _repository.AsQueryable()
.Where(x => x.AppUserId == null && !x.DeleteMark && !string.IsNullOrEmpty(x.Mobile))
.ToListAsync();
if (refereesWithoutAppUser.Count == 0)
{
return new { success = true, message = "无需回填", count = 0 };
}
var mobiles = refereesWithoutAppUser.Select(x => x.Mobile).Distinct().ToList();
var appUsers = await _userRepository.AsQueryable()
.Where(x => mobiles.Contains(x.Mobile))
.ToListAsync();
var mobileUserMap = appUsers.ToDictionary(x => x.Mobile, x => x.Id);
var updatedCount = 0;
foreach (var referee in refereesWithoutAppUser)
{
if (mobileUserMap.TryGetValue(referee.Mobile, out var appUserId))
{
referee.AppUserId = appUserId;
referee.UpdatedUserId = _authManager.UserId;
referee.UpdatedTime = DateTime.Now;
updatedCount++;
}
}
if (updatedCount > 0)
{
await _repository.UpdateRangeAsync(refereesWithoutAppUser.Where(x => x.AppUserId != null).ToList());
}
return new { success = true, message = $"成功回填{updatedCount}条记录", count = updatedCount };
}
private async Task VerifyCode(string mobile, string? code)
{
if (string.IsNullOrWhiteSpace(code)) throw Oops.Bah("请输入验证码");

View File

@ -9805,7 +9805,7 @@
</member>
<member name="M:YD_Event.Application.Event.JudgeAssignmentService.GetCandidates(System.Int64,System.Int64)">
<summary>
获取可分配裁判
获取可分配裁判(过滤同时段已分配的裁判)
</summary>
</member>
<member name="M:YD_Event.Application.Event.JudgeAssignmentService.Save(YD_Event.Application.Event.Dtos.SaveJudgeAssignmentsInput)">
@ -9821,7 +9821,7 @@
</member>
<member name="M:YD_Event.Application.Event.JudgeAssignmentService.GenerateRegistrationCode(System.Int64)">
<summary>
生成裁判报名码,已生成过的赛事直接返回原报名码
生成裁判报名码,确保唯一性
</summary>
</member>
<member name="M:YD_Event.Application.Event.JudgeAssignmentService.ToEventRefereeOutput(YD_Event.Core.Entities.EventReferee,YD_Event.Core.Entities.Referee)">
@ -16956,7 +16956,12 @@
</member>
<member name="M:YD_Event.Application.Referee.RefereeService.FindAppUserAsync(System.String)">
<summary>
手机号已注册小程序账号时自动建立关联,未注册时允许裁判档案独立存在。
手机号已注册小程序账号时自动建立关联,未注册时允许裁判档案独立存在。
</summary>
</member>
<member name="M:YD_Event.Application.Referee.RefereeService.BackfillAppUserId">
<summary>
批量回填已存在裁判的AppUserId。按手机号匹配小程序用户,建立关联。
</summary>
</member>
<member name="T:YD_Event.Application.Refund.Dtos.RefundConfigDto">
@ -18164,5 +18169,805 @@
</summary>
<returns></returns>
</member>
<member name="T:YD_Event.Application.Workbench.Dtos.WorkbenchSessionQueryInput">
<summary>
工作台场次列表查询输入
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchSessionQueryInput.EventId">
<summary>
赛事ID
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchSessionQueryInput.VenueId">
<summary>
场地ID(可选)
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchSessionQueryInput.EventProjectId">
<summary>
项目ID(可选)
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchSessionQueryInput.SessionStatus">
<summary>
场次状态(可选):0-草稿,10-就绪,20-检录中,30-进行中,40-暂停,50-待确认,60-已结束,90-已取消
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchSessionQueryInput.Keyword">
<summary>
关键词搜索(场次编号、场次名称)
</summary>
</member>
<member name="T:YD_Event.Application.Workbench.Dtos.WorkbenchSessionDto">
<summary>
工作台场次信息
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchSessionDto.SessionId">
<summary>
场次ID
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchSessionDto.SessionNo">
<summary>
场次编号
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchSessionDto.SessionName">
<summary>
场次名称
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchSessionDto.EventName">
<summary>
赛事名称
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchSessionDto.ProjectName">
<summary>
项目名称
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchSessionDto.VenueName">
<summary>
场地名称
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchSessionDto.GroupName">
<summary>
组别名称(多组别混合时为空)
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchSessionDto.StartTime">
<summary>
场次开始时间
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchSessionDto.EndTime">
<summary>
场次结束时间
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchSessionDto.SessionStatus">
<summary>
场次状态:0-草稿,10-就绪,20-检录中,30-进行中,40-暂停,50-待确认,60-已结束,90-已取消
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchSessionDto.SessionStatusName">
<summary>
场次状态名称
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchSessionDto.CurrentEntryId">
<summary>
当前出场记录ID
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchSessionDto.TotalEntries">
<summary>
总出场数
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchSessionDto.CompletedEntries">
<summary>
已完成出场数
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchSessionDto.ConfirmedResults">
<summary>
已确认成绩数
</summary>
</member>
<member name="T:YD_Event.Application.Workbench.Dtos.WorkbenchEntryQueryInput">
<summary>
工作台出场记录列表输入
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryQueryInput.SessionId">
<summary>
场次ID
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryQueryInput.EntryStatus">
<summary>
出场状态(可选)
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryQueryInput.ResultStatus">
<summary>
成绩状态(可选)
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryQueryInput.Keyword">
<summary>
关键词搜索(参赛者姓名、队名、出场编号)
</summary>
</member>
<member name="T:YD_Event.Application.Workbench.Dtos.WorkbenchEntryDetailDto">
<summary>
工作台出场记录详情
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryDetailDto.SessionEntryId">
<summary>
出场记录ID
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryDetailDto.EntryNo">
<summary>
出场编号
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryDetailDto.PlayOrder">
<summary>
出场顺序
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryDetailDto.ParticipantName">
<summary>
参赛者姓名
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryDetailDto.TeamName">
<summary>
队伍名称(个人项目为空)
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryDetailDto.GroupName">
<summary>
组别名称
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryDetailDto.EntryStatus">
<summary>
出场状态:0-待出场,10-已检录,20-已叫号,30-进行中,40-已完成,80-退赛,90-取消比赛资格
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryDetailDto.EntryStatusName">
<summary>
出场状态名称
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryDetailDto.IsRematch">
<summary>
是否为重赛
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryDetailDto.Result">
<summary>
成绩信息
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryDetailDto.JudgeScores">
<summary>
裁判评分详情列表
</summary>
</member>
<member name="T:YD_Event.Application.Workbench.Dtos.WorkbenchEntryResultDto">
<summary>
工作台出场成绩信息
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryResultDto.ResultId">
<summary>
成绩ID
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryResultDto.DifficultyScore">
<summary>
难度分
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryResultDto.PerformanceScore">
<summary>
表现分
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryResultDto.RequiredScore">
<summary>
规定分
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryResultDto.DeductionScore">
<summary>
扣分
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryResultDto.TotalScore">
<summary>
总分
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryResultDto.ScoreText">
<summary>
成绩显示文本
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryResultDto.IsDisqualified">
<summary>
是否取消比赛资格
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryResultDto.DisqualifyReason">
<summary>
取消比赛资格原因
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryResultDto.ResultStatus">
<summary>
成绩状态:0-计算中,10-待复核,20-已确认,30-已投屏,40-已更正,90-已作废
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryResultDto.ResultStatusName">
<summary>
成绩状态名称
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryResultDto.ResultVersion">
<summary>
当前成绩版本号
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchEntryResultDto.Rank">
<summary>
排名
</summary>
</member>
<member name="T:YD_Event.Application.Workbench.Dtos.WorkbenchJudgeScoreDto">
<summary>
工作台裁判评分信息
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchJudgeScoreDto.ScoreSheetId">
<summary>
评分单ID
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchJudgeScoreDto.JudgeRole">
<summary>
裁判席位编码
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchJudgeScoreDto.JudgeRoleType">
<summary>
裁判类型编码
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchJudgeScoreDto.JudgeRoleName">
<summary>
裁判类型名称
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchJudgeScoreDto.JudgeName">
<summary>
裁判姓名
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchJudgeScoreDto.SheetStatus">
<summary>
评分状态:0-草稿,10-已提交,20-已确认,30-已被修正,90-已作废
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchJudgeScoreDto.SheetStatusName">
<summary>
评分状态名称
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchJudgeScoreDto.DifficultyScore">
<summary>
难度分
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchJudgeScoreDto.PerformanceScore">
<summary>
表现分
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchJudgeScoreDto.RequiredScore">
<summary>
规定分
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchJudgeScoreDto.DeductionScore">
<summary>
扣分
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchJudgeScoreDto.TotalScore">
<summary>
合计得分
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchJudgeScoreDto.IsDisqualified">
<summary>
是否判定取消比赛资格
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchJudgeScoreDto.SubmittedTime">
<summary>
提交时间
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WorkbenchJudgeScoreDto.HasPendingCorrection">
<summary>
是否存在待处理的修正申请
</summary>
</member>
<member name="T:YD_Event.Application.Workbench.Dtos.ResultScreenCastInput">
<summary>
成绩投屏输入
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ResultScreenCastInput.EventId">
<summary>
赛事ID
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ResultScreenCastInput.CastType">
<summary>
投屏类型:1-单个成绩,2-排名列表
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ResultScreenCastInput.VenueId">
<summary>
场地ID(可选,用于筛选投屏范围)
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ResultScreenCastInput.EventProjectId">
<summary>
项目ID(投屏排名时必填)
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ResultScreenCastInput.EventProjectGroupId">
<summary>
组别ID(投屏排名时必填)
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ResultScreenCastInput.SessionId">
<summary>
场次ID(投屏单个成绩时必填)
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ResultScreenCastInput.SessionEntryId">
<summary>
出场记录ID(投屏单个成绩时必填)
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ResultScreenCastInput.EventResultId">
<summary>
成绩ID(投屏单个成绩时必填)
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ResultScreenCastInput.ResultVersion">
<summary>
成绩版本号(可选,默认使用当前版本)
</summary>
</member>
<member name="T:YD_Event.Application.Workbench.Dtos.ResultScreenCastOutput">
<summary>
成绩投屏输出
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ResultScreenCastOutput.ScreenCastId">
<summary>
投屏记录ID
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ResultScreenCastOutput.CastType">
<summary>
投屏类型:1-成绩,2-排名
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ResultScreenCastOutput.CastTime">
<summary>
投屏时间
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ResultScreenCastOutput.PayloadJson">
<summary>
投屏内容快照
</summary>
</member>
<member name="T:YD_Event.Application.Workbench.Dtos.WithdrawScreenCastInput">
<summary>
撤回投屏输入
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.WithdrawScreenCastInput.ScreenCastId">
<summary>
投屏记录ID
</summary>
</member>
<member name="T:YD_Event.Application.Workbench.Dtos.GetCurrentScreenCastInput">
<summary>
获取当前投屏内容输入
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.GetCurrentScreenCastInput.EventId">
<summary>
赛事ID
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.GetCurrentScreenCastInput.VenueId">
<summary>
场地ID(可选)
</summary>
</member>
<member name="T:YD_Event.Application.Workbench.Dtos.CurrentScreenCastDto">
<summary>
当前投屏内容输出
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.CurrentScreenCastDto.ScreenCastId">
<summary>
投屏记录ID
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.CurrentScreenCastDto.CastType">
<summary>
投屏类型:1-成绩,2-排名
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.CurrentScreenCastDto.CastStatus">
<summary>
投屏状态:0-已投出,10-已撤回,20-已被新投屏替换
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.CurrentScreenCastDto.CastTime">
<summary>
投屏时间
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.CurrentScreenCastDto.PayloadJson">
<summary>
投屏内容(JSON格式)
</summary>
</member>
<member name="T:YD_Event.Application.Workbench.Dtos.ApproveScoreCorrectionInput">
<summary>
成绩修正申请审批输入
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ApproveScoreCorrectionInput.CorrectionId">
<summary>
修正申请ID
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ApproveScoreCorrectionInput.IsApproved">
<summary>
审批结果:true-批准,false-拒绝
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ApproveScoreCorrectionInput.ApproveRemark">
<summary>
审批意见
</summary>
</member>
<member name="T:YD_Event.Application.Workbench.Dtos.ScoreCorrectionQueryInput">
<summary>
成绩修正申请列表查询输入
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionQueryInput.EventId">
<summary>
赛事ID
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionQueryInput.CorrectionStatus">
<summary>
修正状态(可选):0-已申请,10-已批准,20-已拒绝,30-裁判修改中,40-已完成,90-已取消
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionQueryInput.Keyword">
<summary>
关键词搜索
</summary>
</member>
<member name="T:YD_Event.Application.Workbench.Dtos.ScoreCorrectionListDto">
<summary>
成绩修正申请列表项
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionListDto.CorrectionId">
<summary>
修正申请ID
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionListDto.EventName">
<summary>
赛事名称
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionListDto.SessionNo">
<summary>
场次编号
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionListDto.EntryNo">
<summary>
出场编号
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionListDto.ParticipantName">
<summary>
参赛者姓名
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionListDto.JudgeRole">
<summary>
裁判席位
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionListDto.ApplyUserName">
<summary>
申请人姓名
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionListDto.ApplyReason">
<summary>
申请修正原因
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionListDto.CreatedTime">
<summary>
申请时间
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionListDto.CorrectionStatus">
<summary>
修正状态:0-已申请,10-已批准,20-已拒绝,30-裁判修改中,40-已完成,90-已取消
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionListDto.CorrectionStatusName">
<summary>
修正状态名称
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionListDto.ApproveUserName">
<summary>
审批人姓名
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionListDto.ApproveTime">
<summary>
审批时间
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionListDto.CompletedTime">
<summary>
完成时间
</summary>
</member>
<member name="T:YD_Event.Application.Workbench.Dtos.ScoreCorrectionDetailDto">
<summary>
成绩修正申请详情
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionDetailDto.CorrectionId">
<summary>
修正申请ID
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionDetailDto.Session">
<summary>
赛事信息
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionDetailDto.Entry">
<summary>
出场信息
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionDetailDto.OriginalScore">
<summary>
原评分单信息
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionDetailDto.NewScore">
<summary>
新评分单信息(修正完成后有值)
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionDetailDto.ApplyUserName">
<summary>
申请人信息
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionDetailDto.ApplyReason">
<summary>
申请修正原因
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionDetailDto.CreatedTime">
<summary>
申请时间
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionDetailDto.CorrectionStatus">
<summary>
修正状态:0-已申请,10-已批准,20-已拒绝,30-裁判修改中,40-已完成,90-已取消
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionDetailDto.ApproveUserName">
<summary>
审批人姓名
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionDetailDto.ApproveRemark">
<summary>
审批意见
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionDetailDto.ApproveTime">
<summary>
审批时间
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ScoreCorrectionDetailDto.CompletedTime">
<summary>
完成时间
</summary>
</member>
<member name="T:YD_Event.Application.Workbench.Dtos.CreateRematchInput">
<summary>
重赛输入
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.CreateRematchInput.OriginalSessionEntryId">
<summary>
原出场记录ID
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.CreateRematchInput.RematchReason">
<summary>
重赛原因
</summary>
</member>
<member name="T:YD_Event.Application.Workbench.Dtos.CreateRematchOutput">
<summary>
重赛输出
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.CreateRematchOutput.NewSessionEntryId">
<summary>
新出场记录ID
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.CreateRematchOutput.NewEntryNo">
<summary>
新出场编号
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.CreateRematchOutput.NewPlayOrder">
<summary>
新出场顺序
</summary>
</member>
<member name="T:YD_Event.Application.Workbench.Dtos.VoidResultInput">
<summary>
成绩作废输入
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.VoidResultInput.SessionEntryId">
<summary>
出场记录ID
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.VoidResultInput.VoidReason">
<summary>
作废原因
</summary>
</member>
<member name="T:YD_Event.Application.Workbench.Dtos.ConfirmResultInput">
<summary>
成绩确认输入
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.ConfirmResultInput.ResultId">
<summary>
成绩ID
</summary>
</member>
<member name="T:YD_Event.Application.Workbench.Dtos.BatchConfirmResultInput">
<summary>
批量成绩确认输入
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.BatchConfirmResultInput.SessionId">
<summary>
场次ID
</summary>
</member>
<member name="P:YD_Event.Application.Workbench.Dtos.BatchConfirmResultInput.ResultIds">
<summary>
成绩ID列表(可选,不传则确认该场次所有待确认成绩)
</summary>
</member>
<member name="T:YD_Event.Application.Workbench.WorkbenchController">
<summary>
打分系统工作台接口(供工作台管理端调用)
</summary>
</member>
<member name="M:YD_Event.Application.Workbench.WorkbenchController.GetSessions(YD_Event.Application.Workbench.Dtos.WorkbenchSessionQueryInput)">
<summary>
获取工作台场次列表
</summary>
</member>
<member name="M:YD_Event.Application.Workbench.WorkbenchController.GetSessionEntries(System.Int64,YD_Event.Application.Workbench.Dtos.WorkbenchEntryQueryInput)">
<summary>
获取场次的出场记录列表
</summary>
</member>
<member name="M:YD_Event.Application.Workbench.WorkbenchController.CastResult(YD_Event.Application.Workbench.Dtos.ResultScreenCastInput)">
<summary>
投出成绩到大屏
</summary>
</member>
<member name="M:YD_Event.Application.Workbench.WorkbenchController.WithdrawScreenCast(YD_Event.Application.Workbench.Dtos.WithdrawScreenCastInput)">
<summary>
撤回投屏内容
</summary>
</member>
<member name="M:YD_Event.Application.Workbench.WorkbenchController.GetCurrentScreenCast(YD_Event.Application.Workbench.Dtos.GetCurrentScreenCastInput)">
<summary>
获取当前投屏内容
</summary>
</member>
<member name="M:YD_Event.Application.Workbench.WorkbenchController.GetCorrections(YD_Event.Application.Workbench.Dtos.ScoreCorrectionQueryInput)">
<summary>
获取成绩修正申请列表
</summary>
</member>
<member name="M:YD_Event.Application.Workbench.WorkbenchController.GetCorrectionDetail(System.Int64)">
<summary>
获取成绩修正申请详情
</summary>
</member>
<member name="M:YD_Event.Application.Workbench.WorkbenchController.ApproveCorrection(YD_Event.Application.Workbench.Dtos.ApproveScoreCorrectionInput)">
<summary>
审批成绩修正申请
</summary>
</member>
<member name="M:YD_Event.Application.Workbench.WorkbenchController.ConfirmResult(YD_Event.Application.Workbench.Dtos.ConfirmResultInput)">
<summary>
确认成绩
</summary>
</member>
<member name="M:YD_Event.Application.Workbench.WorkbenchController.BatchConfirmResults(YD_Event.Application.Workbench.Dtos.BatchConfirmResultInput)">
<summary>
批量确认成绩
</summary>
</member>
<member name="M:YD_Event.Application.Workbench.WorkbenchController.CreateRematch(YD_Event.Application.Workbench.Dtos.CreateRematchInput)">
<summary>
创建重赛
</summary>
</member>
<member name="M:YD_Event.Application.Workbench.WorkbenchController.VoidResult(YD_Event.Application.Workbench.Dtos.VoidResultInput)">
<summary>
作废成绩
</summary>
</member>
</members>
</doc>