|
@@ -268,9 +268,9 @@ public abstract class ExportPaperAbstractService {
|
|
|
protected void setExpTitle(PaperDetailExp paperDetailExp) {
|
|
|
String title = "";
|
|
|
String totalScore = BigDecimal.valueOf(paperDetailExp.getScore()).stripTrailingZeros().toPlainString();
|
|
|
- String unitScore = BigDecimal.valueOf(paperDetailExp.getPaperDetailUnits().get(0).getScore()).stripTrailingZeros().toPlainString();
|
|
|
QuesStructType type = paperDetailExp.getPaperDetailUnits().get(0).getQuestionType();
|
|
|
- String scoreString = checkPaperDetailUnitScore(paperDetailExp) ? "每小题"+ unitScore + "分" : "";
|
|
|
+ String questionScore = checkPaperDetailUnitScore(paperDetailExp);
|
|
|
+ String scoreString = questionScore==null?"":"每小题"+questionScore+"分";
|
|
|
if (type == QuesStructType.SINGLE_ANSWER_QUESTION) {
|
|
|
paperDetailExp.setName("单项选择题");
|
|
|
title = "(本大题共" + paperDetailExp.getUnitCount() + "小题,"
|
|
@@ -298,18 +298,26 @@ public abstract class ExportPaperAbstractService {
|
|
|
* 校验大题下的小题分数是不是一样
|
|
|
*
|
|
|
* @param paperDetailExp
|
|
|
- * @return
|
|
|
+ * @return 如果分数一样,返回分数
|
|
|
+ * 如果分数不一样,返回 null
|
|
|
*/
|
|
|
- protected boolean checkPaperDetailUnitScore(PaperDetailExp paperDetailExp) {
|
|
|
+ protected String checkPaperDetailUnitScore(PaperDetailExp paperDetailExp) {
|
|
|
List<PaperDetailUnitExp> paperDetailUnitExps = paperDetailExp.getPaperDetailUnits();
|
|
|
Set<Double> scoreSet = new HashSet<Double>();
|
|
|
for (PaperDetailUnitExp unitExp : paperDetailUnitExps) {
|
|
|
if(unitExp.getQuestionType()==QuesStructType.NESTED_ANSWER_QUESTION){
|
|
|
- return false;
|
|
|
+ List<Double> subScoreList = unitExp.getSubScoreList();
|
|
|
+ for(Double score:subScoreList){
|
|
|
+ scoreSet.add(score);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ scoreSet.add(unitExp.getScore());
|
|
|
}
|
|
|
- scoreSet.add(unitExp.getScore());
|
|
|
}
|
|
|
- return scoreSet.size() == 1;
|
|
|
+ if(scoreSet.size() == 1){
|
|
|
+ return scoreSet.iterator().next()+"";
|
|
|
+ }
|
|
|
+ return null;
|
|
|
}
|
|
|
|
|
|
protected void setUnitExpNumber(List<PaperDetailExp> paperDetails,int startIndxt) throws Exception {
|
|
@@ -509,7 +517,7 @@ public abstract class ExportPaperAbstractService {
|
|
|
*/
|
|
|
protected void appendScoreToQuestionBody(List<PaperDetailExp> details) throws Exception{
|
|
|
for(PaperDetailExp paperDetailExp:details){
|
|
|
- if(!checkPaperDetailUnitScore(paperDetailExp)){
|
|
|
+ if(checkPaperDetailUnitScore(paperDetailExp)==null){
|
|
|
for(PaperDetailUnitExp paperDetailUnit:paperDetailExp.getPaperDetailUnits()){
|
|
|
Question question = paperDetailUnit.getQuestion();
|
|
|
String questionBodyWord = appendScoreToQuestionBody(question.getQuesBodyWord(),paperDetailUnit.getScore());
|