|
@@ -1,5 +1,6 @@
|
|
package com.qmth.cqb.paper.service.impl;
|
|
package com.qmth.cqb.paper.service.impl;
|
|
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
@@ -15,6 +16,7 @@ import org.springframework.stereotype.Service;
|
|
import cn.com.qmth.examcloud.common.dto.question.enums.QuesStructType;
|
|
import cn.com.qmth.examcloud.common.dto.question.enums.QuesStructType;
|
|
import cn.com.qmth.examcloud.common.uac.entity.AccessUser;
|
|
import cn.com.qmth.examcloud.common.uac.entity.AccessUser;
|
|
|
|
|
|
|
|
+import com.netflix.infix.lang.infix.antlr.EventFilterParser.boolean_expr_return;
|
|
import com.qmth.cqb.paper.dao.PaperDetailUnitRepo;
|
|
import com.qmth.cqb.paper.dao.PaperDetailUnitRepo;
|
|
import com.qmth.cqb.paper.dto.PaperDetailUnitExp;
|
|
import com.qmth.cqb.paper.dto.PaperDetailUnitExp;
|
|
import com.qmth.cqb.paper.model.Paper;
|
|
import com.qmth.cqb.paper.model.Paper;
|
|
@@ -22,6 +24,7 @@ import com.qmth.cqb.paper.model.PaperDetail;
|
|
import com.qmth.cqb.paper.model.PaperDetailUnit;
|
|
import com.qmth.cqb.paper.model.PaperDetailUnit;
|
|
import com.qmth.cqb.paper.service.PaperDetailUnitService;
|
|
import com.qmth.cqb.paper.service.PaperDetailUnitService;
|
|
import com.qmth.cqb.paper.service.PaperService;
|
|
import com.qmth.cqb.paper.service.PaperService;
|
|
|
|
+import com.qmth.cqb.question.model.QuesProperty;
|
|
import com.qmth.cqb.question.model.Question;
|
|
import com.qmth.cqb.question.model.Question;
|
|
import com.qmth.cqb.question.service.QuesService;
|
|
import com.qmth.cqb.question.service.QuesService;
|
|
import com.qmth.cqb.utils.enums.PaperType;
|
|
import com.qmth.cqb.utils.enums.PaperType;
|
|
@@ -102,6 +105,23 @@ public class PaperDetailUnitServiceImpl implements PaperDetailUnitService{
|
|
}
|
|
}
|
|
// 更新套题unit当前总分与子题分数
|
|
// 更新套题unit当前总分与子题分数
|
|
oldPdu.setSubScoreList(subScoreList);
|
|
oldPdu.setSubScoreList(subScoreList);
|
|
|
|
+ //重新计算套题的难度,公开度
|
|
|
|
+ boolean publicity = false;
|
|
|
|
+ double totalSum = 0d;
|
|
|
|
+ for(Question subQuestion:oldPdu.getQuestion().getSubQuestions()){
|
|
|
|
+ //设置公开度
|
|
|
|
+ if(subQuestion.getPublicity()){
|
|
|
|
+ publicity = true;
|
|
|
|
+ }
|
|
|
|
+ if(subQuestion.getDifficultyDegree() == null){
|
|
|
|
+ subQuestion.setDifficultyDegree(0.5);
|
|
|
|
+ }
|
|
|
|
+ totalSum = subQuestion.getDifficultyDegree() + totalSum;
|
|
|
|
+ }
|
|
|
|
+ BigDecimal b = new BigDecimal(totalSum / (oldPdu.getQuestion().getSubQuestions().size()));
|
|
|
|
+ Double difficulty = b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
|
|
|
|
+ oldPdu.getQuestion().setDifficultyDegree(difficulty);
|
|
|
|
+ oldPdu.getQuestion().setPublicity(publicity);
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
oldPdu.setQuestion(quesService.saveQues(pduExp.getQuestion()));
|
|
oldPdu.setQuestion(quesService.saveQues(pduExp.getQuestion()));
|