瀏覽代碼

提交通用题库代码

weiwenhai 7 年之前
父節點
當前提交
9b362c6029

+ 33 - 66
cqb-comm-utils/src/main/resources/dzkd_paper_template.ftl

@@ -42,8 +42,9 @@
 							</w:rPr>
 						</w:pPr>
 					</w:p>
-					<w:p w:rsidP="001A2234" w:rsidR="001A2234" w:rsidRDefault="005E06FB" w:rsidRPr="00184604">
+					<w:p w:rsidP="00F76B12" w:rsidR="001A2234" w:rsidRDefault="005E06FB" w:rsidRPr="00184604">
 						<w:pPr>
+							<w:spacing w:line="440" w:lineRule="atLeast"/>
 							<w:ind w:left="-567" w:leftChars="-270"/>
 							<w:jc w:val="center"/>
 							<w:rPr>
@@ -572,9 +573,9 @@
 							<w:t>)</w:t>
 						</w:r>
 					</w:p>
-					<w:p w:rsidP="005E06FB" w:rsidR="001A2234" w:rsidRDefault="001A2234">
+					<w:p w:rsidP="00F76B12" w:rsidR="001A2234" w:rsidRDefault="001A2234">
 						<w:pPr>
-							<w:spacing w:line="480" w:lineRule="auto"/>
+							<w:spacing w:line="440" w:lineRule="atLeast"/>
 							<w:rPr>
 								<w:rFonts w:hint="eastAsia"/>
 								<w:b/>
@@ -596,9 +597,9 @@
 								<w:tcPr>
 									<w:tcW w:type="dxa" w:w="5495"/>
 								</w:tcPr>
-								<w:p w:rsidP="003907C3" w:rsidR="001A2234" w:rsidRDefault="001A2234" w:rsidRPr="003907C3">
+								<w:p w:rsidP="00F76B12" w:rsidR="001A2234" w:rsidRDefault="001A2234" w:rsidRPr="003907C3">
 									<w:pPr>
-										<w:spacing w:line="480" w:lineRule="auto"/>
+										<w:spacing w:line="440" w:lineRule="atLeast"/>
 										<w:rPr>
 											<w:rFonts w:hint="eastAsia"/>
 											<w:b/>
@@ -653,9 +654,9 @@
 								<w:tcPr>
 									<w:tcW w:type="dxa" w:w="3969"/>
 								</w:tcPr>
-								<w:p w:rsidP="00A43A72" w:rsidR="001A2234" w:rsidRDefault="00AE2582" w:rsidRPr="003907C3">
+								<w:p w:rsidP="00F76B12" w:rsidR="001A2234" w:rsidRDefault="00AE2582" w:rsidRPr="003907C3">
 									<w:pPr>
-										<w:spacing w:line="480" w:lineRule="auto"/>
+										<w:spacing w:line="440" w:lineRule="atLeast"/>
 										<w:rPr>
 											<w:rFonts w:hint="eastAsia"/>
 											<w:b/>
@@ -751,9 +752,9 @@
 								<w:tcPr>
 									<w:tcW w:type="dxa" w:w="5495"/>
 								</w:tcPr>
-								<w:p w:rsidP="00EB643F" w:rsidR="001A2234" w:rsidRDefault="001A2234" w:rsidRPr="003907C3">
+								<w:p w:rsidP="00F76B12" w:rsidR="001A2234" w:rsidRDefault="001A2234" w:rsidRPr="003907C3">
 									<w:pPr>
-										<w:spacing w:line="480" w:lineRule="auto"/>
+										<w:spacing w:line="440" w:lineRule="atLeast"/>
 										<w:rPr>
 											<w:rFonts w:hint="eastAsia"/>
 											<w:b/>
@@ -807,17 +808,15 @@
 										</w:rPr>
 										<w:t>${courseName}</w:t>
 									</w:r>
-									<w:bookmarkStart w:id="0" w:name="_GoBack"/>
-									<w:bookmarkEnd w:id="0"/>
 								</w:p>
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
 									<w:tcW w:type="dxa" w:w="3969"/>
 								</w:tcPr>
-								<w:p w:rsidP="00EB643F" w:rsidR="001A2234" w:rsidRDefault="00F843C9" w:rsidRPr="003907C3">
+								<w:p w:rsidP="00F76B12" w:rsidR="001A2234" w:rsidRDefault="00F843C9" w:rsidRPr="003907C3">
 									<w:pPr>
-										<w:spacing w:line="480" w:lineRule="auto"/>
+										<w:spacing w:line="440" w:lineRule="atLeast"/>
 										<w:rPr>
 											<w:rFonts w:hint="eastAsia"/>
 											<w:b/>
@@ -885,9 +884,9 @@
 							</w:tc>
 						</w:tr>
 					</w:tbl>
-					<w:p w:rsidP="00E05F09" w:rsidR="00A600F0" w:rsidRDefault="00E05F09" w:rsidRPr="00A669E4">
+					<w:p w:rsidP="00F76B12" w:rsidR="00A600F0" w:rsidRDefault="00E05F09" w:rsidRPr="00A669E4">
 						<w:pPr>
-							<w:spacing w:line="480" w:lineRule="auto"/>
+							<w:spacing w:line="440" w:lineRule="atLeast"/>
 							<w:rPr>
 								<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:hint="eastAsia"/>
 								<w:b/>
@@ -914,9 +913,9 @@
 							<w:t>:</w:t>
 						</w:r>
 					</w:p>
