投出排行排序问题
This commit is contained in:
parent
4ef9468b77
commit
b621350f6b
@ -670,9 +670,11 @@ public class WorkbenchController : IDynamicApiController
|
|||||||
ep.Id == input.EventProjectId.Value && ep.EventId == input.EventId && !ep.DeleteMark)
|
ep.Id == input.EventProjectId.Value && ep.EventId == input.EventId && !ep.DeleteMark)
|
||||||
?? throw Oops.Bah("所选项目不属于当前赛事");
|
?? throw Oops.Bah("所选项目不属于当前赛事");
|
||||||
_ = eventProject;
|
_ = eventProject;
|
||||||
if (!await _groupRepository.IsAnyAsync(g => g.Id == input.EventProjectGroupId.Value &&
|
var eventProjectGroup = await _groupRepository.GetFirstAsync(g =>
|
||||||
g.EventProjectId == input.EventProjectId.Value && !g.DeleteMark))
|
g.Id == input.EventProjectGroupId.Value &&
|
||||||
throw Oops.Bah("所选组别不属于当前赛事项目");
|
g.EventProjectId == input.EventProjectId.Value && !g.DeleteMark)
|
||||||
|
?? throw Oops.Bah("所选组别不属于当前赛事项目");
|
||||||
|
var groupName = eventProjectGroup.GroupName;
|
||||||
|
|
||||||
var results = await _resultRepository.AsQueryable()
|
var results = await _resultRepository.AsQueryable()
|
||||||
.InnerJoin<EventSessionEntry>((r, e) => r.SessionEntryId == e.Id)
|
.InnerJoin<EventSessionEntry>((r, e) => r.SessionEntryId == e.Id)
|
||||||
@ -680,10 +682,8 @@ public class WorkbenchController : IDynamicApiController
|
|||||||
.Where((r, e, s) => !r.DeleteMark && !e.DeleteMark && !s.DeleteMark &&
|
.Where((r, e, s) => !r.DeleteMark && !e.DeleteMark && !s.DeleteMark &&
|
||||||
r.EventId == input.EventId &&
|
r.EventId == input.EventId &&
|
||||||
s.EventProjectId == input.EventProjectId.Value &&
|
s.EventProjectId == input.EventProjectId.Value &&
|
||||||
(s.EventProjectGroupId == input.EventProjectGroupId.Value ||
|
(s.EventProjectGroupId == input.EventProjectGroupId.Value ||
|
||||||
e.GroupName == SqlFunc.Subqueryable<EventProjectGroup>()
|
e.GroupName == groupName) &&
|
||||||
.Where(g => g.Id == input.EventProjectGroupId.Value)
|
|
||||||
.Select(g => g.GroupName)) &&
|
|
||||||
// 只投屏有效成绩(已确认20/已投屏30/已更正40),排除DQ成绩
|
// 只投屏有效成绩(已确认20/已投屏30/已更正40),排除DQ成绩
|
||||||
(r.ResultStatus == 20 || r.ResultStatus == 30 || r.ResultStatus == 40) &&
|
(r.ResultStatus == 20 || r.ResultStatus == 30 || r.ResultStatus == 40) &&
|
||||||
!r.IsDisqualified)
|
!r.IsDisqualified)
|
||||||
@ -763,17 +763,20 @@ public class WorkbenchController : IDynamicApiController
|
|||||||
.Where(v => !v.DeleteMark && rankedResultIds.Contains(v.EventResultId))
|
.Where(v => !v.DeleteMark && rankedResultIds.Contains(v.EventResultId))
|
||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
// 只同步各成绩的当前版本,历史版本保留原状态留痕
|
// 只同步各成绩的当前版本,历史版本保留原状态留痕
|
||||||
var currentRankedVersions = rankedVersions
|
var currentRankedVersionIds = rankedVersions
|
||||||
.Where(v => results.Any(r => r.Id == v.EventResultId && r.ResultVersion == v.ResultVersion))
|
.Where(v => results.Any(r => r.Id == v.EventResultId && r.ResultVersion == v.ResultVersion))
|
||||||
|
.Select(v => v.Id)
|
||||||
.ToList();
|
.ToList();
|
||||||
foreach (var version in currentRankedVersions)
|
if (currentRankedVersionIds.Count > 0)
|
||||||
{
|
await _resultVersionRepository.AsUpdateable()
|
||||||
version.ResultStatus = 30;
|
.SetColumns(v => new EventResultVersion
|
||||||
version.UpdatedUserId = currentUserId;
|
{
|
||||||
version.UpdatedTime = now;
|
ResultStatus = 30,
|
||||||
}
|
UpdatedUserId = currentUserId,
|
||||||
if (currentRankedVersions.Count > 0)
|
UpdatedTime = now
|
||||||
await _resultVersionRepository.UpdateRangeAsync(currentRankedVersions);
|
}, appendColumnsByDataFilter: true)
|
||||||
|
.Where(v => currentRankedVersionIds.Contains(v.Id))
|
||||||
|
.ExecuteCommandAsync();
|
||||||
await WriteAuditAsync("投出组别排名", input.EventId, input.EventProjectGroupId.Value, null, 30);
|
await WriteAuditAsync("投出组别排名", input.EventId, input.EventProjectGroupId.Value, null, 30);
|
||||||
|
|
||||||
return new ResultScreenCastOutput
|
return new ResultScreenCastOutput
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user