소스 검색

提交自达需求。

weiwenhai 6 년 전
부모
커밋
07b25e9356
22개의 변경된 파일715개의 추가작업 그리고 294개의 파일을 삭제
  1. 12 1
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/ExportPaperController.java
  2. 38 20
      examcloud-core-questions-base/src/main/resources/bjhk_paper_template.ftl
  3. 40 22
      examcloud-core-questions-base/src/main/resources/bjjt_paper_template.ftl
  4. 31 12
      examcloud-core-questions-base/src/main/resources/bjsf_paper_template.ftl
  5. 30 12
      examcloud-core-questions-base/src/main/resources/cqdx_paper_template.ftl
  6. 61 42
      examcloud-core-questions-base/src/main/resources/dbsf_paper_template.ftl
  7. 40 22
      examcloud-core-questions-base/src/main/resources/fjsf_paper_template.ftl
  8. 29 12
      examcloud-core-questions-base/src/main/resources/hnsf_paper_template.ftl
  9. 40 22
      examcloud-core-questions-base/src/main/resources/nkdx_paper_template.ftl
  10. 30 12
      examcloud-core-questions-base/src/main/resources/rjgc_paper_template.ftl
  11. 30 12
      examcloud-core-questions-base/src/main/resources/sddx_paper_template.ftl
  12. 30 12
      examcloud-core-questions-base/src/main/resources/sxsf_paper_template.ftl
  13. 30 12
      examcloud-core-questions-base/src/main/resources/tjdx_paper_template.ftl
  14. 30 12
      examcloud-core-questions-base/src/main/resources/xajd_paper_template.ftl
  15. 30 12
      examcloud-core-questions-base/src/main/resources/xnjd_paper_template.ftl
  16. 40 22
      examcloud-core-questions-base/src/main/resources/ykdx_paper_template.ftl
  17. 30 12
      examcloud-core-questions-base/src/main/resources/zgddb_paper_template.ftl
  18. 30 12
      examcloud-core-questions-base/src/main/resources/zgddw_paper_template.ftl
  19. 10 1
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/ExportPaperService.java
  20. 4 1
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/export/ExportPaperAbstractService.java
  21. 99 8
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/ExportPaperServiceImpl.java
  22. 1 1
      examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/temp/CqdxService.java

+ 12 - 1
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/ExportPaperController.java

@@ -95,7 +95,7 @@ public class ExportPaperController {
         log.info("导出结束");
     }
 
-    @ApiOperation(value = "导出试题分布数量", notes = "导出试题分布数量")
+    @ApiOperation(value = "导出试题分布数量(按课程)", notes = "导出试题分布数量(按课程)")
     @GetMapping(value = "/paper/export/course/question/{courseNo}")
     public void downQuestionDistribute(HttpServletResponse response, @PathVariable String courseNo) {
         log.info("开始导出Excel");
@@ -106,6 +106,17 @@ public class ExportPaperController {
         }
     }
     