-					<w:p w:rsidP="00E05F09" w:rsidR="005E06FB" w:rsidRDefault="005E06FB" w:rsidRPr="00A669E4">
+					<w:p w:rsidP="00F76B12" w:rsidR="005E06FB" w:rsidRDefault="005E06FB" w:rsidRPr="00A669E4">
 						<w:pPr>
-							<w:spacing w:line="480" w:lineRule="auto"/>
+							<w:spacing w:line="440" w:lineRule="atLeast"/>
 							<w:rPr>
 								<w:rFonts w:ascii="黑体" w:eastAsia="黑体" w:hAnsi="宋体" w:hint="eastAsia"/>
 								<w:b/>
@@ -967,9 +966,9 @@
 							<w:t>上的答案无效。</w:t>
 						</w:r>
 					</w:p>
-					<w:p w:rsidP="005E06FB" w:rsidR="005E06FB" w:rsidRDefault="005E06FB" w:rsidRPr="00A669E4">
+					<w:p w:rsidP="00F76B12" w:rsidR="005E06FB" w:rsidRDefault="005E06FB" w:rsidRPr="00A669E4">
 						<w:pPr>
-							<w:spacing w:line="480" w:lineRule="auto"/>
+							<w:spacing w:line="440" w:lineRule="atLeast"/>
 							<w:rPr>
 								<w:rFonts w:ascii="黑体" w:eastAsia="黑体" w:hAnsi="宋体" w:hint="eastAsia"/>
 								<w:b/>
@@ -1020,9 +1019,9 @@
 							<w:t>上的答案无效。</w:t>
 						</w:r>
 					</w:p>
-					<w:p w:rsidP="000D249A" w:rsidR="00F3740E" w:rsidRDefault="00F3740E" w:rsidRPr="006E2D68">
+					<w:p w:rsidP="00F76B12" w:rsidR="00F3740E" w:rsidRDefault="00F3740E" w:rsidRPr="006E2D68">
 						<w:pPr>
-							<w:spacing w:line="400" w:lineRule="exact"/>
+							<w:spacing w:line="440" w:lineRule="atLeast"/>
 							<w:ind w:firstLine="632" w:firstLineChars="300"/>
 							<w:rPr>
 								<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:hint="eastAsia"/>
@@ -1306,25 +1305,6 @@
 	    					</#if>
 	    				</#list>
 	    			</#if>
-					<w:p w:rsidP="00755E9E" w:rsidR="00017BD2" w:rsidRDefault="00017BD2" w:rsidRPr="00652B53">
-						<w:pPr>
-							<w:spacing w:line="400" w:lineRule="exact"/>
-							<w:rPr>
-								<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:hint="eastAsia"/>
-								<w:b/>
-								<w:szCs w:val="21"/>
-							</w:rPr>
-						</w:pPr>
-					</w:p>
-					<w:p w:rsidP="00361123" w:rsidR="002075AC" w:rsidRDefault="002075AC" w:rsidRPr="00A27BC8">
-						<w:pPr>
-							<w:spacing w:line="400" w:lineRule="exact"/>
-							<w:rPr>
-								<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:hint="eastAsia"/>
-								<w:szCs w:val="21"/>
-							</w:rPr>
-						</w:pPr>
-					</w:p>
 					<w:sectPr w:rsidR="002075AC" w:rsidRPr="00A27BC8" w:rsidSect="00761A6D">
 						<w:footerReference r:id="rId7" w:type="even"/>
 						<w:footerReference r:id="rId8" w:type="default"/>
@@ -1342,14 +1322,14 @@
 		<pkg:xmlData>
 			<w:footnotes mc:Ignorable="w14 wp14" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing" xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk" xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape">
 				<w:footnote w:id="-1" w:type="separator">
-					<w:p w:rsidR="0054175C" w:rsidRDefault="0054175C">
+					<w:p w:rsidR="009430B6" w:rsidRDefault="009430B6">
 						<w:r>
 							<w:separator/>
 						</w:r>
 					</w:p>
 				</w:footnote>
 				<w:footnote w:id="0" w:type="continuationSeparator">
-					<w:p w:rsidR="0054175C" w:rsidRDefault="0054175C">
+					<w:p w:rsidR="009430B6" w:rsidRDefault="009430B6">
 						<w:r>
 							<w:continuationSeparator/>
 						</w:r>
@@ -1362,14 +1342,14 @@
 		<pkg:xmlData>
 			<w:endnotes mc:Ignorable="w14 wp14" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing" xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk" xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape">
 				<w:endnote w:id="-1" w:type="separator">
-					<w:p w:rsidR="0054175C" w:rsidRDefault="0054175C">
+					<w:p w:rsidR="009430B6" w:rsidRDefault="009430B6">
 						<w:r>
 							<w:separator/>
 						</w:r>
 					</w:p>
 				</w:endnote>
 				<w:endnote w:id="0" w:type="continuationSeparator">
-					<w:p w:rsidR="0054175C" w:rsidRDefault="0054175C">
+					<w:p w:rsidR="009430B6" w:rsidRDefault="009430B6">
 						<w:r>
 							<w:continuationSeparator/>
 						</w:r>
@@ -1628,7 +1608,7 @@
 						</w:rPr>
 						<w:fldChar w:fldCharType="separate"/>
 					</w:r>
-					<w:r w:rsidR="00FF438A" w:rsidRPr="00FF438A">
+					<w:r w:rsidR="00F76B12" w:rsidRPr="00F76B12">
 						<w:rPr>
 							<w:noProof/>
 							<w:sz w:val="21"/>
@@ -1637,7 +1617,7 @@
 						</w:rPr>
 						<w:t>-</w:t>
 					</w:r>
