|
@@ -10,6 +10,7 @@ import java.util.Random;
|
|
import java.util.Set;
|
|
import java.util.Set;
|
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
+import org.nlpcn.commons.lang.util.StringUtil;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.data.domain.Example;
|
|
import org.springframework.data.domain.Example;
|
|
import org.springframework.data.mongodb.core.MongoTemplate;
|
|
import org.springframework.data.mongodb.core.MongoTemplate;
|
|
@@ -354,6 +355,8 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
// 封装小题
|
|
// 封装小题
|
|
for (int i = 0; i < paperDetailDtos.size(); i++) {
|
|
for (int i = 0; i < paperDetailDtos.size(); i++) {
|
|
List<PaperDetailUnit> paperDetailUnits = paperDetailUnitRepo.findByPaperDetail(paperDetails.get(i));
|
|
List<PaperDetailUnit> paperDetailUnits = paperDetailUnitRepo.findByPaperDetail(paperDetails.get(i));
|
|
|
|
+ //设置答案
|
|
|
|
+ setAnswer(paperDetailUnits);
|
|
List<PaperDetailUnitDto> paperDetailUnitDtos = BeanCopierUtil.copyPropertiesOfList(paperDetailUnits,
|
|
List<PaperDetailUnitDto> paperDetailUnitDtos = BeanCopierUtil.copyPropertiesOfList(paperDetailUnits,
|
|
PaperDetailUnitDto.class);
|
|
PaperDetailUnitDto.class);
|
|
for (int j = 0; j < paperDetailUnitDtos.size(); j++) {
|
|
for (int j = 0; j < paperDetailUnitDtos.size(); j++) {
|
|
@@ -384,4 +387,52 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
}
|
|
}
|
|
return paperDto;
|
|
return paperDto;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ private void setAnswer(List<PaperDetailUnit> paperDetailUnits){
|
|
|
|
+
|
|
|
|
+ for(PaperDetailUnit paperDetailUnit:paperDetailUnits){
|
|
|
|
+
|
|
|
|
+ String optionOrder = paperDetailUnit.getOptionOrder();
|
|
|
|
+
|
|
|
|
+ if (StringUtil.isNotBlank(optionOrder)) {
|
|
|
|
+
|
|
|
|
+ Question question = paperDetailUnit.getQuestion();
|
|
|
|
+
|
|
|
|
+ if (question.getQuestionType() == QuesStructType.SINGLE_ANSWER_QUESTION
|
|
|
|
+ || question.getQuestionType() == QuesStructType.MULTIPLE_ANSWER_QUESTION) {
|
|
|
|
+
|
|
|
|
+ setAnswerUnit(question,optionOrder);
|
|
|
|
+
|
|
|
|
+ }else if (question.getQuestionType() == QuesStructType.NESTED_ANSWER_QUESTION) {
|
|
|
|
+
|
|
|
|
+ List<Question> subQuestions = question.getSubQuestions();
|
|
|
|
+ int index = 0;
|
|
|
|
+ for (int k = 0; k < subQuestions.size(); k++) {
|
|
|
|
+
|
|
|
|
+ Question subQuestion = subQuestions.get(k);
|
|
|
|
+ if (subQuestion.getQuestionType() == QuesStructType.SINGLE_ANSWER_QUESTION
|
|
|
|
+ || subQuestion.getQuestionType() == QuesStructType.MULTIPLE_ANSWER_QUESTION) {
|
|
|
|
+ setAnswerUnit(subQuestion,optionOrder.split(";")[index]);
|
|
|
|
+ index++;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void setAnswerUnit(Question question,String optionOrder){
|
|
|
|
+ List<QuesOption> quesOptions = question.getQuesOptions();
|
|
|
|
+ if(StringUtils.isEmpty(optionOrder) || quesOptions == null || quesOptions.size() == 0){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ String [] order = optionOrder.split(",");
|
|
|
|
+ for(int i = 0;i < order.length;i++){
|
|
|
|
+ for(QuesOption quesOption : quesOptions){
|
|
|
|
+ if(order[i].equals(quesOption.getNumber()) && quesOption.getIsCorrect() == 1){
|
|
|
|
+ question.setQuesAnswer("<p>"+CommonUtils.getOptionNum(i)+"</p>");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|