Ver código fonte

update paper.

deason 6 anos atrás
pai
commit
928c91578e

+ 26 - 12
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/bean/ParsePaper.java

@@ -28,9 +28,9 @@ public class ParsePaper {
     private final static String SECTION_STYLE = "class=\"pDetail\"";//试卷大题样式
     private final static String QUESTION_STYLE = "class=\"pQues\"";//试题标题样式
     private final static String OPTION_STYLE = "class=\"pOpt\"";//试题答案项样式
-    private final static String FORMAT_SECTION = "<p %s><b>%s、%s (本大题共%s小题,共%s分)</b></p>";//大题标题格式
-    private final static String FORMAT_QUESTION = "<p %s>%s、%s (%s分)</p>";//试题标题格式
-    private final static String FORMAT_SUB_QUESTION = "<p %s>(%s)、%s (%s分)</p>";//子试题标题格式
+    private final static String FORMAT_SECTION = "<p %s><b>%s、%s</b></p>";//大题标题格式
+    private final static String FORMAT_QUESTION = "<p %s>%s、%s</p>";//试题标题格式
+    private final static String FORMAT_SUB_QUESTION = "<p %s>%s、%s</p>";//子试题标题格式
     private final static String FORMAT_OPTION = "<p %s>%s、%s</p>";//选项内容格式
     private final static String[] REGEX_FILL_1 = {"[#][#]", "____"};//正则关键字
     private final static String[] REGEX_FILL_2 = {"[_][#]", "_"};//正则关键字
@@ -52,9 +52,13 @@ public class ParsePaper {
         for (int x = 0; x < details.size(); x++) {
             PaperDetailExp detail = details.get(x);
             if (StringUtils.isNotBlank(detail.getTitle())) {
-                htmlList.add(String.format(FORMAT_SECTION, SECTION_STYLE, detail.getCnNum(), detail.getName() + detail.getTitle(), detail.getUnitCount(), formatValue(detail.getScore())));
+                htmlList.add(String.format(FORMAT_SECTION, SECTION_STYLE, detail.getCnNum(), replaceTagP(detail.getName() + detail.getTitle())));
             } else {
-                htmlList.add(String.format(FORMAT_SECTION, SECTION_STYLE, detail.getCnNum(), detail.getName(), detail.getUnitCount(), formatValue(detail.getScore())));
+                htmlList.add(String.format(FORMAT_SECTION, SECTION_STYLE, detail.getCnNum(), replaceTagP(detail.getName())));
+            }
+
+            if (StringUtils.isNotBlank(detail.getTitleDetail())) {
+                htmlList.add(String.format("<p>%s</p>", replaceTagP(detail.getTitleDetail())));
             }
 
             //封装大题的试题列表
@@ -74,7 +78,11 @@ public class ParsePaper {
 
                 //题干 替换特殊关键字
                 qBody = replaceFill(question, qBody);
-                htmlList.add(String.format(FORMAT_QUESTION, QUESTION_STYLE, unit.getNumber(), qBody, formatValue(question.getScore())));
+                if (question.getQuestionType() == QuesStructType.NESTED_ANSWER_QUESTION) {
+                    htmlList.add(String.format("<p %s>%s</p>", QUESTION_STYLE, qBody));
+                } else {
+                    htmlList.add(String.format(FORMAT_QUESTION, QUESTION_STYLE, unit.getNumber(), qBody));
+                }
 
                 //客观题 选项列表
                 List<QuesOption> options = question.getQuesOptions();
@@ -100,7 +108,7 @@ public class ParsePaper {
                             //题干 替换特殊关键字
                             subBody = replaceFill(subQues, subBody);
                             String subQuesNumber = subQues.getQuesParams().get("number");
-                            htmlList.add(String.format(FORMAT_SUB_QUESTION, QUESTION_STYLE, subQuesNumber, subBody, formatValue(subQues.getScore())));
+                            htmlList.add(String.format(FORMAT_SUB_QUESTION, QUESTION_STYLE, subQuesNumber, subBody));
 
                             //客观题 选项列表
                             List<QuesOption> subOptions = subQues.getQuesOptions();
@@ -131,7 +139,11 @@ public class ParsePaper {
         //封装试卷答案的HTML内容
         List<String> htmlList = new ArrayList<>();
         for (PaperDetailExp detail : details) {
-            htmlList.add(String.format(FORMAT_SECTION, SECTION_STYLE, detail.getCnNum(), detail.getName(), detail.getUnitCount(), formatValue(detail.getScore())));
+            if (StringUtils.isNotBlank(detail.getTitle())) {
+                htmlList.add(String.format(FORMAT_SECTION, SECTION_STYLE, detail.getCnNum(), detail.getName() + detail.getTitle()));
+            } else {
+                htmlList.add(String.format(FORMAT_SECTION, SECTION_STYLE, detail.getCnNum(), detail.getName()));
+            }
 
             List<PaperDetailUnitExp> units = detail.getPaperDetailUnits();
             for (PaperDetailUnitExp unit : units) {
@@ -141,16 +153,16 @@ public class ParsePaper {
                 }
 
                 if (question.getQuestionType() == QuesStructType.NESTED_ANSWER_QUESTION) {
-                    htmlList.add(String.format(FORMAT_QUESTION, QUESTION_STYLE, unit.getNumber(), "题", formatValue(question.getScore())));
+                    //htmlList.add(String.format(FORMAT_QUESTION, QUESTION_STYLE, unit.getNumber(), "题"));
                     List<Question> subQuestions = question.getSubQuestions();
                     if (subQuestions != null && subQuestions.size() > 0) {
                         for (Question subQues : subQuestions) {
                             String subQuesNumber = subQues.getQuesParams().get("number");
-                            htmlList.add(String.format(FORMAT_SUB_QUESTION, QUESTION_STYLE, subQuesNumber, replaceFill(subQues, subQues.getQuesAnswer()), formatValue(subQues.getScore())));
+                            htmlList.add(String.format(FORMAT_SUB_QUESTION, QUESTION_STYLE, subQuesNumber, replaceFill(subQues, subQues.getQuesAnswer())));
                         }
                     }
                 } else {
-                    htmlList.add(String.format(FORMAT_QUESTION, QUESTION_STYLE, unit.getNumber(), replaceFill(question, question.getQuesAnswer()), formatValue(question.getScore())));
+                    htmlList.add(String.format(FORMAT_QUESTION, QUESTION_STYLE, unit.getNumber(), replaceFill(question, question.getQuesAnswer())));
                 }
             }
         }
@@ -194,7 +206,9 @@ public class ParsePaper {
             return null;
         }
         return str.replace("<p>", "")
-                .replace("</p>", "");
+                .replace("</p>", "")
+                .replace("<P>", "")
+                .replace("</P>", "");
     }
 
 }

+ 20 - 6
examcloud-core-questions-starter/src/main/resources/templates/sddxExportPaperService_answer.ftl

@@ -87,7 +87,7 @@
         }
 
         .paper_title {
-            height: 150px;
+            height: 184px;
         }
 
         #optionContent {
@@ -159,15 +159,29 @@
             <div class="secondColumn" id="secondColumn0">
                 <div class="paper_title">
                     <div style="text-align: center">
-                        <h1><span style="margin-right:20%;">网络教育学院考试</span></h1>
-                        <h3><span style="margin-right:20%;">考试试卷答案</span></h3>
+                        <h1><span style="margin-right:20%;">山东大学继续(网络教育</span></h1>
+                        <h3><span style="margin-right:20%;">2018年12月期末考试</span></h3>
                     </div>
                     <div>
-                        <b><span>课程名称:</span><span style="color: #FF0000">${courseName!}</span>
-                            <span style="margin-left: 20px;">课程代码:</span><span
-                                    style="color: #FF0000">${courseNo!}</span>
+                        <b>
+                            <span>课程名称:</span>
+                            <span style="color: #FF0000">${courseName!}</span>
+
+                            <span style="margin-left: 10px;">课程代码:</span>
+                            <span style="color: #FF0000">${courseNo!}</span>
+
+                            <span style="margin-left: 10px;">考试时间:</span>
+                            <span style="color: #FF0000">90分钟</span>
+
+                            <span style="margin-left: 10px;">课程层次:</span>
+                            <span style="color: #FF0000">${courseLevel!}</span>
                         </b>
                     </div>
+                    <div class="top_small">
+                        <span><b>注意事项:必须按试题顺序在“答题卡”上按要求填涂、作答,答在试卷上的答案无效。</b></span>
+                    </div>
+                </div>
+                <div class="top_small">
                 </div>
             </div>
         </div>

+ 13 - 10
examcloud-core-questions-starter/src/main/resources/templates/sddxExportPaperService_paper.ftl

@@ -160,18 +160,21 @@
                 <div class="paper_title">
                     <div style="text-align: center">
                         <h1><span style="margin-right:20%;">山东大学继续(网络)教育</span></h1>
-                        <h3><span style="margin-right:20%;">2017年12月期末考试</span></h3>
+                        <h3><span style="margin-right:20%;">2018年12月期末考试</span></h3>
                     </div>
                     <div>
-                        <b><span>课程名称:</span><span style="color: #FF0000">${courseName!}</span>
-                            <span style="margin-left: 20px;">课程代码:</span><span
-                                    style="color: #FF0000">${courseNo!}</span>
-                        </b>
-                    </div>
-                    <div>
-                        <b><span>考试时间:</span><span style="color: #FF0000">90分钟</span>
-                            <span style="margin-left: 20px;">课程层次:</span><span
-                                    style="color: #FF0000">${courseLevel!}</span>
+                        <b>
+                            <span>课程名称:</span>
+                            <span style="color: #FF0000">${courseName!}</span>
+
+                            <span style="margin-left: 10px;">课程代码:</span>
+                            <span style="color: #FF0000">${courseNo!}</span>
+
+                            <span style="margin-left: 10px;">考试时间:</span>
+                            <span style="color: #FF0000">90分钟</span>
+
+                            <span style="margin-left: 10px;">课程层次:</span>
+                            <span style="color: #FF0000">${courseLevel!}</span>
                         </b>
                     </div>
                     <div class="top_small">