|
@@ -493,15 +493,13 @@ public abstract class ExportPaperAbstractService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 处理Word的题干选项
|
|
|
* 1.设置题号
|
|
|
* 2.给小题选项进行排序
|
|
|
* 3.设置选项号
|
|
|
* 4.替换题干中的##为____
|
|
|
- *
|
|
|
- * @param paperDetails
|
|
|
- * @throws Exception
|
|
|
*/
|
|
|
- public void setUnitExpNumber(List<PaperDetailExp> paperDetails) throws Exception {
|
|
|
+ public void setQuestionNumberForWord(List<PaperDetailExp> paperDetails) throws Exception {
|
|
|
for (PaperDetailExp paperDetail : paperDetails) {
|
|
|
List<PaperDetailUnitExp> paperDetailUnitExpList = paperDetail.getPaperDetailUnits();
|
|
|
for (PaperDetailUnitExp paperDetailUnit : paperDetailUnitExpList) {
|
|
@@ -563,49 +561,6 @@ public abstract class ExportPaperAbstractService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public void setUnitExpNumberHtml(List<PaperDetailExp> paperDetails) {
|
|
|
- for (PaperDetailExp paperDetail : paperDetails) {
|
|
|
- List<PaperDetailUnitExp> paperDetailUnitExpList = paperDetail.getPaperDetailUnits();
|
|
|
- for (PaperDetailUnitExp paperDetailUnit : paperDetailUnitExpList) {
|
|
|
- List<QuesOption> optionList = paperDetailUnit.getQuestion().getQuesOptions();
|
|
|
- if (optionList != null && optionList.size() > 0) {
|
|
|
- for (QuesOption quesOption : optionList) {
|
|
|
- quesOption.setOptionBodyWord(null);
|
|
|
- quesOption.setOptionBody(CommonUtils.relaceQuestionIdx(quesOption.getOptionBody().replace("###", "____"), 0));
|
|
|
- }
|
|
|
- }
|
|
|
- List<Question> subQuesList = paperDetailUnit.getQuestion().getSubQuestions();
|
|
|
- Question question = paperDetailUnit.getQuestion();
|
|
|
- if (subQuesList != null && subQuesList.size() > 0) {
|
|
|
- //套题主题干
|
|
|
- question.setQuesBodyWord(null);
|
|
|
- for (Question subQues : subQuesList) {
|
|
|
- Map<String, String> params = new HashMap<String, String>();
|
|
|
- params.put("number", String.valueOf(subQues.getNumber()));
|
|
|
- subQues.setQuesParams(params);
|
|
|
- //处理子题题干,答案
|
|
|
- subQues.setQuesBodyWord(null);
|
|
|
- subQues.setQuesAnswerWord(null);
|
|
|
- subQues.setQuesBodyWord(null);
|
|
|
- List<QuesOption> subOptionList = subQues.getQuesOptions();
|
|
|
- if (subOptionList != null && subOptionList.size() > 0) {
|
|
|
- for (QuesOption quesOption : subOptionList) {
|
|
|
- quesOption.setOptionBodyWord(null);
|
|
|
- quesOption.setOptionBody(CommonUtils.relaceQuestionIdx(quesOption.getOptionBody().replace("###", "____"), 0));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- //处理非套题题干、答案
|
|
|
- question.setQuesBodyWord(null);
|
|
|
- question.setQuesAnswerWord(null);
|
|
|
- question.setQuesBody(CommonUtils.relaceQuestionIdx(question.getQuesBody().replace("###", "____"), 0));
|
|
|
- question.setQuesAnswer(CommonUtils.relaceQuestionIdx(question.getQuesAnswer().replace("###", "____"), 0));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 检测同一行可以放多少个选项
|
|
|
*
|
|
@@ -1499,13 +1454,10 @@ public abstract class ExportPaperAbstractService {
|
|
|
sortPaperDetailUnits(exportPaper.getPaperDetails());
|
|
|
|
|
|
//如果每个小题分数不一样,题干后面添加分数
|
|
|
- checkAndSetQuestionScore(exportPaper.getPaperDetails());
|
|
|
+ setQuestionScoreForHtml(exportPaper.getPaperDetails());
|
|
|
|
|
|
- // 1.设置题号
|
|
|
- // 2.给小题选项进行排序
|
|
|
- // 3.设置选项号
|
|
|
- // 4.替换题干中的##为____
|
|
|
- setUnitExpNumber(exportPaper.getPaperDetails());
|
|
|
+ //处理Word的题干选项
|
|
|
+ setQuestionNumberForWord(exportPaper.getPaperDetails());
|
|
|
|
|
|
//设置大题标题
|
|
|
setExpDtoTitle(exportPaper.getPaperDetails());
|
|
@@ -1522,13 +1474,10 @@ public abstract class ExportPaperAbstractService {
|
|
|
sortPaperDetailUnits(previewPaper.getPaperDetails());
|
|
|
|
|
|
//如果每个小题分数不一致,题干后面添加分数;一致时则不用加
|
|
|
- checkAndSetQuestionScore(previewPaper.getPaperDetails());
|
|
|
+ setQuestionScoreForHtml(previewPaper.getPaperDetails());
|
|
|
|
|
|
- // 1.设置题号
|
|
|
- // 2.给小题选项进行排序
|
|
|
- // 3.设置选项号
|
|
|
- // 4.替换题干中的##为____
|
|
|
- setUnitExpNumberHtml(previewPaper.getPaperDetails());
|
|
|
+ //处理Html的题干选项
|
|
|
+ setQuestionNumberForHtml(previewPaper.getPaperDetails());
|
|
|
|
|
|
//设置大题标题
|
|
|
setExpDtoTitle(previewPaper.getPaperDetails());
|
|
@@ -1594,13 +1543,14 @@ public abstract class ExportPaperAbstractService {
|
|
|
*/
|
|
|
public String appendScoreToQuestionBodyHtml(String quesBodyHtml, double score) {
|
|
|
quesBodyHtml = quesBodyHtml.replaceAll("<p>", "").replaceAll("</p>", "");
|
|
|
+ quesBodyHtml = quesBodyHtml.replaceAll("<span>", "").replaceAll("</span>", "");
|
|
|
return "<p>" + quesBodyHtml + "(" + score + "分)</p>";
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 如果每个小题分数不一致,题干后面添加分数;一致时则不用加
|
|
|
*/
|
|
|
- public void checkAndSetQuestionScore(List<PaperDetailExp> details) {
|
|
|
+ public void setQuestionScoreForHtml(List<PaperDetailExp> details) {
|
|
|
for (PaperDetailExp detail : details) {
|
|
|
if (checkPaperDetailUnitScore(detail) != null) {
|
|
|
continue;//分数一致
|
|
@@ -1653,4 +1603,53 @@ public abstract class ExportPaperAbstractService {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 处理Html的题干选项
|
|
|
+ * 1.设置题号
|
|
|
+ * 2.给小题选项进行排序
|
|
|
+ * 3.设置选项号
|
|
|
+ * 4.替换题干中的##为____
|
|
|
+ */
|
|
|
+ public void setQuestionNumberForHtml(List<PaperDetailExp> details) {
|
|
|
+ for (PaperDetailExp detail : details) {
|
|
|
+ List<PaperDetailUnitExp> units = detail.getPaperDetailUnits();
|
|
|
+ for (PaperDetailUnitExp unit : units) {
|
|
|
+ Question question = unit.getQuestion();
|
|
|
+ List<QuesOption> options = question.getQuesOptions();
|
|
|
+ if (CollectionUtils.isNotEmpty(options)) {
|
|
|
+ for (QuesOption option : options) {
|
|
|
+ option.setOptionBody(CommonUtils.relaceQuestionIdx(option.getOptionBody().replace("###", "____"), 0));
|
|
|
+ option.setOptionBodyWord(null);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ List<Question> subQuestions = question.getSubQuestions();
|
|
|
+ question.setQuesBodyWord(null);
|
|
|
+
|
|
|
+ if (CollectionUtils.isNotEmpty(subQuestions)) {
|
|
|
+ for (Question subQues : subQuestions) {
|
|
|
+ Map<String, String> params = new HashMap<>();
|
|
|
+ params.put("number", String.valueOf(subQues.getNumber()));
|
|
|
+ subQues.setQuesParams(params);
|
|
|
+ subQues.setQuesBodyWord(null);
|
|
|
+ subQues.setQuesAnswerWord(null);
|
|
|
+ subQues.setQuesBodyWord(null);
|
|
|
+
|
|
|
+ List<QuesOption> subOptions = subQues.getQuesOptions();
|
|
|
+ if (subOptions != null && subOptions.size() > 0) {
|
|
|
+ for (QuesOption subOption : subOptions) {
|
|
|
+ subOption.setOptionBodyWord(null);
|
|
|
+ subOption.setOptionBody(CommonUtils.relaceQuestionIdx(subOption.getOptionBody().replace("###", "____"), 0));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ question.setQuesAnswerWord(null);
|
|
|
+ question.setQuesBody(CommonUtils.relaceQuestionIdx(question.getQuesBody().replace("###", "____"), 0));
|
|
|
+ question.setQuesAnswer(CommonUtils.relaceQuestionIdx(question.getQuesAnswer().replace("###", "____"), 0));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|