|
|
@@ -105,8 +105,8 @@ public class ProgrammeAwardService {
|
|
|
|
|
|
List<Award> awardList = awardRepo.findAll();
|
|
|
|
|
|
- List<ArtType> all = artTypeRepo.findAll();
|
|
|
- Map<Long, String> artTypeMap = all
|
|
|
+ List<ArtType> artTypes = artTypeRepo.findAll();
|
|
|
+ Map<Long, String> artTypeMap = artTypes
|
|
|
.stream()
|
|
|
.collect(Collectors.toMap(ArtType::getId, ArtType::getName));
|
|
|
|
|
|
@@ -130,14 +130,14 @@ public class ProgrammeAwardService {
|
|
|
}
|
|
|
|
|
|
List<Programme> programmeList = programmeRepo.findAllByPerformanceIdAndStatus(performanceId, 2);
|
|
|
- List<ArtType> artTypes = all.stream()
|
|
|
+ List<ArtType> artParents = artTypes.stream()
|
|
|
.filter(artType -> ObjectUtil.isNull(artType.getParent()))
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
- artTypes.forEach(artType -> {
|
|
|
+ artParents.forEach(artType -> {
|
|
|
|
|
|
- List<Long> artTypeIds = all.stream()
|
|
|
+ List<Long> artTypeIds = artParents.stream()
|
|
|
.filter(at -> at.getCode().startsWith(artType.getCode()))
|
|
|
.map(ArtType::getId)
|
|
|
.collect(Collectors.toList());
|
|
|
@@ -171,10 +171,26 @@ public class ProgrammeAwardService {
|
|
|
List<Programme> programmeList = programmeRepo.findAllByPerformanceIdAndStatus(dtos.get(0)
|
|
|
.getPerformanceId(), 2);
|
|
|
|
|
|
+ List<ArtType> artTypes = artTypeRepo.findAll();
|
|
|
+ List<ArtType> artParents = artTypes.stream()
|
|
|
+ .filter(artType -> ObjectUtil.isNull(artType.getParent()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ Map<Long, List<Programme>> map = new HashMap<>();
|
|
|
//按专业分组
|
|
|
+ artParents.forEach(artType -> {
|
|
|
+ List<Long> artTypeIds = artTypes.stream()
|
|
|
+ .filter(at -> at.getCode().startsWith(artType.getCode()))
|
|
|
+ .map(ArtType::getId)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ List<Programme> programmes = programmeList.stream()
|
|
|
+ .filter(programme -> artTypeIds.contains(programme.getSpecialtyId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ //按成绩排序
|
|
|
+ programmes.sort(Comparator.comparingDouble(Programme::getScore));
|
|
|
+ });
|
|
|
|
|
|
- //按成绩排序
|
|
|
- programmeList.sort(Comparator.comparingDouble(Programme::getScore));
|
|
|
|
|
|
//获得奖项优先级
|
|
|
List<Award> awards = awardRepo.findAll();
|