|
@@ -263,19 +263,18 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
.map(PaperDetailUnit::getPaperDetail)
|
|
.map(PaperDetailUnit::getPaperDetail)
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
//抽取大题号对应的小题
|
|
//抽取大题号对应的小题
|
|
- Map<Integer,List<PaperDetailUnit>> pduMap = allPaperDetailUnits.stream()
|
|
|
|
- .collect(Collectors.groupingBy(PaperDetailUnit::getDetailNumber));
|
|
|
|
|
|
+ Map<String,List<PaperDetailUnit>> pduMap = allPaperDetailUnits.stream()
|
|
|
|
+ .collect(Collectors.groupingBy(PaperDetailUnit::getDetailId));
|
|
//最终保存的所有小题
|
|
//最终保存的所有小题
|
|
List<PaperDetailUnit> savePaperDetailUnits = new ArrayList<>();
|
|
List<PaperDetailUnit> savePaperDetailUnits = new ArrayList<>();
|
|
paper.setId(null);
|
|
paper.setId(null);
|
|
paper.setPaperType(paperType);
|
|
paper.setPaperType(paperType);
|
|
|
|
+ Paper newPaper = paperRepo.save(paper);
|
|
|
|
|
|
for(int i = 0;i<paperDetails.size();i++){
|
|
for(int i = 0;i<paperDetails.size();i++){
|
|
PaperDetail paperDetail = paperDetails.get(i);
|
|
PaperDetail paperDetail = paperDetails.get(i);
|
|
- paperDetail.setId(null);
|
|
|
|
- paperDetail.setPaper(paper);
|
|
|
|
|
|
|
|
- List<PaperDetailUnit> paperDetailUnits = pduMap.get(paperDetail.getNumber());
|
|
|
|
|
|
+ List<PaperDetailUnit> paperDetailUnits = pduMap.get(paperDetail.getId());
|
|
if(paperDetailUnits == null || paperDetailUnits.size() == 0){
|
|
if(paperDetailUnits == null || paperDetailUnits.size() == 0){
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
@@ -294,21 +293,23 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
Collections.shuffle(paperDetailUnits);//打乱小题List
|
|
Collections.shuffle(paperDetailUnits);//打乱小题List
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ paperDetail.setId(null);
|
|
|
|
+ paperDetail.setPaper(newPaper);
|
|
|
|
+ PaperDetail newPaperDetail = paperDetailRepo.save(paperDetail);
|
|
|
|
+
|
|
for(int j = 0;j<paperDetailUnits.size();j++){
|
|
for(int j = 0;j<paperDetailUnits.size();j++){
|
|
//重新设置保存PaperDetailUnit
|
|
//重新设置保存PaperDetailUnit
|
|
PaperDetailUnit paperDetailUnit = paperDetailUnits.get(j);
|
|
PaperDetailUnit paperDetailUnit = paperDetailUnits.get(j);
|
|
paperDetailUnit.setPaperType(paperType);
|
|
paperDetailUnit.setPaperType(paperType);
|
|
- paperDetailUnit.setPaper(paper);
|
|
|
|
- paperDetailUnit.setPaperDetail(paperDetail);
|
|
|
|
|
|
+ paperDetailUnit.setPaper(newPaper);
|
|
|
|
+ paperDetailUnit.setPaperDetail(newPaperDetail);
|
|
paperDetailUnit.setNumber(minNumber+j); //重新设置序号
|
|
paperDetailUnit.setNumber(minNumber+j); //重新设置序号
|
|
reSavePaperDetailUtilAndQuestion(paperDetailUnit,upSetOptionOrder);
|
|
reSavePaperDetailUtilAndQuestion(paperDetailUnit,upSetOptionOrder);
|
|
savePaperDetailUnits.add(paperDetailUnit);
|
|
savePaperDetailUnits.add(paperDetailUnit);
|
|
}
|
|
}
|
|
|
|
+
|
|
}
|
|
}
|
|
- //保存试卷信息
|
|
|
|
- Paper newPaper = paperRepo.save(paper);
|
|
|
|
- paperDetailRepo.save(paperDetails);
|
|
|
|
|
|
+ //保存小题信息
|
|
paperDetailUnitRepo.save(savePaperDetailUnits);
|
|
paperDetailUnitRepo.save(savePaperDetailUnits);
|
|
|
|
|
|
//清空所有list
|
|
//清空所有list
|