Parcourir la source

修改导出word

宋悦 il y a 8 ans
Parent
commit
a21817aa06

+ 7 - 11
cqb-comm-utils/src/main/java/com/qmth/cqb/utils/word/DocxProcessUtil.java

@@ -824,22 +824,18 @@ public final class DocxProcessUtil {
      * @return
      * @throws Exception
      */
-    public static String html2Docx(WordprocessingMLPackage wordMLPackage,String html){
+    public static String html2Docx(WordprocessingMLPackage wordMLPackage,String html)throws Exception{
         initPkgImage(wordMLPackage);
         XHTMLImporterImpl XHTMLImporter = new XHTMLImporterImpl(wordMLPackage);
         String wordMl = "";
-        try {
-            wordMLPackage.getMainDocumentPart().getContent().addAll(
+        wordMLPackage.getMainDocumentPart().getContent().addAll(
                     XHTMLImporter.convert( html, null) );
-            // 获取word文档中所有段落
-            List<Object> pList = getAllElementFromObject(wordMLPackage.getMainDocumentPart(), P.class);
-            for(Object p:pList){
-                wordMl += XmlUtils.marshaltoString(p);
-            }
-//            wordMl = formatPWordMl(wordMl);
-        }catch (Exception e){
-            e.printStackTrace();
+        // 获取word文档中所有段落
+        List<Object> pList = getAllElementFromObject(wordMLPackage.getMainDocumentPart(), P.class);
+        for(Object p:pList){
+            wordMl += XmlUtils.marshaltoString(p);
         }
+//            wordMl = formatPWordMl(wordMl);
         return wordMl;
     }
 

+ 11 - 5
cqb-paper/src/main/java/com/qmth/cqb/paper/service/ExportPaperService.java

@@ -55,6 +55,9 @@ public class ExportPaperService {
     @Autowired
     PaperDetailUnitService paperDetailUnitService;
 
+    @Autowired
+    PaperService paperService;
+
     /**
      * 初始化导出试卷DTO
      * @param id
@@ -65,6 +68,9 @@ public class ExportPaperService {
         Map returnMap = new HashMap();
         //获取paper
         Paper paper = paperRepo.findOne(id);
+
+        paperService.formatPaper(paper,null);
+
         if(paper == null){
             returnMap.put("errorInfo","该试卷不存在");
             return returnMap;
@@ -102,9 +108,9 @@ public class ExportPaperService {
     }
 
     public String getDetailTitle(PaperDetailExp paperDetailExp){
-        double totalScore = paperDetailExp.getScore();
-        double score = totalScore/paperDetailExp.getUnitCount();
-        String title = "每道题"+score+"分,共"+totalScore+"分";
+        int totalScore = paperDetailExp.getScore().intValue();
+        int count = paperDetailExp.getUnitCount();
+        String title = "本大题共"+count+"小题,共"+totalScore+"分";
         return title;
     }
 
@@ -157,11 +163,11 @@ public class ExportPaperService {
         Collections.sort(paperExp.getPaperDetails());
         for(PaperDetailExp paperDetail: paperExp.getPaperDetails()){
             //大题序号
-            paperDetail.setCnNum(CommonUtils.toCHNum(paperDetail.getNumber()));
             paperDetail.setNumber(++mainNum);
+            paperDetail.setCnNum(CommonUtils.toCHNum(paperDetail.getNumber()));
             if(paperDetail.getPaperDetailUnits() == null ||
                     paperDetail.getPaperDetailUnits().size() == 0){
-                return;
+                continue;
             }
             //小题序号
             for(PaperDetailUnitExp paperDetailUnit:paperDetail.getPaperDetailUnits()){

+ 1 - 0
cqb-question-resource/src/main/java/com/qmth/cqb/question/service/QuesService.java

@@ -288,6 +288,7 @@ public class QuesService {
                 DocxProcessUtil.initTmpPackage(wordMLPackage);
             }
         }
+        question.setQuesPkg(DocxProcessUtil.getPkgByte(wordMLPackage));
     }
 
     /**