xiatian il y a 5 ans
Parent
commit
dd96812397

+ 29 - 14
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/util/ExportPaperUtil.java

@@ -577,19 +577,26 @@ public class ExportPaperUtil {
             if (qes.getSubQuestions() == null || qes.getSubQuestions().size() == 0) {// 套题题干不加题号
                 dto.setSubNum(dto.getSubNum() + 1);
             }
+            //处理题干
             List<JSection> slist1 = getSections(qes.getQuesBody(),true);
-            if (slist1 != null && slist1.size() > 0) {
-                if (qes.getSubQuestions() == null || qes.getSubQuestions().size() == 0) {// 套题题干不加题号
-                    SectionElement se = new SectionElement();
-                    se.setType(ELEMENT_TYPE_TEXT);
-                    se.setValue(dto.getSubNum() + ".");
-                    slist1.get(0).getElements().add(0, se);
-                }
-
-                htmlToDoc(slist1, dto);
-                qes.setQuesBodyWord(getQuestionDoc(slist1));
+            if (slist1 == null||slist1.size()==0) {
+                slist1=new ArrayList<JSection>();
+                JSection sec=new JSection();
+                List<SectionElement> ses=new ArrayList<SectionElement>();
+                sec.setElements(ses);
+                slist1.add(sec);
+            }
+            if (qes.getSubQuestions() == null || qes.getSubQuestions().size() == 0) {// 套题题干不加题号
+                SectionElement se = new SectionElement();
+                se.setType(ELEMENT_TYPE_TEXT);
+                se.setValue(dto.getSubNum() + ".");
+                slist1.get(0).getElements().add(0, se);
             }
 
+            htmlToDoc(slist1, dto);
+            qes.setQuesBodyWord(getQuestionDoc(slist1));
+
+            //处理选项
             if (qes.getQuesOptions() != null && qes.getQuesOptions().size() > 0) {
                 int index = 0;
                 JOptionDto joDto = new JOptionDto();
@@ -612,11 +619,18 @@ public class ExportPaperUtil {
                 disposeQuesOptions(joDto);// 处理选项列数
                 qes.setQuesOptionsWord(getPaperQuestionDoc(joDto.getOptions()));
             }
-            if (qes.getSubQuestions() == null || qes.getSubQuestions().size() == 0) {// 套题不加答案序号
+            
+            //处理答案
+            if (qes.getSubQuestions() == null || qes.getSubQuestions().size() == 0) {// 套题不加答案及序号
                 dto.setAnswerNum(dto.getAnswerNum() + 1);
-            }
-            List<JSection> slist3 = getSections(qes.getQuesAnswer());
-            if (slist3 != null && slist3.size() > 0) {
+                List<JSection> slist3 = getSections(qes.getQuesAnswer());
+                if (slist3 == null||slist3.size()==0) {
+                    slist3=new ArrayList<JSection>();
+                    JSection sec=new JSection();
+                    List<SectionElement> ses=new ArrayList<SectionElement>();
+                    sec.setElements(ses);
+                    slist3.add(sec);
+                }
                 SectionElement se = new SectionElement();
                 se.setType(ELEMENT_TYPE_TEXT);
                 se.setValue(dto.getAnswerNum() + ".");
@@ -625,6 +639,7 @@ public class ExportPaperUtil {
                 htmlToDoc(slist3, dto);
                 qes.setQuesAnswerWord(getQuestionDoc(slist3));
             }
+            
 
             if (qes.getSubQuestions() != null && qes.getSubQuestions().size() > 0) {
                 dto.setSubNum(0);