Browse Source

改善调卷性能

宋悦 7 years ago
parent
commit
5c76a10790

+ 29 - 14
cqb-paper/src/main/java/com/qmth/cqb/paper/service/impl/ExtractConfigServiceImpl.java

@@ -213,24 +213,39 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
 		}
 		}
 		String basePaperId = basePaper.getId();
 		String basePaperId = basePaper.getId();
 		logger.info("将原始试卷:"+basePaperId+"根据规则重新组卷");
 		logger.info("将原始试卷:"+basePaperId+"根据规则重新组卷");
-    	Paper newPaper = this.recombinationPaper(basePaper,PaperType.STUDENT_EXAM,
-						        				 extractConfig.getScrambling_the_question_order(), 
-						        				 extractConfig.getScrambling_the_option_order());
-    	logger.info("根据新试卷 paperId:"+newPaper.getId()+"组装PaperDto后返回");
+		int upSetQuestionOrder = extractConfig.getScrambling_the_question_order();
+		int upSetOptionOrder = extractConfig.getScrambling_the_option_order();
+		//不乱序直接调卷
+		if(upSetQuestionOrder == 0 && upSetOptionOrder == 0){
+			PaperDto paperDto = getPaperDtoByPaper(basePaper);
+			long paperDtoFinishTime = System.currentTimeMillis();
+			logger.info("获取试卷Dto共耗时:"+(paperDtoFinishTime - paperMapFinishTime)+"ms");
+			paperDto.setBasePaperId(basePaperId);
+			paperDto.setAllQbjectiveQuestion(checkIsAllQbjectiveQuestion(basePaperId));
+			returnMap.put("paperDto",paperDto);
+			logger.info("调卷完成");
+			logger.info("总共耗时:"+(System.currentTimeMillis() - beginTime)+"ms");
+		}else{
+			//乱序重新生成试卷
+			Paper newPaper = this.recombinationPaper(basePaper,PaperType.STUDENT_EXAM,
+					upSetQuestionOrder,
+					upSetOptionOrder);
+			logger.info("根据新试卷 paperId:"+newPaper.getId()+"组装PaperDto后返回");
 
 
-		long genPaperFinishTime = System.currentTimeMillis();
-		logger.info("组卷共耗时:"+(genPaperFinishTime - paperMapFinishTime)+"ms");
+			long genPaperFinishTime = System.currentTimeMillis();
+			logger.info("组卷共耗时:"+(genPaperFinishTime - paperMapFinishTime)+"ms");
 
 
-    	PaperDto paperDto = getPaperDtoByPaper(newPaper);
+			PaperDto paperDto = getPaperDtoByPaper(newPaper);
 
 
-		long paperDtoFinishTime = System.currentTimeMillis();
-		logger.info("获取试卷Dto共耗时:"+(paperDtoFinishTime - genPaperFinishTime)+"ms");
+			long paperDtoFinishTime = System.currentTimeMillis();
+			logger.info("获取试卷Dto共耗时:"+(paperDtoFinishTime - genPaperFinishTime)+"ms");
 
 
-    	paperDto.setBasePaperId(basePaperId);
-    	paperDto.setAllQbjectiveQuestion(checkIsAllQbjectiveQuestion(basePaperId));
-		returnMap.put("paperDto",paperDto);
-		logger.info("调卷完成");
-		logger.info("总共耗时:"+(System.currentTimeMillis() - beginTime)+"ms");
+			paperDto.setBasePaperId(basePaperId);
+			paperDto.setAllQbjectiveQuestion(checkIsAllQbjectiveQuestion(basePaperId));
+			returnMap.put("paperDto",paperDto);
+			logger.info("调卷完成");
+			logger.info("总共耗时:"+(System.currentTimeMillis() - beginTime)+"ms");
+		}
 		return returnMap;
 		return returnMap;
 	}
 	}