|
@@ -28,9 +28,9 @@ public class ParsePaper {
|
|
|
private final static String SECTION_STYLE = "class=\"pDetail\"";//试卷大题样式
|
|
|
private final static String QUESTION_STYLE = "class=\"pQues\"";//试题标题样式
|
|
|
private final static String OPTION_STYLE = "class=\"pOpt\"";//试题答案项样式
|
|
|
- private final static String FORMAT_SECTION = "<p %s><b>%s、%s (本大题共%s小题,共%s分)</b></p>";//大题标题格式
|
|
|
- private final static String FORMAT_QUESTION = "<p %s>%s、%s (%s分)</p>";//试题标题格式
|
|
|
- private final static String FORMAT_SUB_QUESTION = "<p %s>(%s)、%s (%s分)</p>";//子试题标题格式
|
|
|
+ private final static String FORMAT_SECTION = "<p %s><b>%s、%s</b></p>";//大题标题格式
|
|
|
+ private final static String FORMAT_QUESTION = "<p %s>%s、%s</p>";//试题标题格式
|
|
|
+ private final static String FORMAT_SUB_QUESTION = "<p %s>%s、%s</p>";//子试题标题格式
|
|
|
private final static String FORMAT_OPTION = "<p %s>%s、%s</p>";//选项内容格式
|
|
|
private final static String[] REGEX_FILL_1 = {"[#][#]", "____"};//正则关键字
|
|
|
private final static String[] REGEX_FILL_2 = {"[_][#]", "_"};//正则关键字
|
|
@@ -52,9 +52,13 @@ public class ParsePaper {
|
|
|
for (int x = 0; x < details.size(); x++) {
|
|
|
PaperDetailExp detail = details.get(x);
|
|
|
if (StringUtils.isNotBlank(detail.getTitle())) {
|
|
|
- htmlList.add(String.format(FORMAT_SECTION, SECTION_STYLE, detail.getCnNum(), detail.getName() + detail.getTitle(), detail.getUnitCount(), formatValue(detail.getScore())));
|
|
|
+ htmlList.add(String.format(FORMAT_SECTION, SECTION_STYLE, detail.getCnNum(), replaceTagP(detail.getName() + detail.getTitle())));
|
|
|
} else {
|
|
|
- htmlList.add(String.format(FORMAT_SECTION, SECTION_STYLE, detail.getCnNum(), detail.getName(), detail.getUnitCount(), formatValue(detail.getScore())));
|
|
|
+ htmlList.add(String.format(FORMAT_SECTION, SECTION_STYLE, detail.getCnNum(), replaceTagP(detail.getName())));
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StringUtils.isNotBlank(detail.getTitleDetail())) {
|
|
|
+ htmlList.add(String.format("<p>%s</p>", replaceTagP(detail.getTitleDetail())));
|
|
|
}
|
|
|
|
|
|
//封装大题的试题列表
|
|
@@ -74,7 +78,11 @@ public class ParsePaper {
|
|
|
|
|
|
//题干 替换特殊关键字
|
|
|
qBody = replaceFill(question, qBody);
|
|
|
- htmlList.add(String.format(FORMAT_QUESTION, QUESTION_STYLE, unit.getNumber(), qBody, formatValue(question.getScore())));
|
|
|
+ if (question.getQuestionType() == QuesStructType.NESTED_ANSWER_QUESTION) {
|
|
|
+ htmlList.add(String.format("<p %s>%s</p>", QUESTION_STYLE, qBody));
|
|
|
+ } else {
|
|
|
+ htmlList.add(String.format(FORMAT_QUESTION, QUESTION_STYLE, unit.getNumber(), qBody));
|
|
|
+ }
|
|
|
|
|
|
//客观题 选项列表
|
|
|
List<QuesOption> options = question.getQuesOptions();
|
|
@@ -100,7 +108,7 @@ public class ParsePaper {
|
|
|
//题干 替换特殊关键字
|
|
|
subBody = replaceFill(subQues, subBody);
|
|
|
String subQuesNumber = subQues.getQuesParams().get("number");
|
|
|
- htmlList.add(String.format(FORMAT_SUB_QUESTION, QUESTION_STYLE, subQuesNumber, subBody, formatValue(subQues.getScore())));
|
|
|
+ htmlList.add(String.format(FORMAT_SUB_QUESTION, QUESTION_STYLE, subQuesNumber, subBody));
|
|
|
|
|
|
//客观题 选项列表
|
|
|
List<QuesOption> subOptions = subQues.getQuesOptions();
|
|
@@ -131,7 +139,11 @@ public class ParsePaper {
|
|
|
//封装试卷答案的HTML内容
|
|
|
List<String> htmlList = new ArrayList<>();
|
|
|
for (PaperDetailExp detail : details) {
|
|
|
- htmlList.add(String.format(FORMAT_SECTION, SECTION_STYLE, detail.getCnNum(), detail.getName(), detail.getUnitCount(), formatValue(detail.getScore())));
|
|
|
+ if (StringUtils.isNotBlank(detail.getTitle())) {
|
|
|
+ htmlList.add(String.format(FORMAT_SECTION, SECTION_STYLE, detail.getCnNum(), detail.getName() + detail.getTitle()));
|
|
|
+ } else {
|
|
|
+ htmlList.add(String.format(FORMAT_SECTION, SECTION_STYLE, detail.getCnNum(), detail.getName()));
|
|
|
+ }
|
|
|
|
|
|
List<PaperDetailUnitExp> units = detail.getPaperDetailUnits();
|
|
|
for (PaperDetailUnitExp unit : units) {
|
|
@@ -141,16 +153,16 @@ public class ParsePaper {
|
|
|
}
|
|
|
|
|
|
if (question.getQuestionType() == QuesStructType.NESTED_ANSWER_QUESTION) {
|
|
|
- htmlList.add(String.format(FORMAT_QUESTION, QUESTION_STYLE, unit.getNumber(), "题", formatValue(question.getScore())));
|
|
|
+ //htmlList.add(String.format(FORMAT_QUESTION, QUESTION_STYLE, unit.getNumber(), "题"));
|
|
|
List<Question> subQuestions = question.getSubQuestions();
|
|
|
if (subQuestions != null && subQuestions.size() > 0) {
|
|
|
for (Question subQues : subQuestions) {
|
|
|
String subQuesNumber = subQues.getQuesParams().get("number");
|
|
|
- htmlList.add(String.format(FORMAT_SUB_QUESTION, QUESTION_STYLE, subQuesNumber, replaceFill(subQues, subQues.getQuesAnswer()), formatValue(subQues.getScore())));
|
|
|
+ htmlList.add(String.format(FORMAT_SUB_QUESTION, QUESTION_STYLE, subQuesNumber, replaceFill(subQues, subQues.getQuesAnswer())));
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
- htmlList.add(String.format(FORMAT_QUESTION, QUESTION_STYLE, unit.getNumber(), replaceFill(question, question.getQuesAnswer()), formatValue(question.getScore())));
|
|
|
+ htmlList.add(String.format(FORMAT_QUESTION, QUESTION_STYLE, unit.getNumber(), replaceFill(question, question.getQuesAnswer())));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -194,7 +206,9 @@ public class ParsePaper {
|
|
|
return null;
|
|
|
}
|
|
|
return str.replace("<p>", "")
|
|
|
- .replace("</p>", "");
|
|
|
+ .replace("</p>", "")
|
|
|
+ .replace("<P>", "")
|
|
|
+ .replace("</P>", "");
|
|
|
}
|
|
|
|
|
|
}
|