|
@@ -10,8 +10,8 @@ import com.qmth.cqb.paper.assemble.PaperDetailDtoAssembler;
|
|
|
import com.qmth.cqb.paper.assemble.PaperDetailUnitDtoAssembler;
|
|
|
import com.qmth.cqb.paper.assemble.PaperDtoAssembler;
|
|
|
import com.qmth.cqb.paper.assemble.SubQuestionDtoAssembler;
|
|
|
-
|
|
|
import com.qmth.cqb.paper.dao.nativedriver.PaperDetailUnitNativeRepo;
|
|
|
+
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.commons.lang3.SystemUtils;
|
|
|
import org.bson.types.ObjectId;
|
|
@@ -963,5 +963,48 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
|
returnMap.put("paperDto",paperDto);
|
|
|
return returnMap;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String getAnswerHtml(String paperId) {
|
|
|
+ //1.根据id查询试卷
|
|
|
+ Paper paper = paperRepo.findOne(paperId);
|
|
|
+ //2.定义html字符串
|
|
|
+ StringBuffer answerHtml = new StringBuffer("<p style=\"text-align:center;font-size:20px;font-weight:bold\">"+paper.getCourse().getName()+"("+paper.getCourse().getCode()+")"+"</p>");
|
|
|
+ //3.通过试卷获取考试端试卷结构
|
|
|
+ PaperDto paperDto = getPaperDtoByPaper(paper,paper.getId());
|
|
|
+ //4.获取试卷所有大题,并且循环
|
|
|
+ List<PaperDetailDto> paperDetailDtos = paperDto.getPaperDetails();
|
|
|
+ for(PaperDetailDto paperDetailDto:paperDetailDtos){
|
|
|
+ String title = "<p>"+paperDetailDto.getCnNum()+"、"+paperDetailDto.getName()+"(共"+paperDetailDto.getScore()+"分)"+"</p>";
|
|
|
+ answerHtml.append(title);
|
|
|
+ //5.获取大题下面的小题,并循环
|
|
|
+ List<PaperDetailUnitDto> paperDetailUnitDtos = paperDetailDto.getPaperDetailUnits();
|
|
|
+ for(PaperDetailUnitDto paperDetailUnitDto:paperDetailUnitDtos){
|
|
|
+ //6.判断是否非套题
|
|
|
+ if(paperDetailUnitDto.getSubQuestions()!=null && paperDetailUnitDto.getSubQuestions().size()>0){
|
|
|
+ List<SubQuestionDto> subQuestionDtos = paperDetailUnitDto.getSubQuestions();
|
|
|
+ for(SubQuestionDto subQuestionDto:subQuestionDtos){
|
|
|
+ String answer = "";
|
|
|
+ //判断答案是否以P标签开头
|
|
|
+ if(subQuestionDto.getQuesAnswer().startsWith("<p>")){
|
|
|
+ answer = subQuestionDto.getQuesAnswer().replaceAll("<p>","<p style=\"margin-left:40px;\">").replaceFirst("<p style=\"margin-left:40px;\">", "<p style=\"margin-left:20px;\">" + subQuestionDto.getNumber() + ".");
|
|
|
+ }else{
|
|
|
+ answer = "<p style=\"margin-left:20px;\">" + subQuestionDto.getNumber() + "." + subQuestionDto.getQuesAnswer() + "</p>";
|
|
|
+ }
|
|
|
+ answerHtml.append(answer);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ String answer = "";
|
|
|
+ if(paperDetailUnitDto.getAnswer().startsWith("<p>")){
|
|
|
+ answer = paperDetailUnitDto.getAnswer().replaceAll("<p>","<p style=\"margin-left:40px;\">").replaceFirst("<p style=\"margin-left:40px;\">", "<p style=\"margin-left:20px;\">" + paperDetailUnitDto.getNumber() + ".");
|
|
|
+ }else{
|
|
|
+ answer = "<p style=\"margin-left:20px;\">" + paperDetailUnitDto.getNumber() + "." + paperDetailUnitDto.getAnswer() + "</p>";
|
|
|
+ }
|
|
|
+ answerHtml.append(answer);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return answerHtml.toString();
|
|
|
+ }
|
|
|
+
|
|
|
}
|