参赛记录多团队显示
This commit is contained in:
parent
24296764bd
commit
aa31a153a2
@ -187,17 +187,6 @@ public class EventRecordService : BaseService<EventRegistration>, ITransient
|
||||
var registrationItems = items.Where(i => row.RegistrationIds.Contains(i.RegistrationId)).ToList();
|
||||
foreach (var item in registrationItems)
|
||||
{
|
||||
// 查找对应的成绩
|
||||
var result = results.FirstOrDefault(r =>
|
||||
r.RegistrationId == item.RegistrationId &&
|
||||
r.ProjectId == item.ProjectId &&
|
||||
r.GroupName == item.GroupName);
|
||||
|
||||
// 查找该项目的所有队员
|
||||
var members = registrationPersons
|
||||
.Where(p => p.RegistrationId == item.RegistrationId && p.ProjectId == item.ProjectId && p.GroupName == item.GroupName)
|
||||
.ToList();
|
||||
|
||||
// 判断项目类型
|
||||
bool isIndividualProject = false;
|
||||
int projectType = 0;
|
||||
@ -212,13 +201,18 @@ public class EventRecordService : BaseService<EventRegistration>, ITransient
|
||||
if (isIndividualProject)
|
||||
{
|
||||
// 个人项目:每个运动员单独一行
|
||||
// 查找该项目的所有队员(按 RegistrationItemId 筛选)
|
||||
var members = registrationPersons
|
||||
.Where(p => p.RegistrationItemId == item.Id)
|
||||
.ToList();
|
||||
|
||||
foreach (var member in members)
|
||||
{
|
||||
// 查找该成员对应的成绩
|
||||
var memberResult = results.FirstOrDefault(r =>
|
||||
r.RegistrationId == item.RegistrationId &&
|
||||
r.ProjectId == item.ProjectId &&
|
||||
r.GroupName == item.GroupName &&
|
||||
r.GroupName == item.GroupName &&
|
||||
r.RegistrationPersonId == member.Id);
|
||||
|
||||
row.Items.Add(new EventRegistrationItemOutput
|
||||
@ -248,7 +242,20 @@ public class EventRecordService : BaseService<EventRegistration>, ITransient
|
||||
}
|
||||
else
|
||||
{
|
||||
// 团队项目:所有队员一行
|
||||
// 团队项目:每个 RegistrationItemId 单独一行,只显示该项目的队员和成绩
|
||||
// 查找该项目的所有队员(按 RegistrationItemId 筛选)
|
||||
var members = registrationPersons
|
||||
.Where(p => p.RegistrationItemId == item.Id)
|
||||
.ToList();
|
||||
|
||||
// 查找团队成绩:找到该团队中任意一个队员的成绩作为团队成绩
|
||||
var teamMemberIds = members.Select(m => m.Id).ToList();
|
||||
var result = results.FirstOrDefault(r =>
|
||||
r.RegistrationId == item.RegistrationId &&
|
||||
r.ProjectId == item.ProjectId &&
|
||||
r.GroupName == item.GroupName &&
|
||||
teamMemberIds.Contains(r.RegistrationPersonId));
|
||||
|
||||
string? memberNames = members.Count > 0 ? string.Join(", ", members.Select(m => m.Name)) : null;
|
||||
List<long>? memberIds = members.Count > 0 ? members.Select(m => m.Id).ToList() : null;
|
||||
var memberInfoList = members.Select(m => new MemberInfo
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user