|
@@ -362,11 +362,10 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
|
for (int j = 0; j < paperDetailUnitDtos.size(); j++) {
|
|
|
PaperDetailUnitDto unitDto = paperDetailUnitDtos.get(j);
|
|
|
unitDto.setQuesId(paperDetailUnits.get(j).getQuestion().getId());
|
|
|
- if (StringUtils.isNotEmpty(paperDetailUnits.get(j).getQuestion().getQuesAnswer())) {
|
|
|
- String answer = DocxProcessUtil
|
|
|
- .getTextInHtml(paperDetailUnits.get(j).getQuestion().getQuesAnswer());
|
|
|
- unitDto.setAnswer(answer);
|
|
|
- }
|
|
|
+ String answer = paperDetailUnits.get(j).getQuestion().getQuesAnswer();
|
|
|
+ if (StringUtils.isNotEmpty(answer)) {
|
|
|
+ unitDto.setAnswer(answer);
|
|
|
+ }
|
|
|
if (unitDto.getQuestionType() == QuesStructType.NESTED_ANSWER_QUESTION) {// 假如是套题
|
|
|
List<Question> subQuesList = paperDetailUnits.get(j).getQuestion().getSubQuestions();
|
|
|
List<SubQuestionDto> subQuesDtos = BeanCopierUtil.copyPropertiesOfList(subQuesList,
|
|
@@ -375,8 +374,9 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
|
List<QuesOptionDto> quesOptionDtos = BeanCopierUtil
|
|
|
.copyPropertiesOfList(subQuesList.get(m).getQuesOptions(), QuesOptionDto.class);
|
|
|
subQuesDtos.get(m).setQuesOptions(quesOptionDtos);
|
|
|
- subQuesDtos.get(m)
|
|
|
- .setQuesAnswer(DocxProcessUtil.getTextInHtml(subQuesList.get(m).getQuesAnswer()));
|
|
|
+ if(StringUtils.isNotEmpty(subQuesList.get(m).getQuesAnswer())){
|
|
|
+ subQuesDtos.get(m).setQuesAnswer(subQuesList.get(m).getQuesAnswer());
|
|
|
+ }
|
|
|
subQuesDtos.get(m).setNumber(m + 1);
|
|
|
}
|
|
|
unitDto.setSubQuestions(subQuesDtos);
|
|
@@ -388,33 +388,34 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
|
return paperDto;
|
|
|
}
|
|
|
|
|
|
- private void setAnswer(List<PaperDetailUnit> paperDetailUnits){
|
|
|
+ private void setAnswer(List<PaperDetailUnit> paperDetailUnits) {
|
|
|
|
|
|
- for(PaperDetailUnit paperDetailUnit:paperDetailUnits){
|
|
|
+ for (PaperDetailUnit paperDetailUnit : paperDetailUnits) {
|
|
|
|
|
|
String optionOrder = paperDetailUnit.getOptionOrder();
|
|
|
|
|
|
- if (StringUtil.isNotBlank(optionOrder)) {
|
|
|
|
|
|
- Question question = paperDetailUnit.getQuestion();
|
|
|
+ Question question = paperDetailUnit.getQuestion();
|
|
|
|
|
|
- if (question.getQuestionType() == QuesStructType.SINGLE_ANSWER_QUESTION
|
|
|
- || question.getQuestionType() == QuesStructType.MULTIPLE_ANSWER_QUESTION) {
|
|
|
+ if (question.getQuestionType() == QuesStructType.SINGLE_ANSWER_QUESTION
|
|
|
+ || question.getQuestionType() == QuesStructType.MULTIPLE_ANSWER_QUESTION) {
|
|
|
|
|
|
- setAnswerUnit(question,optionOrder);
|
|
|
+ setAnswerUnit(question, optionOrder);
|
|
|
|
|
|
- }else if (question.getQuestionType() == QuesStructType.NESTED_ANSWER_QUESTION) {
|
|
|
+ } else if (question.getQuestionType() == QuesStructType.NESTED_ANSWER_QUESTION) {
|
|
|
|
|
|
- List<Question> subQuestions = question.getSubQuestions();
|
|
|
- int index = 0;
|
|
|
- for (int k = 0; k < subQuestions.size(); k++) {
|
|
|
+ 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++;
|
|
|
- }
|
|
|
+ Question subQuestion = subQuestions.get(k);
|
|
|
+ if (subQuestion.getQuestionType() == QuesStructType.SINGLE_ANSWER_QUESTION
|
|
|
+ || subQuestion.getQuestionType() == QuesStructType.MULTIPLE_ANSWER_QUESTION) {
|
|
|
+ if(StringUtils.isNotEmpty(optionOrder) && optionOrder.contains(";")){
|
|
|
+ setAnswerUnit(subQuestion, optionOrder.split(";")[index]);
|
|
|
+ }else{
|
|
|
+ setAnswerUnit(subQuestion, ""); }
|
|
|
+ index++;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -423,14 +424,24 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
|
|
|
|
private void setAnswerUnit(Question question,String optionOrder){
|
|
|
List<QuesOption> quesOptions = question.getQuesOptions();
|
|
|
- if(StringUtils.isEmpty(optionOrder) || quesOptions == null || quesOptions.size() == 0){
|
|
|
+ if(quesOptions == null || quesOptions.size() == 0){
|
|
|
return;
|
|
|
}
|
|
|
- String [] order = optionOrder.split(",");
|
|
|
- for(int i = 0;i < order.length;i++){
|
|
|
+ if(StringUtils.isEmpty(optionOrder)){
|
|
|
+ int j = 0;
|
|
|
for(QuesOption quesOption : quesOptions){
|
|
|
- if(order[i].equals(quesOption.getNumber()) && quesOption.getIsCorrect() == 1){
|
|
|
- question.setQuesAnswer("<p>"+CommonUtils.getOptionNum(i)+"</p>");
|
|
|
+ if(quesOption.getIsCorrect() == 1){
|
|
|
+ question.setQuesAnswer(CommonUtils.getOptionNum(j));
|
|
|
+ }
|
|
|
+ j++;
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ 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(CommonUtils.getOptionNum(i));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|