+    @ApiOperation(value = "导出试题分布数量(按试卷)", notes = "导出试题分布数量(按试卷)")
+    @GetMapping(value = "/paper/export/course/question/papers/{paperIds}")
+    public void downQuestionDistributeByPapers(HttpServletResponse response, @PathVariable String paperIds) {
+        log.info("开始导出Excel");
+        try {
+            exportPaperService.downQuestionDistributeByPapers(paperIds, response);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+    
     @ApiOperation(value="导出原始导入的试卷", notes="导出原始导入的试卷")
     @GetMapping(value = "/originalPaper/export/{paperId}/{loginName}")
     public void downOriginalPaper(HttpServletResponse response, @PathVariable String paperId, @PathVariable String loginName){

+ 38 - 20
examcloud-core-questions-base/src/main/resources/bjhk_paper_template.ftl

@@ -39,8 +39,8 @@
 							<w:rPr>
 								<w:rFonts w:ascii="华文行楷" w:eastAsia="华文行楷" w:hint="eastAsia"/>
 								<w:bCs/>
-								<w:sz w:val="120"/>
-								<w:szCs w:val="120"/>
+								<w:sz w:val="84"/>
+								<w:szCs w:val="84"/>
 							</w:rPr>
 						</w:pPr>
 						<w:r w:rsidRPr="00BF6D3A">
@@ -48,8 +48,8 @@
 								<w:rFonts w:ascii="华文行楷" w:eastAsia="华文行楷" w:hint="eastAsia"/>
 								<w:b/>
 								<w:bCs/>
-								<w:sz w:val="120"/>
-								<w:szCs w:val="120"/>
+								<w:sz w:val="84"/>
+								<w:szCs w:val="84"/>
 							</w:rPr>
 							<w:t>北京航空航天大学</w:t>
 						</w:r>
@@ -62,8 +62,8 @@
 								<w:rFonts w:hint="eastAsia"/>
 								<w:b/>
 								<w:bCs/>
-								<w:sz w:val="72"/>
-								<w:szCs w:val="72"/>
+								<w:sz w:val="48"/>
+								<w:szCs w:val="48"/>
 							</w:rPr>
 						</w:pPr>
 						<w:r w:rsidRPr="00BF6D3A">
@@ -71,8 +71,8 @@
 								<w:rFonts w:hint="eastAsia"/>
 								<w:b/>
 								<w:bCs/>
-								<w:sz w:val="72"/>
-								<w:szCs w:val="72"/>
+								<w:sz w:val="48"/>
+								<w:szCs w:val="48"/>
 							</w:rPr>
 							<w:t>现代远程教育学院</w:t>
 						</w:r>
@@ -344,7 +344,7 @@
 		<#if paperDetail.titleDetail?exists>
 		<w:p w:rsidP="00F964A2" w:rsidR="00F964A2" w:rsidRDefault="004D3783">
 			<w:pPr>
-				<w:ind w:firstLine="420" w:left="100"/>
+				<w:szCs w:val="21"/>
 				<w:rPr>
 					<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:hint="eastAsia"/>
 					<w:b/>
@@ -391,17 +391,35 @@
 	        ${quesOption.optionBodyWord}
 	     </#list>
 	    </#if>
-		<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
-			<w:pPr>
-				<w:spacing w:line="400" w:lineRule="exact"/>
-				<w:rPr>
-					<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
-					<w:b/>
-					<w:sz w:val="28"/>
-					<w:szCs w:val="28"/>
-				</w:rPr>
-			</w:pPr>
-		</w:p>
+		
+		<#if paperDetail_has_next>
+	    			<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+						<w:pPr>
+							<w:spacing w:line="400" w:lineRule="exact"/>
+							<w:rPr>
+								<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+								<w:b/>
+								<w:sz w:val="28"/>
+								<w:szCs w:val="28"/>
+							</w:rPr>
+						</w:pPr>
+					</w:p>
+				</#if>
+				<#if !paperDetail_has_next>
+	    			<#if paperDetailUnit_has_next>
+				    	<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+							<w:pPr>
+								<w:spacing w:line="400" w:lineRule="exact"/>
+								<w:rPr>
+									<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+									<w:b/>
+									<w:sz w:val="28"/>
+									<w:szCs w:val="28"/>
+								</w:rPr>
+							</w:pPr>
+						</w:p>
+				    </#if>
+				</#if>
 		</#list>
 	    </#if>
 	    </#list>

+ 40 - 22
examcloud-core-questions-base/src/main/resources/bjjt_paper_template.ftl

@@ -39,16 +39,16 @@
 							<w:rPr>
 								<w:rFonts w:ascii="华文行楷" w:eastAsia="华文行楷" w:hint="eastAsia"/>
 								<w:bCs/>
-								<w:sz w:val="144"/>
-								<w:szCs w:val="144"/>
+								<w:sz w:val="84"/>
+								<w:szCs w:val="84"/>
 							</w:rPr>
 						</w:pPr>
 						<w:r w:rsidRPr="001D66F3">
 							<w:rPr>
 								<w:rFonts w:ascii="华文行楷" w:eastAsia="华文行楷" w:hint="eastAsia"/>
 								<w:bCs/>
-								<w:sz w:val="144"/>
-								<w:szCs w:val="144"/>
+								<w:sz w:val="84"/>
+								<w:szCs w:val="84"/>
 							</w:rPr>
 							<w:t>北京交通</w:t>
 						</w:r>
@@ -56,8 +56,8 @@
 							<w:rPr>
 								<w:rFonts w:ascii="华文行楷" w:eastAsia="华文行楷" w:hint="eastAsia"/>
 								<w:bCs/>
-								<w:sz w:val="144"/>
-								<w:szCs w:val="144"/>
+								<w:sz w:val="84"/>
+								<w:szCs w:val="84"/>
 							</w:rPr>
 							<w:t>大学</w:t>
 						</w:r>
@@ -70,8 +70,8 @@
 								<w:rFonts w:hint="eastAsia"/>
 								<w:b/>
 								<w:bCs/>
-								<w:sz w:val="72"/>
-								<w:szCs w:val="72"/>
+								<w:sz w:val="48"/>
+								<w:szCs w:val="48"/>
 							</w:rPr>
 						</w:pPr>
 						<w:r w:rsidRPr="001D66F3">
@@ -79,8 +79,8 @@
 								<w:rFonts w:hint="eastAsia"/>
 								<w:b/>
 								<w:bCs/>
-								<w:sz w:val="72"/>
-								<w:szCs w:val="72"/>
+								<w:sz w:val="48"/>
+								<w:szCs w:val="48"/>
 							</w:rPr>
 							<w:t>网络与继续教育学院</w:t>
 						</w:r>
@@ -352,7 +352,7 @@
 		<#if paperDetail.titleDetail?exists>
 		<w:p w:rsidP="00F964A2" w:rsidR="00F964A2" w:rsidRDefault="004D3783">
 			<w:pPr>
-				<w:ind w:firstLine="420" w:left="100"/>
+				<w:szCs w:val="21"/>
 				<w:rPr>
 					<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:hint="eastAsia"/>
 					<w:b/>
@@ -399,17 +399,35 @@
 	        ${quesOption.optionBodyWord}
 	     </#list>
 	    </#if>
-		<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
-			<w:pPr>
-				<w:spacing w:line="400" w:lineRule="exact"/>
-				<w:rPr>
-					<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
-					<w:b/>
-					<w:sz w:val="28"/>
-					<w:szCs w:val="28"/>
-				</w:rPr>
-			</w:pPr>
-		</w:p>
+		
+		<#if paperDetail_has_next>
+	    			<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+						<w:pPr>
+							<w:spacing w:line="400" w:lineRule="exact"/>
+							<w:rPr>
+								<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+								<w:b/>
+								<w:sz w:val="28"/>
+								<w:szCs w:val="28"/>
+							</w:rPr>
+						</w:pPr>
+					</w:p>
+				</#if>
+				<#if !paperDetail_has_next>
+	    			<#if paperDetailUnit_has_next>
+				    	<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+							<w:pPr>
+								<w:spacing w:line="400" w:lineRule="exact"/>
+								<w:rPr>
+									<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+									<w:b/>
+									<w:sz w:val="28"/>
+									<w:szCs w:val="28"/>
+								</w:rPr>
+							</w:pPr>
+						</w:p>
+				    </#if>
+				</#if>
 		</#list>
 	    </#if>
 	    </#list>

+ 31 - 12
examcloud-core-questions-base/src/main/resources/bjsf_paper_template.ftl

@@ -516,7 +516,7 @@
 		<#if paperDetail.titleDetail?exists>
 		<w:p w:rsidP="00F964A2" w:rsidR="00F964A2" w:rsidRDefault="004D3783">
 			<w:pPr>
-				<w:ind w:firstLine="420" w:left="100"/>
+				<w:szCs w:val="21"/>
 				<w:rPr>
 					<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:hint="eastAsia"/>
 					<w:b/>
@@ -563,17 +563,36 @@
 	        ${quesOption.optionBodyWord}
 	     </#list>
 	    </#if>
-		<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
-			<w:pPr>
-				<w:spacing w:line="400" w:lineRule="exact"/>
-				<w:rPr>
-					<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
-					<w:b/>
-					<w:sz w:val="28"/>
-					<w:szCs w:val="28"/>
-				</w:rPr>
-			</w:pPr>
-		</w:p>
+		
+		<#if paperDetail_has_next>
+	    			<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+						<w:pPr>
+							<w:spacing w:line="400" w:lineRule="exact"/>
+							<w:rPr>
+								<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+								<w:b/>
+								<w:sz w:val="28"/>
+								<w:szCs w:val="28"/>
+							</w:rPr>
+						</w:pPr>
+					</w:p>
+				</#if>
+				<#if !paperDetail_has_next>
+	    			<#if paperDetailUnit_has_next>
+				    	<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+							<w:pPr>
+								<w:spacing w:line="400" w:lineRule="exact"/>
+								<w:rPr>
+									<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+									<w:b/>
+									<w:sz w:val="28"/>
+									<w:szCs w:val="28"/>
+								</w:rPr>
+							</w:pPr>
+						</w:p>
+				    </#if>
+				</#if>
+				
 		</#list>
 	    </#if>
 	    </#list>

+ 30 - 12
examcloud-core-questions-base/src/main/resources/cqdx_paper_template.ftl

@@ -433,7 +433,7 @@
 		<#if paperDetail.titleDetail?exists>
 		<w:p w:rsidP="00F964A2" w:rsidR="00F964A2" w:rsidRDefault="004D3783">
 			<w:pPr>
-				<w:ind w:firstLine="420" w:left="100"/>
+				<w:ind w:left="100"/>
 				<w:rPr>
 					<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:hint="eastAsia"/>
 					<w:b/>
@@ -480,17 +480,35 @@
 	        ${quesOption.optionBodyWord}
 	     </#list>
 	    </#if>
-		<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
-			<w:pPr>
-				<w:spacing w:line="400" w:lineRule="exact"/>
-				<w:rPr>
-					<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
-					<w:b/>
-					<w:sz w:val="28"/>
-					<w:szCs w:val="28"/>
-				</w:rPr>
-			</w:pPr>
-		</w:p>
+		
+		<#if paperDetail_has_next>
+	    			<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+						<w:pPr>
+							<w:spacing w:line="400" w:lineRule="exact"/>
+							<w:rPr>
+								<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+								<w:b/>
+								<w:sz w:val="28"/>
+								<w:szCs w:val="28"/>
+							</w:rPr>
+						</w:pPr>
+					</w:p>
+				</#if>
+				<#if !paperDetail_has_next>
+	    			<#if paperDetailUnit_has_next>
+				    	<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+							<w:pPr>
+								<w:spacing w:line="400" w:lineRule="exact"/>
+								<w:rPr>
+									<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+									<w:b/>
+									<w:sz w:val="28"/>
+									<w:szCs w:val="28"/>
+								</w:rPr>
+							</w:pPr>
+						</w:p>
+				    </#if>
+				</#if>
 		</#list>
 	    </#if>
 	    </#list>

+ 61 - 42
examcloud-core-questions-base/src/main/resources/dbsf_paper_template.ftl

@@ -39,16 +39,16 @@
 							<w:rPr>
 								<w:rFonts w:ascii="华文行楷" w:eastAsia="华文行楷" w:hint="eastAsia"/>
 								<w:bCs/>
-								<w:sz w:val="144"/>
-								<w:szCs w:val="144"/>
+								<w:sz w:val="84"/>
+								<w:szCs w:val="84"/>
 							</w:rPr>
 						</w:pPr>
 						<w:r w:rsidRPr="001D66F3">
 							<w:rPr>
 								<w:rFonts w:ascii="华文行楷" w:eastAsia="华文行楷" w:hint="eastAsia"/>
 								<w:bCs/>
-								<w:sz w:val="144"/>
-								<w:szCs w:val="144"/>
+								<w:sz w:val="84"/>
+								<w:szCs w:val="84"/>
 							</w:rPr>
 							<w:t>东北师范</w:t>
 						</w:r>
@@ -56,8 +56,8 @@
 							<w:rPr>
 								<w:rFonts w:ascii="华文行楷" w:eastAsia="华文行楷" w:hint="eastAsia"/>
 								<w:bCs/>
-								<w:sz w:val="144"/>
-								<w:szCs w:val="144"/>
+								<w:sz w:val="84"/>
+								<w:szCs w:val="84"/>
 							</w:rPr>
 							<w:t>大学</w:t>
 						</w:r>
@@ -70,8 +70,8 @@
 								<w:rFonts w:hint="eastAsia"/>
 								<w:b/>
 								<w:bCs/>
-								<w:sz w:val="72"/>
-								<w:szCs w:val="72"/>
+								<w:sz w:val="48"/>
+								<w:szCs w:val="48"/>
 							</w:rPr>
 						</w:pPr>
 						<w:r w:rsidRPr="001D66F3">
@@ -79,10 +79,10 @@
 								<w:rFonts w:hint="eastAsia"/>
 								<w:b/>
 								<w:bCs/>
-								<w:sz w:val="72"/>
-								<w:szCs w:val="72"/>
+								<w:sz w:val="48"/>
+								<w:szCs w:val="48"/>
 							</w:rPr>
-							<w:t>网络与继续教育学院</w:t>
+							<w:t>继续教育学院</w:t>
 						</w:r>
 					</w:p>
 					<w:p w:rsidP="00AC75D9" w:rsidR="00AC75D9" w:rsidRDefault="00AC75D9" w:rsidRPr="00E95977">
@@ -120,8 +120,8 @@
 								<w:rFonts w:hint="eastAsia"/>
 								<w:b/>
 								<w:bCs/>
-								<w:sz w:val="72"/>
-								<w:szCs w:val="72"/>
+								<w:sz w:val="48"/>
+								<w:szCs w:val="48"/>
 							</w:rPr>
 						</w:pPr>
 					</w:p>
@@ -352,7 +352,7 @@
 		<#if paperDetail.titleDetail?exists>
 		<w:p w:rsidP="00F964A2" w:rsidR="00F964A2" w:rsidRDefault="004D3783">
 			<w:pPr>
-				<w:ind w:firstLine="420" w:left="100"/>
+				<w:szCs w:val="21"/>
 				<w:rPr>
 					<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:hint="eastAsia"/>
 					<w:b/>
@@ -379,37 +379,56 @@
 		</#if>
 	 	<!--循环小题-->
 	    <#if paperDetail.paperDetailUnits?exists>
-	    <#list paperDetail.paperDetailUnits as paperDetailUnit>
-	        ${paperDetailUnit.question.quesBodyWord}
-	    <#if paperDetailUnit.question.subQuestions?exists>
-	    <#list paperDetailUnit.question.subQuestions as subQuestion>
+	    	<#list paperDetail.paperDetailUnits as paperDetailUnit>
+	        	${paperDetailUnit.question.quesBodyWord}
+	    		<#if paperDetailUnit.question.subQuestions?exists>
+	    			<#list paperDetailUnit.question.subQuestions as subQuestion>
 	
-	        ${subQuestion.quesBodyWord}
+	        			${subQuestion.quesBodyWord}
 	
-	        <#if subQuestion.quesOptions?exists>
-	        <#list subQuestion.quesOptions as subQuesOption>
-	            ${subQuesOption.optionBodyWord}
-	        </#list>
-	        </#if>
-	    </#list>
-	    </#if>
+	        			<#if subQuestion.quesOptions?exists>
+	        				<#list subQuestion.quesOptions as subQuesOption>
+	            				${subQuesOption.optionBodyWord}
+	        				</#list>
+	        			</#if>
+	    			</#list>
+	    		</#if>
 	
-	    <#if paperDetailUnit.question.quesOptions?exists>
-	    <#list paperDetailUnit.question.quesOptions as quesOption>
-	        ${quesOption.optionBodyWord}
-	     </#list>
-	    </#if>
-		<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
-			<w:pPr>
-				<w:spacing w:line="400" w:lineRule="exact"/>
-				<w:rPr>
-					<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
-					<w:b/>
-					<w:sz w:val="28"/>
-					<w:szCs w:val="28"/>
-				</w:rPr>
-			</w:pPr>
-		</w:p>
+	    		<#if paperDetailUnit.question.quesOptions?exists>
+		    		<#list paperDetailUnit.question.quesOptions as quesOption>
+		        		${quesOption.optionBodyWord}
+		     		</#list>
+	    		</#if>
+	    		
+	    		
+	    		<#if paperDetail_has_next>
+	    			<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+						<w:pPr>
+							<w:spacing w:line="400" w:lineRule="exact"/>
+							<w:rPr>
+								<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+								<w:b/>
+								<w:sz w:val="28"/>
+								<w:szCs w:val="28"/>
+							</w:rPr>
+						</w:pPr>
+					</w:p>
+				</#if>
+				<#if !paperDetail_has_next>
+	    			<#if paperDetailUnit_has_next>
+				    	<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+							<w:pPr>
+								<w:spacing w:line="400" w:lineRule="exact"/>
+								<w:rPr>
+									<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+									<w:b/>
+									<w:sz w:val="28"/>
+									<w:szCs w:val="28"/>
+								</w:rPr>
+							</w:pPr>
+						</w:p>
+				    </#if>
+				</#if>
 		</#list>
 	    </#if>
 	    </#list>

+ 40 - 22
examcloud-core-questions-base/src/main/resources/fjsf_paper_template.ftl

@@ -39,16 +39,16 @@
 							<w:rPr>
 								<w:rFonts w:ascii="华文行楷" w:eastAsia="华文行楷" w:hint="eastAsia"/>
 								<w:bCs/>
-								<w:sz w:val="144"/>
-								<w:szCs w:val="144"/>
+								<w:sz w:val="84"/>
+								<w:szCs w:val="84"/>
 							</w:rPr>
 						</w:pPr>
 						<w:r w:rsidRPr="001D66F3">
 							<w:rPr>
 								<w:rFonts w:ascii="华文行楷" w:eastAsia="华文行楷" w:hint="eastAsia"/>
 								<w:bCs/>
-								<w:sz w:val="144"/>
-								<w:szCs w:val="144"/>
+								<w:sz w:val="84"/>
+								<w:szCs w:val="84"/>
 							</w:rPr>
 							<w:t>福建师范</w:t>
 						</w:r>
@@ -56,8 +56,8 @@
 							<w:rPr>
 								<w:rFonts w:ascii="华文行楷" w:eastAsia="华文行楷" w:hint="eastAsia"/>
 								<w:bCs/>
-								<w:sz w:val="144"/>
-								<w:szCs w:val="144"/>
+								<w:sz w:val="84"/>
+								<w:szCs w:val="84"/>
 							</w:rPr>
 							<w:t>大学</w:t>
 						</w:r>
@@ -70,8 +70,8 @@
 								<w:rFonts w:hint="eastAsia"/>
 								<w:b/>
 								<w:bCs/>
-								<w:sz w:val="72"/>
-								<w:szCs w:val="72"/>
+								<w:sz w:val="36"/>
+								<w:szCs w:val="36"/>
 							</w:rPr>
 						</w:pPr>
 						<w:r w:rsidRPr="001D66F3">
@@ -79,8 +79,8 @@
 								<w:rFonts w:hint="eastAsia"/>
 								<w:b/>
 								<w:bCs/>
-								<w:sz w:val="72"/>
-								<w:szCs w:val="72"/>
+								<w:sz w:val="36"/>
+								<w:szCs w:val="36"/>
 							</w:rPr>
 							<w:t>网络与继续教育学院</w:t>
 						</w:r>
@@ -352,7 +352,7 @@
 		<#if paperDetail.titleDetail?exists>
 		<w:p w:rsidP="00F964A2" w:rsidR="00F964A2" w:rsidRDefault="004D3783">
 			<w:pPr>
-				<w:ind w:firstLine="420" w:left="100"/>
+				<w:szCs w:val="21"/>
 				<w:rPr>
 					<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:hint="eastAsia"/>
 					<w:b/>
@@ -399,17 +399,35 @@
 	        ${quesOption.optionBodyWord}
 	     </#list>
 	    </#if>
-		<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
-			<w:pPr>
-				<w:spacing w:line="400" w:lineRule="exact"/>
-				<w:rPr>
-					<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
-					<w:b/>
-					<w:sz w:val="28"/>
-					<w:szCs w:val="28"/>
-				</w:rPr>
-			</w:pPr>
-		</w:p>
+		
+		<#if paperDetail_has_next>
+	    			<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+						<w:pPr>
+							<w:spacing w:line="400" w:lineRule="exact"/>
+							<w:rPr>
+								<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+								<w:b/>
+								<w:sz w:val="28"/>
+								<w:szCs w:val="28"/>
+							</w:rPr>
+						</w:pPr>
+					</w:p>
+				</#if>
+				<#if !paperDetail_has_next>
+	    			<#if paperDetailUnit_has_next>
+				    	<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+							<w:pPr>
+								<w:spacing w:line="400" w:lineRule="exact"/>
+								<w:rPr>
+									<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+									<w:b/>
+									<w:sz w:val="28"/>
+									<w:szCs w:val="28"/>
+								</w:rPr>
+							</w:pPr>
+						</w:p>
+				    </#if>
+				</#if>
 		</#list>
 	    </#if>
 	    </#list>

+ 29 - 12
examcloud-core-questions-base/src/main/resources/hnsf_paper_template.ftl

@@ -352,7 +352,7 @@
 		<#if paperDetail.titleDetail?exists>
 		<w:p w:rsidP="00F964A2" w:rsidR="00F964A2" w:rsidRDefault="004D3783">
 			<w:pPr>
-				<w:ind w:firstLine="420" w:left="100"/>
+				<w:szCs w:val="21"/>
 				<w:rPr>
 					<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:hint="eastAsia"/>
 					<w:b/>
@@ -399,17 +399,34 @@
 	        ${quesOption.optionBodyWord}
 	     </#list>
 	    </#if>
-		<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
-			<w:pPr>
-				<w:spacing w:line="400" w:lineRule="exact"/>
-				<w:rPr>
-					<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
-					<w:b/>
-					<w:sz w:val="28"/>
-					<w:szCs w:val="28"/>
-				</w:rPr>
-			</w:pPr>
-		</w:p>
+		<#if paperDetail_has_next>
+	    			<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+						<w:pPr>
+							<w:spacing w:line="400" w:lineRule="exact"/>
+							<w:rPr>
+								<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+								<w:b/>
+								<w:sz w:val="28"/>
+								<w:szCs w:val="28"/>
+							</w:rPr>
+						</w:pPr>
+					</w:p>
+				</#if>
+				<#if !paperDetail_has_next>
+	    			<#if paperDetailUnit_has_next>
+				    	<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+							<w:pPr>
+								<w:spacing w:line="400" w:lineRule="exact"/>
+								<w:rPr>
+									<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+									<w:b/>
+									<w:sz w:val="28"/>
+									<w:szCs w:val="28"/>
+								</w:rPr>
+							</w:pPr>
+						</w:p>
+				    </#if>
+				</#if>
 		</#list>
 	    </#if>
 	    </#list>

+ 40 - 22
examcloud-core-questions-base/src/main/resources/nkdx_paper_template.ftl

@@ -39,16 +39,16 @@
 							<w:rPr>
 								<w:rFonts w:ascii="华文行楷" w:eastAsia="华文行楷" w:hint="eastAsia"/>
 								<w:bCs/>
-								<w:sz w:val="144"/>
-								<w:szCs w:val="144"/>
+								<w:sz w:val="84"/>
+								<w:szCs w:val="84"/>
 							</w:rPr>
 						</w:pPr>
 						<w:r w:rsidRPr="001D66F3">
 							<w:rPr>
 								<w:rFonts w:ascii="华文行楷" w:eastAsia="华文行楷" w:hint="eastAsia"/>
 								<w:bCs/>
-								<w:sz w:val="144"/>
-								<w:szCs w:val="144"/>
+								<w:sz w:val="84"/>
+								<w:szCs w:val="84"/>
 							</w:rPr>
 							<w:t>南开</w:t>
 						</w:r>
@@ -56,8 +56,8 @@
 							<w:rPr>
 								<w:rFonts w:ascii="华文行楷" w:eastAsia="华文行楷" w:hint="eastAsia"/>
 								<w:bCs/>
-								<w:sz w:val="144"/>
-								<w:szCs w:val="144"/>
+								<w:sz w:val="84"/>
+								<w:szCs w:val="84"/>
 							</w:rPr>
 							<w:t>大学</w:t>
 						</w:r>
@@ -70,8 +70,8 @@
 								<w:rFonts w:hint="eastAsia"/>
 								<w:b/>
 								<w:bCs/>
-								<w:sz w:val="72"/>
-								<w:szCs w:val="72"/>
+								<w:sz w:val="48"/>
+								<w:szCs w:val="48"/>
 							</w:rPr>
 						</w:pPr>
 						<w:r w:rsidRPr="001D66F3">
@@ -79,8 +79,8 @@
 								<w:rFonts w:hint="eastAsia"/>
 								<w:b/>
 								<w:bCs/>
-								<w:sz w:val="72"/>
-								<w:szCs w:val="72"/>
+								<w:sz w:val="48"/>
+								<w:szCs w:val="48"/>
 							</w:rPr>
 							<w:t>现代远程教育学院</w:t>
 						</w:r>
@@ -352,7 +352,7 @@
 		<#if paperDetail.titleDetail?exists>
 		<w:p w:rsidP="00F964A2" w:rsidR="00F964A2" w:rsidRDefault="004D3783">
 			<w:pPr>
-				<w:ind w:firstLine="420" w:left="100"/>
+				<w:szCs w:val="21"/>
 				<w:rPr>
 					<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:hint="eastAsia"/>
 					<w:b/>
@@ -399,17 +399,35 @@
 	        ${quesOption.optionBodyWord}
 	     </#list>
 	    </#if>
-		<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
-			<w:pPr>
-				<w:spacing w:line="400" w:lineRule="exact"/>
-				<w:rPr>
-					<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
-					<w:b/>
-					<w:sz w:val="28"/>
-					<w:szCs w:val="28"/>
-				</w:rPr>
-			</w:pPr>
-		</w:p>
+		
+		<#if paperDetail_has_next>
+	    			<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+						<w:pPr>
+							<w:spacing w:line="400" w:lineRule="exact"/>
+							<w:rPr>
+								<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+								<w:b/>
+								<w:sz w:val="28"/>
+								<w:szCs w:val="28"/>
+							</w:rPr>
+						</w:pPr>
+					</w:p>
+				</#if>
+				<#if !paperDetail_has_next>
+	    			<#if paperDetailUnit_has_next>
+				    	<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+							<w:pPr>
+								<w:spacing w:line="400" w:lineRule="exact"/>
+								<w:rPr>
+									<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+									<w:b/>
+									<w:sz w:val="28"/>
+									<w:szCs w:val="28"/>
+								</w:rPr>
+							</w:pPr>
+						</w:p>
+				    </#if>
+				</#if>
 		</#list>
 	    </#if>
 	    </#list>

+ 30 - 12
examcloud-core-questions-base/src/main/resources/rjgc_paper_template.ftl

@@ -986,7 +986,7 @@
 		<#if paperDetail.titleDetail?exists>
 		<w:p w:rsidP="00F964A2" w:rsidR="00F964A2" w:rsidRDefault="004D3783">
 			<w:pPr>
-				<w:ind w:firstLine="420" w:left="100"/>
+				<w:szCs w:val="21"/>
 				<w:rPr>
 					<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:hint="eastAsia"/>
 					<w:b/>
@@ -1033,17 +1033,35 @@
 	        ${quesOption.optionBodyWord}
 	     </#list>
 	    </#if>
-		<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
-			<w:pPr>
-				<w:spacing w:line="400" w:lineRule="exact"/>
-				<w:rPr>
-					<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
-					<w:b/>
-					<w:sz w:val="28"/>
-					<w:szCs w:val="28"/>
-				</w:rPr>
-			</w:pPr>
-		</w:p>
+		
+		<#if paperDetail_has_next>
+	    			<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+						<w:pPr>
+							<w:spacing w:line="400" w:lineRule="exact"/>
+							<w:rPr>
+								<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+								<w:b/>
+								<w:sz w:val="28"/>
+								<w:szCs w:val="28"/>
+							</w:rPr>
+						</w:pPr>
+					</w:p>
+				</#if>
+				<#if !paperDetail_has_next>
+	    			<#if paperDetailUnit_has_next>
+				    	<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+							<w:pPr>
+								<w:spacing w:line="400" w:lineRule="exact"/>
+								<w:rPr>
+									<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+									<w:b/>
+									<w:sz w:val="28"/>
+									<w:szCs w:val="28"/>
+								</w:rPr>
+							</w:pPr>
+						</w:p>
+				    </#if>
+				</#if>
 		</#list>
 	    </#if>
 	    </#list>

+ 30 - 12
examcloud-core-questions-base/src/main/resources/sddx_paper_template.ftl

@@ -1105,7 +1105,7 @@
 		<#if paperDetail.titleDetail?exists>
 		<w:p w:rsidP="00F964A2" w:rsidR="00F964A2" w:rsidRDefault="004D3783">
 			<w:pPr>
-				<w:ind w:firstLine="422" w:firstLineChars="200"/>
+				<w:szCs w:val="21"/>
 				<w:rPr>
 					<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
 					<w:b/>
@@ -1152,17 +1152,35 @@
 	        ${quesOption.optionBodyWord}
 	     </#list>
 	    </#if>
-		<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
-			<w:pPr>
-				<w:spacing w:line="400" w:lineRule="exact"/>
-				<w:rPr>
-					<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
-					<w:b/>
-					<w:sz w:val="28"/>
-					<w:szCs w:val="28"/>
-				</w:rPr>
-			</w:pPr>
-		</w:p>
+		
+		<#if paperDetail_has_next>
+	    			<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+						<w:pPr>
+							<w:spacing w:line="400" w:lineRule="exact"/>
+							<w:rPr>
+								<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+								<w:b/>
+								<w:sz w:val="28"/>
+								<w:szCs w:val="28"/>
+							</w:rPr>
+						</w:pPr>
+					</w:p>
+				</#if>
+				<#if !paperDetail_has_next>
+	    			<#if paperDetailUnit_has_next>
+				    	<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+							<w:pPr>
+								<w:spacing w:line="400" w:lineRule="exact"/>
+								<w:rPr>
+									<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+									<w:b/>
+									<w:sz w:val="28"/>
+									<w:szCs w:val="28"/>
+								</w:rPr>
+							</w:pPr>
+						</w:p>
+				    </#if>
+				</#if>
 		</#list>
 	    </#if>
 	    </#list>

+ 30 - 12
examcloud-core-questions-base/src/main/resources/sxsf_paper_template.ftl

@@ -894,7 +894,7 @@
 		<#if paperDetail.titleDetail?exists>
 		<w:p w:rsidP="00F964A2" w:rsidR="00F964A2" w:rsidRDefault="004D3783">
 			<w:pPr>
-				<w:ind w:firstLine="420" w:left="100"/>
+				<w:szCs w:val="21"/>
 				<w:rPr>
 					<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:hint="eastAsia"/>
 					<w:b/>
@@ -941,17 +941,35 @@
 	        ${quesOption.optionBodyWord}
 	     </#list>
 	    </#if>
-		<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
-			<w:pPr>
-				<w:spacing w:line="400" w:lineRule="exact"/>
-				<w:rPr>
-					<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
-					<w:b/>
-					<w:sz w:val="28"/>
-					<w:szCs w:val="28"/>
-				</w:rPr>
-			</w:pPr>
-		</w:p>
+		
+		<#if paperDetail_has_next>
+	    			<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+						<w:pPr>
+							<w:spacing w:line="400" w:lineRule="exact"/>
+							<w:rPr>
+								<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+								<w:b/>
+								<w:sz w:val="28"/>
+								<w:szCs w:val="28"/>
+							</w:rPr>
+						</w:pPr>
+					</w:p>
+				</#if>
+				<#if !paperDetail_has_next>
+	    			<#if paperDetailUnit_has_next>
+				    	<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+							<w:pPr>
+								<w:spacing w:line="400" w:lineRule="exact"/>
+								<w:rPr>
+									<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+									<w:b/>
+									<w:sz w:val="28"/>
+									<w:szCs w:val="28"/>
+								</w:rPr>
+							</w:pPr>
+						</w:p>
+				    </#if>
+				</#if>
 		</#list>
 	    </#if>
 	    </#list>

+ 30 - 12
examcloud-core-questions-base/src/main/resources/tjdx_paper_template.ftl

@@ -824,7 +824,7 @@
 		<#if paperDetail.titleDetail?exists>
 		<w:p w:rsidP="00F964A2" w:rsidR="00F964A2" w:rsidRDefault="004D3783">
 			<w:pPr>
-				<w:ind w:firstLine="420" w:left="100"/>
+				<w:szCs w:val="21"/>
 				<w:rPr>
 					<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:hint="eastAsia"/>
 					<w:b/>
@@ -871,17 +871,35 @@
 	        ${quesOption.optionBodyWord}
 	     </#list>
 	    </#if>
-		<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
-			<w:pPr>
-				<w:spacing w:line="400" w:lineRule="exact"/>
-				<w:rPr>
-					<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
-					<w:b/>
-					<w:sz w:val="28"/>
-					<w:szCs w:val="28"/>
-				</w:rPr>
-			</w:pPr>
-		</w:p>
+		
+		<#if paperDetail_has_next>
+	    			<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+						<w:pPr>
+							<w:spacing w:line="400" w:lineRule="exact"/>
+							<w:rPr>
+								<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+								<w:b/>
+								<w:sz w:val="28"/>
+								<w:szCs w:val="28"/>
+							</w:rPr>
+						</w:pPr>
+					</w:p>
+				</#if>
+				<#if !paperDetail_has_next>
+	    			<#if paperDetailUnit_has_next>
+				    	<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+							<w:pPr>
+								<w:spacing w:line="400" w:lineRule="exact"/>
+								<w:rPr>
+									<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+									<w:b/>
+									<w:sz w:val="28"/>
+									<w:szCs w:val="28"/>
+								</w:rPr>
+							</w:pPr>
+						</w:p>
+				    </#if>
+				</#if>
 		</#list>
 	    </#if>
 	    </#list>

+ 30 - 12
examcloud-core-questions-base/src/main/resources/xajd_paper_template.ftl

@@ -934,7 +934,7 @@
 		<#if paperDetail.titleDetail?exists>
 		<w:p w:rsidP="00F964A2" w:rsidR="00F964A2" w:rsidRDefault="004D3783">
 			<w:pPr>
-				<w:ind w:firstLine="420" w:left="100"/>
+				<w:szCs w:val="21"/>
 				<w:rPr>
 					<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:hint="eastAsia"/>
 					<w:b/>
@@ -981,17 +981,35 @@
 	        ${quesOption.optionBodyWord}
 	     </#list>
 	    </#if>
-		<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
-			<w:pPr>
-				<w:spacing w:line="400" w:lineRule="exact"/>
-				<w:rPr>
-					<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
-					<w:b/>
-					<w:sz w:val="28"/>
-					<w:szCs w:val="28"/>
-				</w:rPr>
-			</w:pPr>
-		</w:p>
+		
+		<#if paperDetail_has_next>
+	    			<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+						<w:pPr>
+							<w:spacing w:line="400" w:lineRule="exact"/>
+							<w:rPr>
+								<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+								<w:b/>
+								<w:sz w:val="28"/>
+								<w:szCs w:val="28"/>
+							</w:rPr>
+						</w:pPr>
+					</w:p>
+				</#if>
+				<#if !paperDetail_has_next>
+	    			<#if paperDetailUnit_has_next>
+				    	<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+							<w:pPr>
+								<w:spacing w:line="400" w:lineRule="exact"/>
+								<w:rPr>
+									<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+									<w:b/>
+									<w:sz w:val="28"/>
+									<w:szCs w:val="28"/>
+								</w:rPr>
+							</w:pPr>
+						</w:p>
+				    </#if>
+				</#if>
 		</#list>
 	    </#if>
 	    </#list>

+ 30 - 12
examcloud-core-questions-base/src/main/resources/xnjd_paper_template.ftl

@@ -1035,7 +1035,7 @@
 		<#if paperDetail.titleDetail?exists>
 		<w:p w:rsidP="00F964A2" w:rsidR="00F964A2" w:rsidRDefault="004D3783">
 			<w:pPr>
-				<w:ind w:firstLine="422" w:firstLineChars="200"/>
+				<w:szCs w:val="21"/>
 				<w:rPr>
 					<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
 					<w:b/>
@@ -1082,17 +1082,35 @@
 	        ${quesOption.optionBodyWord}
 	     </#list>
 	    </#if>
-		<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
-			<w:pPr>
-				<w:spacing w:line="400" w:lineRule="exact"/>
-				<w:rPr>
-					<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
-					<w:b/>
-					<w:sz w:val="28"/>
-					<w:szCs w:val="28"/>
-				</w:rPr>
-			</w:pPr>
-		</w:p>
+		
+		<#if paperDetail_has_next>
+	    			<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+						<w:pPr>
+							<w:spacing w:line="400" w:lineRule="exact"/>
+							<w:rPr>
+								<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+								<w:b/>
+								<w:sz w:val="28"/>
+								<w:szCs w:val="28"/>
+							</w:rPr>
+						</w:pPr>
+					</w:p>
+				</#if>
+				<#if !paperDetail_has_next>
+	    			<#if paperDetailUnit_has_next>
+				    	<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+							<w:pPr>
+								<w:spacing w:line="400" w:lineRule="exact"/>
+								<w:rPr>
+									<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+									<w:b/>
+									<w:sz w:val="28"/>
+									<w:szCs w:val="28"/>
+								</w:rPr>
+							</w:pPr>
+						</w:p>
+				    </#if>
+				</#if>
 		</#list>
 	    </#if>
 	    </#list>

+ 40 - 22
examcloud-core-questions-base/src/main/resources/ykdx_paper_template.ftl

@@ -39,16 +39,16 @@
 							<w:rPr>
 								<w:rFonts w:ascii="华文行楷" w:eastAsia="华文行楷" w:hint="eastAsia"/>
 								<w:bCs/>
-								<w:sz w:val="144"/>
-								<w:szCs w:val="144"/>
+								<w:sz w:val="84"/>
+								<w:szCs w:val="84"/>
 							</w:rPr>
 						</w:pPr>
 						<w:r w:rsidRPr="001D66F3">
 							<w:rPr>
 								<w:rFonts w:ascii="华文行楷" w:eastAsia="华文行楷" w:hint="eastAsia"/>
 								<w:bCs/>
-								<w:sz w:val="144"/>
-								<w:szCs w:val="144"/>
+								<w:sz w:val="84"/>
+								<w:szCs w:val="84"/>
 							</w:rPr>
 							<w:t>中国医科</w:t>
 						</w:r>
@@ -56,8 +56,8 @@
 							<w:rPr>
 								<w:rFonts w:ascii="华文行楷" w:eastAsia="华文行楷" w:hint="eastAsia"/>
 								<w:bCs/>
-								<w:sz w:val="144"/>
-								<w:szCs w:val="144"/>
+								<w:sz w:val="84"/>
+								<w:szCs w:val="84"/>
 							</w:rPr>
 							<w:t>大学</w:t>
 						</w:r>
@@ -70,8 +70,8 @@
 								<w:rFonts w:hint="eastAsia"/>
 								<w:b/>
 								<w:bCs/>
-								<w:sz w:val="72"/>
-								<w:szCs w:val="72"/>
+								<w:sz w:val="48"/>
+								<w:szCs w:val="48"/>
 							</w:rPr>
 						</w:pPr>
 						<w:r w:rsidRPr="001D66F3">
@@ -79,8 +79,8 @@
 								<w:rFonts w:hint="eastAsia"/>
 								<w:b/>
 								<w:bCs/>
-								<w:sz w:val="72"/>
-								<w:szCs w:val="72"/>
+								<w:sz w:val="48"/>
+								<w:szCs w:val="48"/>
 							</w:rPr>
 							<w:t>网络与继续教育学院</w:t>
 						</w:r>
@@ -352,7 +352,7 @@
 		<#if paperDetail.titleDetail?exists>
 		<w:p w:rsidP="00F964A2" w:rsidR="00F964A2" w:rsidRDefault="004D3783">
 			<w:pPr>
-				<w:ind w:firstLine="420" w:left="100"/>
+				<w:szCs w:val="21"/>
 				<w:rPr>
 					<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:hint="eastAsia"/>
 					<w:b/>
@@ -399,17 +399,35 @@
 	        ${quesOption.optionBodyWord}
 	     </#list>
 	    </#if>
-		<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
-			<w:pPr>
-				<w:spacing w:line="400" w:lineRule="exact"/>
-				<w:rPr>
-					<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
-					<w:b/>
-					<w:sz w:val="28"/>
-					<w:szCs w:val="28"/>
-				</w:rPr>
-			</w:pPr>
-		</w:p>
+		
+		<#if paperDetail_has_next>
+	    			<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+						<w:pPr>
+							<w:spacing w:line="400" w:lineRule="exact"/>
+							<w:rPr>
+								<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+								<w:b/>
+								<w:sz w:val="28"/>
+								<w:szCs w:val="28"/>
+							</w:rPr>
+						</w:pPr>
+					</w:p>
+				</#if>
+				<#if !paperDetail_has_next>
+	    			<#if paperDetailUnit_has_next>
+				    	<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+							<w:pPr>
+								<w:spacing w:line="400" w:lineRule="exact"/>
+								<w:rPr>
+									<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+									<w:b/>
+									<w:sz w:val="28"/>
+									<w:szCs w:val="28"/>
+								</w:rPr>
+							</w:pPr>
+						</w:p>
+				    </#if>
+				</#if>
 		</#list>
 	    </#if>
 	    </#list>

+ 30 - 12
examcloud-core-questions-base/src/main/resources/zgddb_paper_template.ftl

@@ -352,7 +352,7 @@
 		<#if paperDetail.titleDetail?exists>
 		<w:p w:rsidP="00F964A2" w:rsidR="00F964A2" w:rsidRDefault="004D3783">
 			<w:pPr>
-				<w:ind w:firstLine="420" w:left="100"/>
+				<w:szCs w:val="21"/>
 				<w:rPr>
 					<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:hint="eastAsia"/>
 					<w:b/>
@@ -399,17 +399,35 @@
 	        ${quesOption.optionBodyWord}
 	     </#list>
 	    </#if>
-		<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
-			<w:pPr>
-				<w:spacing w:line="400" w:lineRule="exact"/>
-				<w:rPr>
-					<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
-					<w:b/>
-					<w:sz w:val="28"/>
-					<w:szCs w:val="28"/>
-				</w:rPr>
-			</w:pPr>
-		</w:p>
+		
+		<#if paperDetail_has_next>
+	    			<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+						<w:pPr>
+							<w:spacing w:line="400" w:lineRule="exact"/>
+							<w:rPr>
+								<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+								<w:b/>
+								<w:sz w:val="28"/>
+								<w:szCs w:val="28"/>
+							</w:rPr>
+						</w:pPr>
+					</w:p>
+				</#if>
+				<#if !paperDetail_has_next>
+	    			<#if paperDetailUnit_has_next>
+				    	<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+							<w:pPr>
+								<w:spacing w:line="400" w:lineRule="exact"/>
+								<w:rPr>
+									<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+									<w:b/>
+									<w:sz w:val="28"/>
+									<w:szCs w:val="28"/>
+								</w:rPr>
+							</w:pPr>
+						</w:p>
+				    </#if>
+				</#if>
 		</#list>
 	    </#if>
 	    </#list>

+ 30 - 12
examcloud-core-questions-base/src/main/resources/zgddw_paper_template.ftl

@@ -352,7 +352,7 @@
 		<#if paperDetail.titleDetail?exists>
 		<w:p w:rsidP="00F964A2" w:rsidR="00F964A2" w:rsidRDefault="004D3783">
 			<w:pPr>
-				<w:ind w:firstLine="420" w:left="100"/>
+				<w:szCs w:val="21"/>
 				<w:rPr>
 					<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:hint="eastAsia"/>
 					<w:b/>
@@ -399,17 +399,35 @@
 	        ${quesOption.optionBodyWord}
 	     </#list>
 	    </#if>
-		<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
-			<w:pPr>
-				<w:spacing w:line="400" w:lineRule="exact"/>
-				<w:rPr>
-					<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
-					<w:b/>
-					<w:sz w:val="28"/>
-					<w:szCs w:val="28"/>
-				</w:rPr>
-			</w:pPr>
-		</w:p>
+		
+		<#if paperDetail_has_next>
+	    			<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+						<w:pPr>
+							<w:spacing w:line="400" w:lineRule="exact"/>
+							<w:rPr>
+								<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+								<w:b/>
+								<w:sz w:val="28"/>
+								<w:szCs w:val="28"/>
+							</w:rPr>
+						</w:pPr>
+					</w:p>
+				</#if>
+				<#if !paperDetail_has_next>
+	    			<#if paperDetailUnit_has_next>
+				    	<w:p w:rsidP="00852887" w:rsidR="00852887" w:rsidRDefault="00852887">
+							<w:pPr>
+								<w:spacing w:line="400" w:lineRule="exact"/>
+								<w:rPr>
+									<w:rFonts w:ascii="宋体" w:hAnsi="宋体"/>
+									<w:b/>
+									<w:sz w:val="28"/>
+									<w:szCs w:val="28"/>
+								</w:rPr>
+							</w:pPr>
+						</w:p>
+				    </#if>
+				</#if>
 		</#list>
 	    </#if>
 	    </#list>

+ 10 - 1
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/ExportPaperService.java

@@ -32,13 +32,22 @@ public interface ExportPaperService {
     public void exportPaperFiles(List<String> paperList, String serviceName, String exportContentList, HttpServletResponse response, String loginName, String examType) throws Exception;
 
     /**
-     * 导出课程下的试题分布Excel
+     * 导出课程下的试题分布Excel(按课程)
      *
      * @param courseNo
      * @param response
      */
     public void downQuestionDistribute(String courseNo, HttpServletResponse response) throws IOException;
     
+    
+    /**
+     * 导出课程下的试题分布Excel(按试卷)
+     *
+     * @param courseNo
+     * @param response
+     */
+    public void downQuestionDistributeByPapers(String paperIds, HttpServletResponse response) throws IOException;
+    
     /**
      * 导出原始的导入试卷
      * @param paperId

+ 4 - 1
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/export/ExportPaperAbstractService.java

@@ -755,7 +755,7 @@ public abstract class ExportPaperAbstractService {
 			}else {
 				if(pList.size()>0){
 					String tmpText = DocxProcessUtil.getPText((P)pList.get(0));
-					optionMerge(optionList.get((i/2)*2),tmpText,isAddTbale);
+					optionMerge(optionList.get((i/2)*2),tmpText,true);
 	    			quesOption.setOptionBodyWord("");
 				}
 			}
@@ -794,6 +794,9 @@ public abstract class ExportPaperAbstractService {
                 quesOption.setOptionBodyWord(pWordMl.toString());
     		}else{
 				String tmpText = DocxProcessUtil.getPText(p);
+				if((i+1)%4==0){
+					isAddTbale = true;
+				}
 				optionMerge(optionList.get((i/4)*4),tmpText,isAddTbale);
 				quesOption.setOptionBodyWord("");
     		}

+ 99 - 8
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/ExportPaperServiceImpl.java

@@ -718,14 +718,36 @@ public class ExportPaperServiceImpl implements ExportPaperService {
         List<Question> questionList = this.mongoTemplate.find(query, Question.class);
         return questionList;
     }
-
-
-    public static void main(String[] args) {
-        System.out.println("a");
-        Map<Long, Long> map = new HashMap<Long, Long>();
-        map.put(1l, 1l);
-        map.put(1l, 2l);
-        System.out.println(map.get(1l));
+    
+    public List<Question> questionList2(String courseNo, CourseProperty courseProperty, QuesStructType quesStructType, Property parentProperty, Property sonProperty,List<Question> questions) {
+    	List<Question> questionList = new ArrayList<Question>();
+    	String id = courseNo + quesStructType.name() + courseProperty.getName();
+    	//二级属性不为空,那么一级属性也不为空
+        if (sonProperty != null && sonProperty.getId() != null) {
+            id = id + parentProperty.getId() + sonProperty.getId();
+        } else {
+            if (parentProperty != null && parentProperty.getId() != null) {
+            	id = id + parentProperty.getId();
+            }
+        }
+        for(Question question:questions){
+        	List<String> idStrings = new ArrayList<String>();
+        	String id_Q = question.getCourseNo() + question.getQuestionType();
+        	List<QuesProperty> quesProperties = question.getQuesProperties();
+        	if(quesProperties != null && quesProperties.size()>0){
+        		for(QuesProperty property:quesProperties){
+            		String idP = id_Q + property.getCoursePropertyName() + property.getFirstProperty().getId();
+            		if(property.getSecondProperty() != null){
+            			idP = id_Q + property.getCoursePropertyName() + property.getFirstProperty().getId() + property.getSecondProperty().getId();
+            		}
+            		idStrings.add(idP);
+            	}
+        		if(idStrings.contains(id)){
+        			questionList.add(question);
+        		}
+        	}
+        }
+        return questionList;
     }
 
 	@Override
@@ -770,5 +792,74 @@ public class ExportPaperServiceImpl implements ExportPaperService {
 		byte[] pkgByte = quesPkg.getQuesPkg();
 		return DocxProcessUtil.getPkg(pkgByte);
 	}
+
+	@Override
+	public void downQuestionDistributeByPapers(String paperIds, HttpServletResponse response) throws IOException {
+		List<QuestionDistributeDto> questionDistributeDtos = new ArrayList<QuestionDistributeDto>();
+		//定义课程集合
+		List<String> courseNos = new ArrayList<String>();
+		//定义试题集合
+		List<Question> questions = new ArrayList<Question>();
+		// 查询试卷集合
+		String[] paperIdArray = paperIds.split(",");
+		for (int i = 0; i < paperIdArray.length; i++) {
+			Paper basePaper = paperRepo.findOne(paperIdArray[i]);
+			courseNos.add(basePaper.getCourse().getCode());
+			//将小题全部取出来,只取一次,减少对数据库的查询
+			List<PaperDetailUnit> allPaperDetailUnits = paperDetailUnitRepo.findByPaper(basePaper);
+			for(PaperDetailUnit unit:allPaperDetailUnits){
+				if(unit.getQuestionType().equals(QuesStructType.SINGLE_ANSWER_QUESTION)||unit.getQuestionType().equals(QuesStructType.MULTIPLE_ANSWER_QUESTION)||unit.getQuestionType().equals(QuesStructType.BOOL_ANSWER_QUESTION)){
+					questions.add(unit.getQuestion());
+				}
+			}
+		}
+		 //根据课程code查询课程属性集合
+		for(String courseNo:courseNos){
+			List<CourseProperty> courseProperties = coursePropertyRepo.findByCourseCodeAndEnable(courseNo, true);
+			//遍历课程属性集合,根据课程属性查询一级
+	        if (courseProperties != null && courseProperties.size() > 0) {
+	            for (CourseProperty courseProperty : courseProperties) {
+	                List<Property> parentProperties = propertyService.findPropertyParents(courseProperty.getId(), courseProperty.getOrgId());
+	                if (parentProperties != null && parentProperties.size() > 0) {
+	                    for (Property parentProperty : parentProperties) {
+	                        List<Property> sonProperties = propertyService.findPropertySons(parentProperty.getId());
+	                        if (sonProperties != null && sonProperties.size() > 0) {
+	                            for (Property sonProperty : sonProperties) {
+	                                //单选题集合
+	                                List<Question> sinList = questionList2(courseNo, courseProperty, QuesStructType.SINGLE_ANSWER_QUESTION, parentProperty, sonProperty,questions);
+	                                //多选题集合
+	                                List<Question> mulList = questionList2(courseNo, courseProperty, QuesStructType.MULTIPLE_ANSWER_QUESTION, parentProperty, sonProperty,questions);
+	                                //判断题集合
+	                                List<Question> bolList = questionList2(courseNo, courseProperty, QuesStructType.BOOL_ANSWER_QUESTION, parentProperty, sonProperty,questions);
+	                                //计算所有题型数量
+	                                Map<Long, Long> map = countQuesType(sinList, mulList, bolList);
+	                                QuestionDistributeDto questionDistributeDto = new QuestionDistributeDto(courseProperty.getName(), parentProperty.getName(), sonProperty.getName(), map);
+	                                questionDistributeDtos.add(questionDistributeDto);
+	                            }
+	                        } else {
+	                            //一级属性不为空,二级属性为空
+	                            //单选题集合
+	                            List<Question> sinList = questionList2(courseNo, courseProperty, QuesStructType.SINGLE_ANSWER_QUESTION, parentProperty, null,questions);
+	                            //多选题集合
+	                            List<Question> mulList = questionList2(courseNo, courseProperty, QuesStructType.MULTIPLE_ANSWER_QUESTION, parentProperty, null,questions);
+	                            //判断题集合
+	                            List<Question> bolList = questionList2(courseNo, courseProperty, QuesStructType.BOOL_ANSWER_QUESTION, parentProperty, null,questions);
+	                            //计算所有题型数量
+	                            Map<Long, Long> map = countQuesType(sinList, mulList, bolList);
+	                            QuestionDistributeDto questionDistributeDto = new QuestionDistributeDto(courseProperty.getName(), parentProperty.getName(), null, map);
+	                            questionDistributeDtos.add(questionDistributeDto);
+	                        }
+	                    }
+	                } else {
+	                    //一级属性为空
+	                    QuestionDistributeDto questionDistributeDto = new QuestionDistributeDto(courseProperty.getName(), null, null, null);
+	                    questionDistributeDtos.add(questionDistributeDto);
+	                }
+	            }
+	        }
+	        //生成Excel导出
+	        writeExcel(questionDistributeDtos, 21, new Date().toString(), response);
+		}
+	}
 	
 }

+ 1 - 1
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/temp/CqdxService.java

@@ -157,7 +157,7 @@ public class CqdxService {
             // 课程代码
             paperInfoMap.put("courseCode", namedNodeMap.getNamedItem("CourseId").getTextContent());
             // 试卷名称
-            paperInfoMap.put("name", namedNodeMap.getNamedItem("CourseName").getTextContent() + namedNodeMap.getNamedItem("ProblemDocumentName").getTextContent());
+            paperInfoMap.put("name", namedNodeMap.getNamedItem("CourseName").getTextContent() + namedNodeMap.getNamedItem("ProblemDocumentName").getTextContent() + "(191)");
             // 试卷总分
             paperInfoMap.put("totalScore", namedNodeMap.getNamedItem("Score").getTextContent());
             // 大题数量