-					<w:r w:rsidR="00FF438A">
+					<w:r w:rsidR="00F76B12">
 						<w:rPr>
 							<w:noProof/>
 							<w:sz w:val="21"/>
@@ -1948,7 +1928,7 @@
 				<w:zoom w:percent="90"/>
 				<w:bordersDoNotSurroundHeader/>
 				<w:bordersDoNotSurroundFooter/>
-				<w:proofState w:grammar="clean" w:spelling="clean"/>
+				<w:proofState w:grammar="clean"/>
 				<w:stylePaneFormatFilter w:allStyles="1" w:alternateStyleNames="0" w:clearFormatting="1" w:customStyles="0" w:directFormattingOnNumbering="1" w:directFormattingOnParagraphs="1" w:directFormattingOnRuns="1" w:directFormattingOnTables="1" w:headingStyles="0" w:latentStyles="0" w:numberingStyles="0" w:stylesInUse="0" w:tableStyles="0" w:top3HeadingStyles="1" w:val="3F01" w:visibleStyles="0"/>
 				<w:doNotTrackMoves/>
 				<w:defaultTabStop w:val="420"/>
@@ -2015,8 +1995,6 @@
 					<w:rsid w:val="000A4291"/>
 					<w:rsid w:val="000D249A"/>
 					<w:rsid w:val="000D7EE1"/>
-					<w:rsid w:val="000E6DBF"/>
-					<w:rsid w:val="000E779F"/>
 					<w:rsid w:val="00100A8D"/>
 					<w:rsid w:val="0010199E"/>
 					<w:rsid w:val="00103E32"/>
@@ -2066,7 +2044,6 @@
 					<w:rsid w:val="00361123"/>
 					<w:rsid w:val="00366B8D"/>
 					<w:rsid w:val="00366D83"/>
-					<w:rsid w:val="00375870"/>
 					<w:rsid w:val="00382C1E"/>
 					<w:rsid w:val="00387887"/>
 					<w:rsid w:val="003907C3"/>
@@ -2094,13 +2071,10 @@
 					<w:rsid w:val="004F12B4"/>
 					<w:rsid w:val="00505A8F"/>
 					<w:rsid w:val="0051564D"/>
-					<w:rsid w:val="00520174"/>
 					<w:rsid w:val="0053449B"/>
-					<w:rsid w:val="0054175C"/>
 					<w:rsid w:val="00595E9A"/>
 					<w:rsid w:val="005A1C06"/>
 					<w:rsid w:val="005A4541"/>
-					<w:rsid w:val="005A69FB"/>
 					<w:rsid w:val="005B0CA3"/>
 					<w:rsid w:val="005C2812"/>
 					<w:rsid w:val="005C3104"/>
@@ -2117,7 +2091,6 @@
 					<w:rsid w:val="0067001D"/>
 					<w:rsid w:val="00672D0B"/>
 					<w:rsid w:val="00673A66"/>
-					<w:rsid w:val="00675A66"/>
 					<w:rsid w:val="00681FC6"/>
 					<w:rsid w:val="00686BEF"/>
 					<w:rsid w:val="00687CD1"/>
@@ -2126,7 +2099,6 @@
 					<w:rsid w:val="00697C8B"/>
 					<w:rsid w:val="006A4731"/>
 					<w:rsid w:val="006B0A10"/>
-					<w:rsid w:val="006B6F39"/>
 					<w:rsid w:val="006C3AF0"/>
 					<w:rsid w:val="006D7134"/>
 					<w:rsid w:val="006E2D68"/>
@@ -2136,13 +2108,11 @@
 					<w:rsid w:val="00755E9E"/>
 					<w:rsid w:val="00761A6D"/>
 					<w:rsid w:val="007620DA"/>
-					<w:rsid w:val="00763F31"/>
 					<w:rsid w:val="00766798"/>
 					<w:rsid w:val="0077243B"/>
 					<w:rsid w:val="00790892"/>
 					<w:rsid w:val="00796618"/>
 					<w:rsid w:val="007A117C"/>
-					<w:rsid w:val="007B2B7F"/>
 					<w:rsid w:val="007C462F"/>
 					<w:rsid w:val="007D418E"/>
 					<w:rsid w:val="007F0875"/>
@@ -2152,7 +2122,6 @@
 					<w:rsid w:val="00846AEA"/>
 					<w:rsid w:val="00847F37"/>
 					<w:rsid w:val="00852887"/>
-					<w:rsid w:val="00871937"/>
 					<w:rsid w:val="00872835"/>
 					<w:rsid w:val="008A675A"/>
 					<w:rsid w:val="008B3D93"/>
@@ -2166,11 +2135,11 @@
 					<w:rsid w:val="009260B5"/>
 					<w:rsid w:val="00930061"/>
 					<w:rsid w:val="00942CDF"/>
+					<w:rsid w:val="009430B6"/>
 					<w:rsid w:val="00950E61"/>
 					<w:rsid w:val="00955048"/>
 					<w:rsid w:val="009554A8"/>
 					<w:rsid w:val="00955E36"/>
-					<w:rsid w:val="0096129C"/>
 					<w:rsid w:val="00961BB1"/>
 					<w:rsid w:val="009673F6"/>
 					<w:rsid w:val="00980DC7"/>
@@ -2203,7 +2172,6 @@
 					<w:rsid w:val="00BA457C"/>
 					<w:rsid w:val="00BB7424"/>
 					<w:rsid w:val="00BC611E"/>
