|
@@ -277,7 +277,7 @@ public class GenPaperService {
|
|
List<PaperDetail> paperDetails = buildPaperDetail(map,genPaperDto);
|
|
List<PaperDetail> paperDetails = buildPaperDetail(map,genPaperDto);
|
|
//构建新的试卷
|
|
//构建新的试卷
|
|
Paper paper = buildPaper(map,genPaperDto,paperDetails);
|
|
Paper paper = buildPaper(map,genPaperDto,paperDetails);
|
|
- paperService.formatPaper(paper, user);
|
|
|
|
|
|
+ //paperService.formatPaper(paper, user);
|
|
paperMsgMap.put("paper", paper);
|
|
paperMsgMap.put("paper", paper);
|
|
paperMsgMap.put("msg", "success");
|
|
paperMsgMap.put("msg", "success");
|
|
return paperMsgMap;
|
|
return paperMsgMap;
|
|
@@ -353,7 +353,7 @@ public class GenPaperService {
|
|
List<PaperDetail> paperDetails = buildPaperDetail(map,genPaperDto);
|
|
List<PaperDetail> paperDetails = buildPaperDetail(map,genPaperDto);
|
|
//构建新的试卷
|
|
//构建新的试卷
|
|
Paper paper = buildPaper(map,genPaperDto,paperDetails);
|
|
Paper paper = buildPaper(map,genPaperDto,paperDetails);
|
|
- paperService.formatPaper(paper, user);
|
|
|
|
|
|
+ //paperService.formatPaper(paper, user);
|
|
paperMsgMap.put("paper", paper);
|
|
paperMsgMap.put("paper", paper);
|
|
paperMsgMap.put("msg", "success");
|
|
paperMsgMap.put("msg", "success");
|
|
}
|
|
}
|
|
@@ -409,20 +409,34 @@ public class GenPaperService {
|
|
//赋值难度
|
|
//赋值难度
|
|
paper.setDifficultyDegree(difficulty);
|
|
paper.setDifficultyDegree(difficulty);
|
|
paper = paperRepo.save(paper);
|
|
paper = paperRepo.save(paper);
|
|
|
|
+ int number = 0;
|
|
|
|
+ int allQuesCount = 0;
|
|
for(int i=0;i<paperDetails.size();i++){
|
|
for(int i=0;i<paperDetails.size();i++){
|
|
|
|
+ int count = 0;
|
|
|
|
+ int nestQusNum = 0;
|
|
PaperDetail paperDetail = paperDetails.get(i);
|
|
PaperDetail paperDetail = paperDetails.get(i);
|
|
paperDetail.setNumber(i+1);
|
|
paperDetail.setNumber(i+1);
|
|
paperDetail.setPaper(paper);
|
|
paperDetail.setPaper(paper);
|
|
paperDetail = paperDetailRepo.save(paperDetail);
|
|
paperDetail = paperDetailRepo.save(paperDetail);
|
|
List<PaperDetailUnit> units = map.get(paperDetail.getName());
|
|
List<PaperDetailUnit> units = map.get(paperDetail.getName());
|
|
for(int j=0;j<units.size();j++){
|
|
for(int j=0;j<units.size();j++){
|
|
|
|
+ if (units.get(j).getQuestion() != null
|
|
|
|
+ && units.get(j).getQuestion().getSubQuestions() != null
|
|
|
|
+ && units.get(j).getQuestion().getSubQuestions().size() > 0) {
|
|
|
|
+ nestQusNum += units.get(j).getQuestion().getSubQuestions().size() - 1;
|
|
|
|
+ }
|
|
PaperDetailUnit paperDetailUnit = units.get(j);
|
|
PaperDetailUnit paperDetailUnit = units.get(j);
|
|
paperDetailUnit.setPaper(paper);
|
|
paperDetailUnit.setPaper(paper);
|
|
paperDetailUnit.setPaperDetail(paperDetail);
|
|
paperDetailUnit.setPaperDetail(paperDetail);
|
|
- paperDetailUnit.setNumber(j+1);
|
|
|
|
|
|
+ paperDetailUnit.setNumber(number+1);
|
|
unitRepo.save(paperDetailUnit);
|
|
unitRepo.save(paperDetailUnit);
|
|
|
|
+ number++ ;
|
|
}
|
|
}
|
|
|
|
+ count = units.size() + nestQusNum;
|
|
|
|
+ allQuesCount += count;
|
|
}
|
|
}
|
|
|
|
+ paper.setUnitCount(allQuesCount);
|
|
|
|
+ paper = paperRepo.save(paper);
|
|
return paper;
|
|
return paper;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -430,15 +444,15 @@ public class GenPaperService {
|
|
private List<PaperDetail> buildPaperDetail(Map<String, List<PaperDetailUnit>> map,GenPaperDto genPaperDto){
|
|
private List<PaperDetail> buildPaperDetail(Map<String, List<PaperDetailUnit>> map,GenPaperDto genPaperDto){
|
|
//定义新的大题集合
|
|
//定义新的大题集合
|
|
List<PaperDetail> paperDetails = new ArrayList<PaperDetail>();
|
|
List<PaperDetail> paperDetails = new ArrayList<PaperDetail>();
|
|
- Double score = 0d;
|
|
|
|
for(String name:map.keySet()){
|
|
for(String name:map.keySet()){
|
|
|
|
+ Double score = 0d;
|
|
PaperDetail paperDetail = new PaperDetail();
|
|
PaperDetail paperDetail = new PaperDetail();
|
|
paperDetail.setName(name);
|
|
paperDetail.setName(name);
|
|
paperDetail.setCreateTime(CommonUtils.getCurDateTime());
|
|
paperDetail.setCreateTime(CommonUtils.getCurDateTime());
|
|
paperDetail.setCreator(genPaperDto.getCreator());
|
|
paperDetail.setCreator(genPaperDto.getCreator());
|
|
List<PaperDetailUnit> paperDetailUnits = map.get(name);
|
|
List<PaperDetailUnit> paperDetailUnits = map.get(name);
|
|
for(PaperDetailUnit unit:paperDetailUnits){
|
|
for(PaperDetailUnit unit:paperDetailUnits){
|
|
- score += unit.getScore();
|
|
|
|
|
|
+ score += unit.getQuestion().getScore();
|
|
}
|
|
}
|
|
paperDetail.setScore(score);
|
|
paperDetail.setScore(score);
|
|
paperDetail.setUnitCount(paperDetailUnits.size());
|
|
paperDetail.setUnitCount(paperDetailUnits.size());
|
|
@@ -447,7 +461,6 @@ public class GenPaperService {
|
|
return paperDetails;
|
|
return paperDetails;
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
//把集合里面相同大题的小题分类
|
|
//把集合里面相同大题的小题分类
|
|
private Map<String, List<PaperDetailUnit>> sortPaperDeatilUnit(List<PaperDetailUnit> selectedUnits) {
|
|
private Map<String, List<PaperDetailUnit>> sortPaperDeatilUnit(List<PaperDetailUnit> selectedUnits) {
|
|
Map<String, List<PaperDetailUnit>> map = new HashMap<String, List<PaperDetailUnit>>();
|
|
Map<String, List<PaperDetailUnit>> map = new HashMap<String, List<PaperDetailUnit>>();
|
|
@@ -467,8 +480,6 @@ public class GenPaperService {
|
|
return map;
|
|
return map;
|
|
}
|
|
}
|
|
|
|
|
|
- //计算所有题目数量
|
|
|
|
-
|
|
|
|
//计算所有题目数量
|
|
//计算所有题目数量
|
|
private int countQuestions(List<PaperDetailUnit> unitList) {
|
|
private int countQuestions(List<PaperDetailUnit> unitList) {
|
|
int sum = 0;
|
|
int sum = 0;
|