|
@@ -1866,36 +1866,28 @@ public class ApiController {
|
|
|
scorePackageList = scorePage.getRecords();
|
|
|
|
|
|
// 获取积分包的关联试卷
|
|
|
- Map<Integer, List<WmPkgQuizRelation>> quizMap = null;
|
|
|
+ Map<Integer, Set<Integer>> quizMap = null;
|
|
|
if (CollUtil.isNotEmpty(scorePackageList)) {
|
|
|
- List<Integer> collect = scorePackageList.stream().mapToInt(pkg -> Integer.parseInt(pkg.getId())).boxed().distinct().collect(Collectors.toList());
|
|
|
- List<WmPkgQuizRelation> quizRelations = quizRelationService.listQuizRelationsByPkgIds(collect);
|
|
|
+ Set<String> drugIds = scorePackageList.stream().flatMap(sp -> Arrays.stream(sp.getDrugtable())).collect(Collectors.toSet());
|
|
|
+ List<WmDrugQuizRelation> relations = drugQuizRelationService.list(Wrappers.<WmDrugQuizRelation>lambdaQuery().in(WmDrugQuizRelation::getDrugId, drugIds));
|
|
|
|
|
|
- if (CollUtil.isNotEmpty(quizRelations)) {
|
|
|
- quizMap = quizRelations.stream().collect(Collectors.groupingBy(WmPkgQuizRelation::getPkgId));
|
|
|
- }
|
|
|
+ quizMap = relations.stream().collect(Collectors.groupingBy(WmDrugQuizRelation::getDrugId, Collectors.mapping(WmDrugQuizRelation::getQuizId, Collectors.toSet())));
|
|
|
|
|
|
}
|
|
|
|
|
|
+
|
|
|
if (CollectionUtils.isNotEmpty(scorePackageList)) {
|
|
|
Set<String> scorePackageIds = scorePackageList.stream()
|
|
|
.filter(output -> PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val().equals(output.getPackageType1()))
|
|
|
.map(WmScorePackageApiOutput::getId).collect(Collectors.toSet());
|
|
|
Map<String, List<WmScorePackageSettleNote>> settelMap = new HashMap<>();
|
|
|
- if (CollUtil.isNotEmpty(scorePackageIds)) {
|
|
|
- // todo
|
|
|
- // List<WmScorePackageSettleNote> settleNotes = wmScorePackageSettleNoteMapper.selectList(Wrappers.<WmScorePackageSettleNote>lambdaQuery()
|
|
|
- // .in(WmScorePackageSettleNote::getPackageId, scorePackageIds));
|
|
|
- // if (CollUtil.isNotEmpty(settleNotes)) {
|
|
|
- // settelMap = settleNotes.stream()
|
|
|
- // .collect(Collectors.groupingBy(WmScorePackageSettleNote::getPackageId));
|
|
|
- //}
|
|
|
- }
|
|
|
+
|
|
|
for (WmScorePackageApiOutput item : scorePackageList) {
|
|
|
|
|
|
- if (CollUtil.isNotEmpty(quizMap)) {
|
|
|
- List<WmPkgQuizRelation> quizRelations = quizMap.get(Integer.parseInt(item.getId()));
|
|
|
- item.setQuizRelations(quizRelations);
|
|
|
+ String[] drugtable = item.getDrugtable();
|
|
|
+ if (CollUtil.isNotEmpty(quizMap) && ArrayUtil.isNotEmpty(drugtable)) {
|
|
|
+ Set<Integer> integers = quizMap.get(Integer.valueOf(drugtable[0]));
|
|
|
+ item.setQuizIds(integers);
|
|
|
}
|
|
|
|
|
|
if (PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val().equals(item.getPackageType1())) {
|