-					<w:rsid w:val="00BD6EDB"/>
 					<w:rsid w:val="00BE5DDC"/>
 					<w:rsid w:val="00BF0828"/>
 					<w:rsid w:val="00C0008F"/>
@@ -2223,6 +2191,7 @@
 					<w:rsid w:val="00D07140"/>
 					<w:rsid w:val="00D17D54"/>
 					<w:rsid w:val="00D43792"/>
+					<w:rsid w:val="00D47399"/>
 					<w:rsid w:val="00D50577"/>
 					<w:rsid w:val="00D55C78"/>
 					<w:rsid w:val="00D85659"/>
@@ -2236,7 +2205,6 @@
 					<w:rsid w:val="00DF64E3"/>
 					<w:rsid w:val="00DF7B72"/>
 					<w:rsid w:val="00E05F09"/>
-					<w:rsid w:val="00E14AAA"/>
 					<w:rsid w:val="00E17E78"/>
 					<w:rsid w:val="00E231EF"/>
 					<w:rsid w:val="00E30F8F"/>
@@ -2250,7 +2218,6 @@
 					<w:rsid w:val="00EB643F"/>
 					<w:rsid w:val="00EB6BE7"/>
 					<w:rsid w:val="00EC68F5"/>
-					<w:rsid w:val="00ED477B"/>
 					<w:rsid w:val="00EE1A58"/>
 					<w:rsid w:val="00EE27E1"/>
 					<w:rsid w:val="00F029FF"/>
@@ -2260,6 +2227,7 @@
 					<w:rsid w:val="00F40516"/>
 					<w:rsid w:val="00F57C82"/>
 					<w:rsid w:val="00F675E5"/>
+					<w:rsid w:val="00F76B12"/>
 					<w:rsid w:val="00F825CF"/>
 					<w:rsid w:val="00F843C9"/>
 					<w:rsid w:val="00F87F00"/>
@@ -2268,7 +2236,6 @@
 					<w:rsid w:val="00FE08EA"/>
 					<w:rsid w:val="00FE5490"/>
 					<w:rsid w:val="00FF14B8"/>
-					<w:rsid w:val="00FF438A"/>
 				</w:rsids>
 				<m:mathPr>
 					<m:mathFont m:val="Cambria Math"/>
@@ -2829,8 +2796,8 @@
 				<cp:lastModifiedBy>Administrator</cp:lastModifiedBy>
 				<cp:revision>2</cp:revision>
 				<cp:lastPrinted>2015-05-19T08:52:00Z</cp:lastPrinted>
-				<dcterms:created xsi:type="dcterms:W3CDTF">2017-10-25T03:10:00Z</dcterms:created>
-				<dcterms:modified xsi:type="dcterms:W3CDTF">2017-10-25T03:10:00Z</dcterms:modified>
+				<dcterms:created xsi:type="dcterms:W3CDTF">2017-10-27T02:16:00Z</dcterms:created>
+				<dcterms:modified xsi:type="dcterms:W3CDTF">2017-10-27T02:16:00Z</dcterms:modified>
 			</cp:coreProperties>
 		</pkg:xmlData>
 	</pkg:part>
@@ -4661,7 +4628,7 @@
 		<pkg:xmlData>
 			<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes">
 				<Template>Normal.dotm</Template>
-				<TotalTime>0</TotalTime>
+				<TotalTime>1</TotalTime>
 				<Pages>1</Pages>
 				<Words>30</Words>
 				<Characters>176</Characters>

+ 6 - 4
cqb-paper/src/main/java/com/qmth/cqb/paper/service/export/DzkdExportPaperService.java

