fix: 集体项目选手姓名合并显示在一行

集体项目按单位分组,选手姓名用顿号连接显示在一行

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
This commit is contained in:
Z-WICK
2026-01-26 12:35:59 +08:00
co-authored by factory-droid[bot]
parent 4ca5d93877
commit c799eb194f
@@ -841,19 +841,47 @@ public class MartialScheduleServiceImpl extends ServiceImpl<MartialScheduleMappe
List<org.springblade.modules.martial.pojo.vo.DispatchDataVO.DispatchParticipant> participantVOs; List<org.springblade.modules.martial.pojo.vo.DispatchDataVO.DispatchParticipant> participantVOs;
// 所有项目都返回全部参赛者 // 集体项目按单位分组,选手姓名合并显示
participantVOs = participants.stream().map(p -> { if (group.getProjectType() != null && group.getProjectType() == 2) {
org.springblade.modules.martial.pojo.vo.DispatchDataVO.DispatchParticipant pVO = java.util.Map<String, List<MartialScheduleParticipant>> orgMap = new java.util.LinkedHashMap<>();
new org.springblade.modules.martial.pojo.vo.DispatchDataVO.DispatchParticipant(); for (MartialScheduleParticipant p : participants) {
pVO.setId(p.getId()); String org = p.getOrganization() != null ? p.getOrganization() : "未知单位";
pVO.setParticipantId(p.getParticipantId()); orgMap.computeIfAbsent(org, k -> new ArrayList<>()).add(p);
pVO.setOrganization(p.getOrganization()); }
pVO.setPlayerName(p.getPlayerName()); participantVOs = new ArrayList<>();
pVO.setProjectName(p.getProjectName()); int order = 1;
pVO.setCategory(p.getCategory()); for (java.util.Map.Entry<String, List<MartialScheduleParticipant>> entry : orgMap.entrySet()) {
pVO.setPerformanceOrder(p.getPerformanceOrder()); List<MartialScheduleParticipant> teamMembers = entry.getValue();
return pVO; MartialScheduleParticipant first = teamMembers.get(0);
}).collect(Collectors.toList()); String playerNames = teamMembers.stream()
.map(MartialScheduleParticipant::getPlayerName)
.collect(Collectors.joining(""));
org.springblade.modules.martial.pojo.vo.DispatchDataVO.DispatchParticipant pVO =
new org.springblade.modules.martial.pojo.vo.DispatchDataVO.DispatchParticipant();
pVO.setId(first.getId());
pVO.setParticipantId(first.getParticipantId());
pVO.setOrganization(first.getOrganization());
pVO.setPlayerName(playerNames);
pVO.setProjectName(first.getProjectName());
pVO.setCategory(first.getCategory());
pVO.setPerformanceOrder(order++);
participantVOs.add(pVO);
}
} else {
// 单人项目返回全部参赛者
participantVOs = participants.stream().map(p -> {
org.springblade.modules.martial.pojo.vo.DispatchDataVO.DispatchParticipant pVO =
new org.springblade.modules.martial.pojo.vo.DispatchDataVO.DispatchParticipant();
pVO.setId(p.getId());
pVO.setParticipantId(p.getParticipantId());
pVO.setOrganization(p.getOrganization());
pVO.setPlayerName(p.getPlayerName());
pVO.setProjectName(p.getProjectName());
pVO.setCategory(p.getCategory());
pVO.setPerformanceOrder(p.getPerformanceOrder());
return pVO;
}).collect(Collectors.toList());
}
groupVO.setParticipants(participantVOs); groupVO.setParticipants(participantVOs);
groups.add(groupVO); groups.add(groupVO);