|
@@ -38,7 +38,6 @@ import java.io.FileOutputStream;
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigInteger;
|
|
import java.math.BigInteger;
|
|
-import java.text.DecimalFormat;
|
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.Map.Entry;
|
|
import java.util.Map.Entry;
|
|
import java.util.regex.Matcher;
|
|
import java.util.regex.Matcher;
|
|
@@ -807,7 +806,7 @@ public abstract class ExportPaperAbstractService {
|
|
*/
|
|
*/
|
|
public String appendScoreToWordQuestionBody(String quesBodyWordMl, double score) throws Exception {
|
|
public String appendScoreToWordQuestionBody(String quesBodyWordMl, double score) throws Exception {
|
|
String totalScore = BigDecimal.valueOf(score).stripTrailingZeros().toPlainString();
|
|
String totalScore = BigDecimal.valueOf(score).stripTrailingZeros().toPlainString();
|
|
- String scores = deletePoint(totalScore);
|
|
|
|
|
|
+ String scores = CommonUtils.clearZeroPoint(totalScore);
|
|
String tmpStr = DocxProcessUtil.BODY_HEADER + quesBodyWordMl + DocxProcessUtil.BODY_TAIL;
|
|
String tmpStr = DocxProcessUtil.BODY_HEADER + quesBodyWordMl + DocxProcessUtil.BODY_TAIL;
|
|
Body body = (Body) XmlUtils.unmarshalString(tmpStr, Context.jc, Body.class);
|
|
Body body = (Body) XmlUtils.unmarshalString(tmpStr, Context.jc, Body.class);
|
|
List<Object> pList = body.getContent();
|
|
List<Object> pList = body.getContent();
|
|
@@ -835,47 +834,44 @@ public abstract class ExportPaperAbstractService {
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
- * 去掉分数后面的小数点
|
|
|
|
|
|
+ * 设置大题标题
|
|
*/
|
|
*/
|
|
- protected String deletePoint(String str) {
|
|
|
|
- if (str.indexOf(".0") > -1) {
|
|
|
|
- return str.replace(".0", "");
|
|
|
|
|
|
+ public void setExportQuestionTitle(List<PaperDetailExp> details) {
|
|
|
|
+ if (CollectionUtils.isEmpty(details)) {
|
|
|
|
+ return;
|
|
}
|
|
}
|
|
- return str;
|
|
|
|
- }
|
|
|
|
|
|
|
|
- /**
|
|
|
|
- * 设置大题标题
|
|
|
|
- */
|
|
|
|
- public void setExportQuestionTitle(List<PaperDetailExp> paperDetailExps) {
|
|
|
|
- for (PaperDetailExp paperDetailExp : paperDetailExps) {
|
|
|
|
- String title = "";
|
|
|
|
- String titleDetail = null;
|
|
|
|
- DecimalFormat decimalFormat = new DecimalFormat("#.#");
|
|
|
|
- String totalScore = decimalFormat.format(paperDetailExp.getScore());
|
|
|
|
- QuesStructType type = paperDetailExp.getPaperDetailUnits().get(0).getQuestionType();
|
|
|
|
- String questionScore = checkPaperDetailUnitScore(paperDetailExp);
|
|
|
|
|
|
+ for (PaperDetailExp detail : details) {
|
|
|
|
+ String detailTitle = "";
|
|
|
|
+ String detailDesc = null;
|
|
|
|
+ String detailScore = CommonUtils.formatValue(detail.getScore());
|
|
|
|
+
|
|
|
|
+ String questionScore = checkPaperDetailUnitScore(detail);
|
|
if (questionScore != null) {
|
|
if (questionScore != null) {
|
|
- questionScore = deletePoint(questionScore);
|
|
|
|
|
|
+ questionScore = CommonUtils.clearZeroPoint(questionScore);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ QuesStructType type = detail.getPaperDetailUnits().get(0).getQuestionType();
|
|
String scoreString = questionScore == null ? "" : "每小题" + questionScore + "分,";
|
|
String scoreString = questionScore == null ? "" : "每小题" + questionScore + "分,";
|
|
|
|
+
|
|
if (type == QuesStructType.SINGLE_ANSWER_QUESTION) {
|
|
if (type == QuesStructType.SINGLE_ANSWER_QUESTION) {
|
|
- title = "(本大题共" + paperDetailExp.getUnitCount() + "小题,"
|
|
|
|
- + scoreString + "共" + totalScore + "分)";
|
|
|
|
- titleDetail = "在每小题列出的备选项中只有一个符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑,错涂、多涂或未涂均无分";
|
|
|
|
|
|
+ detailTitle = "(本大题共" + detail.getUnitCount() + "小题,"
|
|
|
|
+ + scoreString + "共" + detailScore + "分)";
|
|
|
|
+ detailDesc = "在每小题列出的备选项中只有一个符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑,错涂、多涂或未涂均无分";
|
|
} else if (type == QuesStructType.MULTIPLE_ANSWER_QUESTION) {
|
|
} else if (type == QuesStructType.MULTIPLE_ANSWER_QUESTION) {
|
|
- title = "(本大题共" + paperDetailExp.getUnitCount() + "小题,"
|
|
|
|
- + scoreString + "共" + totalScore + "分)";
|
|
|
|
- titleDetail = "在每小题列出的备选项中有一个或多个符合题目要求的,请将符合项选出并将“答题卡”的相应代码涂黑";
|
|
|
|
|
|
+ detailTitle = "(本大题共" + detail.getUnitCount() + "小题,"
|
|
|
|
+ + scoreString + "共" + detailScore + "分)";
|
|
|
|
+ detailDesc = "在每小题列出的备选项中有一个或多个符合题目要求的,请将符合项选出并将“答题卡”的相应代码涂黑";
|
|
} else if (type == QuesStructType.BOOL_ANSWER_QUESTION) {
|
|
} else if (type == QuesStructType.BOOL_ANSWER_QUESTION) {
|
|
- title = "(本大题共" + paperDetailExp.getUnitCount() + "小题,"
|
|
|
|
- + scoreString + "共" + totalScore + "分。"
|
|
|
|
|
|
+ detailTitle = "(本大题共" + detail.getUnitCount() + "小题,"
|
|
|
|
+ + scoreString + "共" + detailScore + "分。"
|
|
+ "正确的填涂√、错误填涂×。错涂、多涂或未涂均无分)";
|
|
+ "正确的填涂√、错误填涂×。错涂、多涂或未涂均无分)";
|
|
} else {
|
|
} else {
|
|
- title = "(本大题共" + paperDetailExp.getUnitCount() + "小题," + scoreString + "共" + totalScore + "分)";
|
|
|
|
|
|
+ detailTitle = "(本大题共" + detail.getUnitCount() + "小题," + scoreString + "共" + detailScore + "分)";
|
|
}
|
|
}
|
|
- paperDetailExp.setTitle(title);
|
|
|
|
- paperDetailExp.setTitleDetail(titleDetail);
|
|
|
|
|
|
+
|
|
|
|
+ detail.setTitle(detailTitle);
|
|
|
|
+ detail.setTitleDetail(detailDesc);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|