@@ -35,7 +35,8 @@ import com.qmth.cqb.utils.word.DocxProcessUtil;
 public class DzkdExportPaperService extends ExportPaperAbstractService {
 	
 	public void downloadPaper(String paperId,String zipFileName)throws Exception {
-		PaperExp paperExp = initPaperExpService.initPaperExp(paperId);
+		PaperExp paperExp = initPaperExp(paperId);
+		//电子科大独有
 		setSplitPaperDetailExp(paperExp,paperExp.getPaperDetails());
 		if(paperExp!=null){
 			String paperfileName = paperExp.getCourseNo()+"_"+ExamFileType.PAPER.getName()+DOCX_SUFFIX;
@@ -46,7 +47,7 @@ public class DzkdExportPaperService extends ExportPaperAbstractService {
 	}
 	
 	public void downloadPaperAnswer(String paperId,String zipFileName) throws Exception {
-		PaperExp paperExp = initPaperExpService.initPaperExp(paperId);
+		PaperExp paperExp = initPaperExp(paperId);
 		if(paperExp!=null){
 			String answerFileName = paperExp.getCourseNo()+"_"+ExamFileType.ANSWER.getName()+DOCX_SUFFIX;
 			File file = new File(TEMP_FILE_EXP+File.separator+zipFileName+File.separator+answerFileName);
@@ -59,6 +60,7 @@ public class DzkdExportPaperService extends ExportPaperAbstractService {
 	 * 设置大题标题,并将大题分类  主观题    客观题
 	 * @param paperDetailExps
 	 */
+	@Override
 	public void setExpDtoTitle(List<PaperDetailExp> paperDetailExps) {
 		int firstBlank = 0;
 		int lastBlank = 0;
@@ -67,7 +69,7 @@ public class DzkdExportPaperService extends ExportPaperAbstractService {
 			String titleDetail = null;
 			String totalScore = BigDecimal.valueOf(paperDetailExp.getScore()).stripTrailingZeros().toPlainString();
 			QuesStructType type = paperDetailExp.getPaperDetailUnits().get(0).getQuestionType();
-			String questionScore = initPaperExpService.checkPaperDetailUnitScore(paperDetailExp);
+			String questionScore = checkPaperDetailUnitScore(paperDetailExp);
 			String scoreString = questionScore==null?"":"每小题"+questionScore+"分,";
 			if (type == QuesStructType.SINGLE_ANSWER_QUESTION) {
 				paperDetailExp.setName("单项选择题");
@@ -231,7 +233,7 @@ public class DzkdExportPaperService extends ExportPaperAbstractService {
 	
 	@Override
     public void uploadFile(ExtractConfig extractConfig,String paperId,ExportStructure exportStructure,AccessUser accessUser) throws Exception{
-    	PaperExp paperExp = initPaperExpService.initPaperExp(paperId);
+    	PaperExp paperExp = initPaperExp(paperId);
     	setSplitPaperDetailExp(paperExp,paperExp.getPaperDetails());
         if (paperExp!=null) {
         	String currNum = CommonUtils.getCurNum();

+ 80 - 0
cqb-paper/src/main/java/com/qmth/cqb/paper/service/export/ExportPaperAbstractService.java

@@ -4,6 +4,7 @@ import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.IOException;
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
@@ -232,6 +233,85 @@ public abstract class ExportPaperAbstractService {
 	 */
     public abstract void uploadFile(ExtractConfig extractConfig,String paperId,ExportStructure exportStructure,AccessUser accessUser)  throws Exception;
 
+    
+    /**
+     * 初始化得到PaperExp对象
+     * @param paperId
+     * @return
+     * @throws Exception 
+     */
+    public PaperExp initPaperExp(String paperId) throws Exception{
+    	PaperExp paperExp = initPaperExpService.initPaperExp(paperId);
+    	setExpDtoTitle(paperExp.getPaperDetails());
+    	return paperExp;
+    }
+    
+    /**
+     * 给大题设置标题
+     * @param paperDetailExps
+     */
+    public void setExpDtoTitle(List<PaperDetailExp> paperDetailExps) {
+		for(PaperDetailExp paperDetailExp:paperDetailExps){
+			String title = "";
+			String titleDetail = null;
+			String totalScore = BigDecimal.valueOf(paperDetailExp.getScore()).stripTrailingZeros().toPlainString();
+			QuesStructType type = paperDetailExp.getPaperDetailUnits().get(0).getQuestionType();
+			String questionScore = checkPaperDetailUnitScore(paperDetailExp);
+			String scoreString = questionScore==null?"":"每小题"+questionScore+"分,";
+			if (type == QuesStructType.SINGLE_ANSWER_QUESTION) {
+				paperDetailExp.setName("单项选择题");
+				title = "(本大题共" + paperDetailExp.getUnitCount() + "小题,"
+						+ scoreString + "共" + totalScore + "分)";
+				titleDetail = "在每小题列出的备选项中只有一个符号合题目要求的,请将其选出并将“答题卡”的相应代码涂黑,错涂、多涂或未涂均无分";
+			} else if (type == QuesStructType.MULTIPLE_ANSWER_QUESTION) {
+				paperDetailExp.setName("多项选择题");
+				title = "(本大题共" + paperDetailExp.getUnitCount() + "小题,"
+						+ scoreString + "共" + totalScore+ "分)";
+				titleDetail = "在每小题列出的备选项中有一个或多个符号合题目要求的,请将符合项选出并将“答题卡”的相应代码涂黑";
+			} else if (type == QuesStructType.BOOL_ANSWER_QUESTION) {
+				paperDetailExp.setName("判断题");
+				title = "(本大题共" + paperDetailExp.getUnitCount() + "小题,"
+						+ scoreString + "共" + totalScore+ "分。"
+						+ "正确的填涂√、错误填涂×。错涂、多涂或未涂均无分)";
+			} else {
+				paperDetailExp.setName(type.getName());
+				title = "(本大题共"+paperDetailExp.getUnitCount()+"小题,"+scoreString+"共"+totalScore+"分)";
+			}
+			paperDetailExp.setTitle(title);
+			paperDetailExp.setTitleDetail(titleDetail);
+		}
+	}
+    
+ 	/**
+	 * 校验大题下的小题分数是不是一样
+	 * @param paperDetailExp
+	 * @return  如果分数一样,返回分数
+	 * 			如果分数不一样,返回 null
+	 */
+	public String checkPaperDetailUnitScore(PaperDetailExp paperDetailExp) {
+		List<PaperDetailUnitExp> paperDetailUnitExps = paperDetailExp.getPaperDetailUnits();
+		Set<Double> scoreSet = new HashSet<Double>();
+		for (PaperDetailUnitExp unitExp : paperDetailUnitExps) {
+			//判断套路
+			if(unitExp.getQuestionType()==QuesStructType.NESTED_ANSWER_QUESTION){
+				List<Question> subQuestions = unitExp.getQuestion().getSubQuestions();
+				for(Question subQuestion:subQuestions){
+					scoreSet.add(subQuestion.getScore());
+				}
+				/*List<Double> subScoreList =  unitExp.getSubScoreList();
+				for(Double score:subScoreList){
+					scoreSet.add(score);
+				}*/
+			}else{
+				scoreSet.add(unitExp.getScore());
+			}
+		}
+		if(scoreSet.size() == 1){
+			return scoreSet.iterator().next()+"";
+		}
+		return null;
+	}
+    
     /**
      * 创建机考文件,并打包上传至又拍云
      * @param paperId

+ 40 - 3
cqb-paper/src/main/java/com/qmth/cqb/paper/service/export/HzkjExportPaperService.java

@@ -1,12 +1,15 @@
 package com.qmth.cqb.paper.service.export;
 
 import java.io.File;
+import java.math.BigDecimal;
 import java.util.List;
 
 import org.springframework.stereotype.Service;
 
+import cn.com.qmth.examcloud.common.dto.question.enums.QuesStructType;
 import cn.com.qmth.examcloud.common.uac.entity.AccessUser;
 
+import com.qmth.cqb.paper.dto.PaperDetailExp;
 import com.qmth.cqb.paper.dto.PaperExp;
 import com.qmth.cqb.paper.model.ExamFile;
 import com.qmth.cqb.paper.model.ExportStructure;
@@ -28,7 +31,8 @@ public class HzkjExportPaperService extends ExportPaperAbstractService {
 
 	@Override
     public void downloadPaper(String paperId,String zipFileName) throws Exception {
-		PaperExp paperExp = initPaperExpService.initPaperExp(paperId);
+		PaperExp paperExp = initPaperExp(paperId);
+		setExpDtoTitle(paperExp.getPaperDetails());
 		if(paperExp!=null){
 			String paperfileName = paperExp.getCourseNo()+"_"+ExamFileType.PAPER.getName()+DOCX_SUFFIX;
 			File file = new File(TEMP_FILE_EXP+File.separator+zipFileName+File.separator+paperfileName);
@@ -39,7 +43,7 @@ public class HzkjExportPaperService extends ExportPaperAbstractService {
 	
 	@Override
 	public void downloadPaperAnswer(String paperId, String zipFileName)throws Exception {
-		PaperExp paperExp = initPaperExpService.initPaperExp(paperId);
+		PaperExp paperExp = initPaperExp(paperId);
 		if(paperExp!=null){
 			String answerFileName = paperExp.getCourseNo()+"_"+ExamFileType.ANSWER.getName()+DOCX_SUFFIX;
 			File file = new File(TEMP_FILE_EXP+File.separator+zipFileName+File.separator+answerFileName);
@@ -50,7 +54,7 @@ public class HzkjExportPaperService extends ExportPaperAbstractService {
 
 	@Override
     public void uploadFile(ExtractConfig extractConfig,String paperId,ExportStructure exportStructure,AccessUser accessUser) throws Exception{
-		PaperExp paperExp = initPaperExpService.initPaperExp(paperId);
+		PaperExp paperExp = initPaperExp(paperId);
         if (paperExp!=null) {
         	String currNum = CommonUtils.getCurNum();
         	//删除原有试卷文件
@@ -81,6 +85,39 @@ public class HzkjExportPaperService extends ExportPaperAbstractService {
         	}
         }
     }
+
+	@Override
+	public void setExpDtoTitle(List<PaperDetailExp> paperDetailExps) {
+		for(PaperDetailExp paperDetailExp:paperDetailExps){
+			String title = "";
+			String titleDetail = null;
+			String totalScore = BigDecimal.valueOf(paperDetailExp.getScore()).stripTrailingZeros().toPlainString();
+			QuesStructType type = paperDetailExp.getPaperDetailUnits().get(0).getQuestionType();
+			String questionScore = checkPaperDetailUnitScore(paperDetailExp);
+			String scoreString = questionScore==null?"":"每小题"+questionScore+"分,";
+			if (type == QuesStructType.SINGLE_ANSWER_QUESTION) {
+				paperDetailExp.setName("单项选择题");
+				title = "(本大题共" + paperDetailExp.getUnitCount() + "小题,"
+						+ scoreString + "共" + totalScore + "分)";
+				titleDetail = "在每小题列出的备选项中只有一个符号合题目要求的,请将其选出并将“答题卡”的相应代码涂黑,错涂、多涂或未涂均无分";
+			} else if (type == QuesStructType.MULTIPLE_ANSWER_QUESTION) {
+				paperDetailExp.setName("多项选择题");
+				title = "(本大题共" + paperDetailExp.getUnitCount() + "小题,"
+						+ scoreString + "共" + totalScore+ "分)";
+				titleDetail = "在每小题列出的备选项中有一个或多个符号合题目要求的,请将符合项选出并将“答题卡”的相应代码涂黑";
+			} else if (type == QuesStructType.BOOL_ANSWER_QUESTION) {
+				paperDetailExp.setName("判断题");
+				title = "(本大题共" + paperDetailExp.getUnitCount() + "小题,"
+						+ scoreString + "共" + totalScore+ "分。"
+						+ "正确的填涂√、错误填涂×。错涂、多涂或未涂均无分)";
+			} else {
+				paperDetailExp.setName(type.getName());
+				title = "(本大题共"+paperDetailExp.getUnitCount()+"小题,"+scoreString+"共"+totalScore+"分)";
+			}
+			paperDetailExp.setTitle(title);
+			paperDetailExp.setTitleDetail(titleDetail);
+		}
+	}
 	
 	
 

+ 0 - 38
cqb-paper/src/main/java/com/qmth/cqb/paper/service/export/InitPaperExpService.java

@@ -146,8 +146,6 @@ public  class InitPaperExpService {
     	scorePaperDetailExps(paperDetailExps);
     	//给新的大题下所有小题排序
     	sortPaperDetailUnitExps(paperDetailExps);
-    	//给新的大题设置标题
-    	setExpDtoTitle(paperDetailExps);
     	//如果每个小题分数不一样,题干后面添加分数
     	appendScoreToQuestionBody(paperDetailExps);
     	//给每个小题选项排序
@@ -316,42 +314,6 @@ public  class InitPaperExpService {
     	}
 	}
 
-    /**
-	 * 设置大题标题
-	 * @param paperDetailExps
-	 */
-	public void setExpDtoTitle(List<PaperDetailExp> paperDetailExps) {
-		for(PaperDetailExp paperDetailExp:paperDetailExps){
-			String title = "";
-			String titleDetail = null;
-			String totalScore = BigDecimal.valueOf(paperDetailExp.getScore()).stripTrailingZeros().toPlainString();
-			QuesStructType type = paperDetailExp.getPaperDetailUnits().get(0).getQuestionType();
-			String questionScore = checkPaperDetailUnitScore(paperDetailExp);
-			String scoreString = questionScore==null?"":"每小题"+questionScore+"分,";
-			if (type == QuesStructType.SINGLE_ANSWER_QUESTION) {
-				paperDetailExp.setName("单项选择题");
-				title = "(本大题共" + paperDetailExp.getUnitCount() + "小题,"
-						+ scoreString + "共" + totalScore + "分)";
-				titleDetail = "在每小题列出的备选项中只有一个符号合题目要求的,请将其选出并将“答题卡”的相应代码涂黑,错涂、多涂或未涂均无分";
-			} else if (type == QuesStructType.MULTIPLE_ANSWER_QUESTION) {
-				paperDetailExp.setName("多项选择题");
-				title = "(本大题共" + paperDetailExp.getUnitCount() + "小题,"
-						+ scoreString + "共" + totalScore+ "分)";
-				titleDetail = "在每小题列出的备选项中有一个或多个符号合题目要求的,请将符合项选出并将“答题卡”的相应代码涂黑";
-			} else if (type == QuesStructType.BOOL_ANSWER_QUESTION) {
-				paperDetailExp.setName("判断题");
-				title = "(本大题共" + paperDetailExp.getUnitCount() + "小题,"
-						+ scoreString + "共" + totalScore+ "分。"
-						+ "正确的填涂√、错误填涂×。错涂、多涂或未涂均无分)";
-			} else {
-				paperDetailExp.setName(type.getName());
-				title = "(本大题共"+paperDetailExp.getUnitCount()+"小题,"+scoreString+"共"+totalScore+"分)";
-			}
-			paperDetailExp.setTitle(title);
-			paperDetailExp.setTitleDetail(titleDetail);
-		}
-	}
-	
  	/**
 	 * 校验大题下的小题分数是不是一样
 	 * @param paperDetailExp

+ 3 - 3
cqb-paper/src/main/java/com/qmth/cqb/paper/service/export/SddxExportPaperService.java

@@ -29,7 +29,7 @@ public class SddxExportPaperService extends ExportPaperAbstractService{
 	
 	@Override
     public void downloadPaper(String paperId,String zipFileName) throws Exception {
-		PaperExp paperExp = initPaperExpService.initPaperExp(paperId);
+		PaperExp paperExp = initPaperExp(paperId);
 		if(paperExp!=null){
 			String paperfileName = paperExp.getCourseNo()+"_"+ExamFileType.PAPER.getName()+DOCX_SUFFIX;
 			File file = new File(TEMP_FILE_EXP+File.separator+zipFileName+File.separator+paperfileName);
@@ -40,7 +40,7 @@ public class SddxExportPaperService extends ExportPaperAbstractService{
 	
 	@Override
 	public void downloadPaperAnswer(String paperId, String zipFileName)throws Exception {
-		PaperExp paperExp = initPaperExpService.initPaperExp(paperId);
+		PaperExp paperExp = initPaperExp(paperId);
 		if(paperExp!=null){
 			String answerFileName = paperExp.getCourseNo()+"_"+ExamFileType.ANSWER.getName()+DOCX_SUFFIX;
 			File file = new File(TEMP_FILE_EXP+File.separator+zipFileName+File.separator+answerFileName);
@@ -51,7 +51,7 @@ public class SddxExportPaperService extends ExportPaperAbstractService{
 
 	@Override
     public void uploadFile(ExtractConfig extractConfig,String paperId,ExportStructure exportStructure,AccessUser accessUser) throws Exception{
-		PaperExp paperExp = initPaperExpService.initPaperExp(paperId);
+		PaperExp paperExp = initPaperExp(paperId);
         if (paperExp!=null) {
         	String currNum = CommonUtils.getCurNum();
         	//删除原有试卷文件

+ 3 - 3
cqb-paper/src/main/java/com/qmth/cqb/paper/service/export/SxsfExportPaperService.java

@@ -28,7 +28,7 @@ public class SxsfExportPaperService extends ExportPaperAbstractService {
 	
 	@Override
     public void downloadPaper(String paperId,String zipFileName) throws Exception {
-		PaperExp paperExp = initPaperExpService.initPaperExp(paperId);
+		PaperExp paperExp = initPaperExp(paperId);
 		if(paperExp!=null){
 			String paperfileName = paperExp.getCourseNo()+"_"+ExamFileType.PAPER.getName()+DOCX_SUFFIX;
 			File file = new File(TEMP_FILE_EXP+File.separator+zipFileName+File.separator+paperfileName);
@@ -39,7 +39,7 @@ public class SxsfExportPaperService extends ExportPaperAbstractService {
 	
 	@Override
 	public void downloadPaperAnswer(String paperId, String zipFileName)throws Exception {
-		PaperExp paperExp = initPaperExpService.initPaperExp(paperId);
+		PaperExp paperExp = initPaperExp(paperId);
 		if(paperExp!=null){
 			String answerFileName = paperExp.getCourseNo()+"_"+ExamFileType.ANSWER.getName()+DOCX_SUFFIX;
 			File file = new File(TEMP_FILE_EXP+File.separator+zipFileName+File.separator+answerFileName);
@@ -50,7 +50,7 @@ public class SxsfExportPaperService extends ExportPaperAbstractService {
 
 	@Override
     public void uploadFile(ExtractConfig extractConfig,String paperId,ExportStructure exportStructure,AccessUser accessUser) throws Exception{
-		PaperExp paperExp = initPaperExpService.initPaperExp(paperId);
+		PaperExp paperExp = initPaperExp(paperId);
         if (paperExp!=null) {
         	String currNum = CommonUtils.getCurNum();
         	//删除原有试卷文件

+ 3 - 3
cqb-paper/src/main/java/com/qmth/cqb/paper/service/export/TjdxExportPaperService.java

@@ -29,7 +29,7 @@ public class TjdxExportPaperService extends ExportPaperAbstractService {
     
 	@Override
     public void downloadPaper(String paperId,String zipFileName) throws Exception {
-		PaperExp paperExp = initPaperExpService.initPaperExp(paperId);
+		PaperExp paperExp = initPaperExp(paperId);
 		if(paperExp!=null){
 			String paperfileName = paperExp.getCourseNo()+"_"+ExamFileType.PAPER.getName()+DOCX_SUFFIX;
 			File file = new File(TEMP_FILE_EXP+File.separator+zipFileName+File.separator+paperfileName);
@@ -40,7 +40,7 @@ public class TjdxExportPaperService extends ExportPaperAbstractService {
 	
 	@Override
 	public void downloadPaperAnswer(String paperId, String zipFileName)throws Exception {
-		PaperExp paperExp = initPaperExpService.initPaperExp(paperId);
+		PaperExp paperExp = initPaperExp(paperId);
 		if(paperExp!=null){
 			String answerFileName = paperExp.getCourseNo()+"_"+ExamFileType.ANSWER.getName()+DOCX_SUFFIX;
 			File file = new File(TEMP_FILE_EXP+File.separator+zipFileName+File.separator+answerFileName);
@@ -51,7 +51,7 @@ public class TjdxExportPaperService extends ExportPaperAbstractService {
 
 	@Override
     public void uploadFile(ExtractConfig extractConfig,String paperId,ExportStructure exportStructure,AccessUser accessUser) throws Exception{
-		PaperExp paperExp = initPaperExpService.initPaperExp(paperId);
+		PaperExp paperExp = initPaperExp(paperId);
         if (paperExp!=null) {
         	String currNum = CommonUtils.getCurNum();
         	//删除原有试卷文件

+ 3 - 3
cqb-paper/src/main/java/com/qmth/cqb/paper/service/export/xajdExportPaperService.java

@@ -28,7 +28,7 @@ public class xajdExportPaperService extends ExportPaperAbstractService{
     
 	@Override
     public void downloadPaper(String paperId,String zipFileName) throws Exception {
-		PaperExp paperExp = initPaperExpService.initPaperExp(paperId);
+		PaperExp paperExp = initPaperExp(paperId);
 		if(paperExp!=null){
 			String paperfileName = paperExp.getCourseNo()+"_"+ExamFileType.PAPER.getName()+DOCX_SUFFIX;
 			File file = new File(TEMP_FILE_EXP+File.separator+zipFileName+File.separator+paperfileName);
@@ -39,7 +39,7 @@ public class xajdExportPaperService extends ExportPaperAbstractService{
 	
 	@Override
 	public void downloadPaperAnswer(String paperId, String zipFileName)throws Exception {
-		PaperExp paperExp = initPaperExpService.initPaperExp(paperId);
+		PaperExp paperExp = initPaperExp(paperId);
 		if(paperExp!=null){
 			String answerFileName = paperExp.getCourseNo()+"_"+ExamFileType.ANSWER.getName()+DOCX_SUFFIX;
 			File file = new File(TEMP_FILE_EXP+File.separator+zipFileName+File.separator+answerFileName);
@@ -50,7 +50,7 @@ public class xajdExportPaperService extends ExportPaperAbstractService{
 
 	@Override
     public void uploadFile(ExtractConfig extractConfig,String paperId,ExportStructure exportStructure,AccessUser accessUser) throws Exception{
-		PaperExp paperExp = initPaperExpService.initPaperExp(paperId);
+		PaperExp paperExp = initPaperExp(paperId);
         if (paperExp!=null) {
         	String currNum = CommonUtils.getCurNum();
         	//删除原有试卷文件

+ 1 - 1
cqb-paper/src/main/java/com/qmth/cqb/paper/service/impl/ExportPaperServiceImpl.java

@@ -56,7 +56,7 @@ public class ExportPaperServiceImpl implements ExportPaperService{
 
 	@Override
 	public void exportPaperFile(String paperId,String serviceName,String exportContentList,HttpServletResponse response) throws Exception {
-		ExportPaperAbstractService exportPaperAbstractService = (ExportPaperAbstractService) SpringContextUtils.getBeanById("sxsfExportPaperService");
+		ExportPaperAbstractService exportPaperAbstractService = (ExportPaperAbstractService) SpringContextUtils.getBeanById("dzkdExportPaperService");
 		//根据试卷id查询试卷 
 		Paper paper = paperRepo.findOne(paperId);
 		List<Paper> papers = new ArrayList<Paper>();

+ 0 - 1
cqb-starter/src/main/java/com/qmth/cqb/sync/DataReceiveService.java

@@ -229,5 +229,4 @@ public class DataReceiveService {
         log.info("-----------coursesync end---------");
     }
 
-
 }