|
@@ -372,7 +372,10 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
paperDto.setPaperDetails(paperDetailDtos);
|
|
paperDto.setPaperDetails(paperDetailDtos);
|
|
// 封装小题
|
|
// 封装小题
|
|
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));
|
|
|
|
+ //小题根据number进行排序 perDetailUnit 对象中有compareTo方法
|
|
|
|
+ Collections.sort(paperDetailUnits);
|
|
//设置答案
|
|
//设置答案
|
|
setAnswer(paperDetailUnits);
|
|
setAnswer(paperDetailUnits);
|
|
List<PaperDetailUnitDto> paperDetailUnitDtos = BeanCopierUtil.copyPropertiesOfList(paperDetailUnits,PaperDetailUnitDto.class);
|
|
List<PaperDetailUnitDto> paperDetailUnitDtos = BeanCopierUtil.copyPropertiesOfList(paperDetailUnits,PaperDetailUnitDto.class);
|
|
@@ -432,7 +435,8 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
if(StringUtils.isNotEmpty(optionOrder) && optionOrder.contains(";")){
|
|
if(StringUtils.isNotEmpty(optionOrder) && optionOrder.contains(";")){
|
|
setAnswerUnit(subQuestion, optionOrder.split(";")[index]);
|
|
setAnswerUnit(subQuestion, optionOrder.split(";")[index]);
|
|
}else{
|
|
}else{
|
|
- setAnswerUnit(subQuestion, ""); }
|
|
|
|
|
|
+ setAnswerUnit(subQuestion, "");
|
|
|
|
+ }
|
|
index++;
|
|
index++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -465,6 +469,10 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 根据paperDetailUnitId抽取单个试题
|
|
|
|
+ * 根据paperDetailUnitId中设置的option顺序对option排序
|
|
|
|
+ */
|
|
@Override
|
|
@Override
|
|
public Map<String, Object> getQuestionById(String paperDetailUnitId) {
|
|
public Map<String, Object> getQuestionById(String paperDetailUnitId) {
|
|
String msg = "";
|
|
String msg = "";
|
|
@@ -502,8 +510,6 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
if (question.getQuestionType() == QuesStructType.SINGLE_ANSWER_QUESTION
|
|
if (question.getQuestionType() == QuesStructType.SINGLE_ANSWER_QUESTION
|
|
|| question.getQuestionType() == QuesStructType.MULTIPLE_ANSWER_QUESTION) {
|
|
|| question.getQuestionType() == QuesStructType.MULTIPLE_ANSWER_QUESTION) {
|
|
question.setQuesOptions(reorderOptionCore(question.getQuesOptions(), optionOrder));
|
|
question.setQuesOptions(reorderOptionCore(question.getQuesOptions(), optionOrder));
|
|
- //设置选择题答案 暂不需要
|
|
|
|
- //setChoiceQuestionAnswer(question);
|
|
|
|
}
|
|
}
|
|
if (question.getQuestionType() == QuesStructType.NESTED_ANSWER_QUESTION) {
|
|
if (question.getQuestionType() == QuesStructType.NESTED_ANSWER_QUESTION) {
|
|
List<Question> subQuestions = question.getSubQuestions();
|
|
List<Question> subQuestions = question.getSubQuestions();
|
|
@@ -516,13 +522,6 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
index++;
|
|
index++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- /*
|
|
|
|
- * //设置套题中选择题答案 暂不需要
|
|
|
|
- for (int m = 0; m < subQuestions.size(); m++) {
|
|
|
|
- Question subQuestion = subQuestions.get(m);
|
|
|
|
- setChoiceQuestionAnswer(subQuestion);
|
|
|
|
- }
|
|
|
|
- */
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -550,31 +549,4 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
return newQuesOptions;
|
|
return newQuesOptions;
|
|
}
|
|
}
|
|
|
|
|
|
- /**
|
|
|
|
- * 设置选择题答案
|
|
|
|
- * @param question
|
|
|
|
- */
|
|
|
|
- private void setChoiceQuestionAnswer(Question question){
|
|
|
|
- if (question.getQuestionType() == QuesStructType.SINGLE_ANSWER_QUESTION) {
|
|
|
|
- for(int i = 0;i<question.getQuesOptions().size();i++){
|
|
|
|
- QuesOption option = question.getQuesOptions().get(i);
|
|
|
|
- if(option.getIsCorrect()==1){
|
|
|
|
- char answer = (char)(i+65);
|
|
|
|
- question.setQuesAnswer(String.valueOf(answer));
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if(question.getQuestionType() == QuesStructType.MULTIPLE_ANSWER_QUESTION){
|
|
|
|
- String[] answerArray = {};
|
|
|
|
- for(int i = 0;i<question.getQuesOptions().size();i++){
|
|
|
|
- QuesOption option = question.getQuesOptions().get(i);
|
|
|
|
- if(option.getIsCorrect()==1){
|
|
|
|
- char answer = (char)(i+65);
|
|
|
|
- answerArray[i] = String.valueOf(answer);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- question.setQuesAnswer(StringUtils.join(answerArray,","));
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
}
|
|
}
|