|
@@ -972,6 +972,11 @@ public abstract class ExportPaperAbstractService {
|
|
|
* @param questionTypeNums
|
|
|
*/
|
|
|
public void fillObjectiveQuestions(List<PaperDetailExp> objectiveDetails,List<QuestionTypeNum> questionTypeNums) {
|
|
|
+ List<QuesStructType> types = new ArrayList<QuesStructType>();
|
|
|
+ for(PaperDetailExp paperDetailExp:objectiveDetails){
|
|
|
+ List<PaperDetailUnitExp> paperDetailUnits = paperDetailExp.getPaperDetailUnits();
|
|
|
+ types.add(paperDetailUnits.get(0).getQuestionType());
|
|
|
+ }
|
|
|
for(PaperDetailExp paperDetailExp:objectiveDetails){
|
|
|
List<PaperDetailUnitExp> paperDetailUnits = paperDetailExp.getPaperDetailUnits();
|
|
|
//1.将大题中的小题排序
|
|
@@ -983,8 +988,11 @@ public abstract class ExportPaperAbstractService {
|
|
|
}
|
|
|
//3.根据试卷结构导出设置中的数量补齐客观题
|
|
|
QuesStructType type = paperDetailUnits.get(0).getQuestionType();
|
|
|
- int unitSize = paperDetailUnits.size();
|
|
|
+ int unitSize = paperDetailUnits.size();//当前小题的数量
|
|
|
for(QuestionTypeNum questionTypeNum:questionTypeNums){
|
|
|
+ if(questionTypeNum.getQuantity()==null){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
if(type==questionTypeNum.getQuestionType()){
|
|
|
int length = questionTypeNum.getQuantity()-unitSize;
|
|
|
for(int i = 0;i<length;i++){
|
|
@@ -1000,6 +1008,26 @@ public abstract class ExportPaperAbstractService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ //添加试卷中没有的题型
|
|
|
+ PaperDetailExp paperDetailExp = new PaperDetailExp();
|
|
|
+ paperDetailExp.setNumber(objectiveDetails.size()+1);
|
|
|
+ List<PaperDetailUnitExp> paperDetailUnits = new ArrayList<PaperDetailUnitExp>();
|
|
|
+ for(QuestionTypeNum questionTypeNum:questionTypeNums){
|
|
|
+ if(!types.contains(questionTypeNum.getQuestionType())){
|
|
|
+ for(int i = 0;i<questionTypeNum.getQuantity();i++){
|
|
|
+ PaperDetailUnitExp paperDetailUnitExp = new PaperDetailUnitExp();
|
|
|
+ paperDetailUnitExp.setQuestionType(questionTypeNum.getQuestionType());
|
|
|
+ paperDetailUnitExp.setScore((double) 0);
|
|
|
+ paperDetailUnitExp.setNumber((i+1));
|
|
|
+ Question question = new Question();
|
|
|
+ question.setQuesAnswer("#");
|
|
|
+ paperDetailUnitExp.setQuestion(question);
|
|
|
+ paperDetailUnits.add(paperDetailUnitExp);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ paperDetailExp.setPaperDetailUnits(paperDetailUnits);
|
|
|
+ objectiveDetails.add(paperDetailExp);
|
|
|
}
|
|
|
|
|
|
/**
|