Browse Source

3.4.2 update-20250422,bug修改(成绩报告导出)

xiaofei 2 months ago
parent
commit
78fb0581ec

+ 3 - 3
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkArchiveController.java

@@ -57,7 +57,7 @@ public class MarkArchiveController {
 
     @ApiOperation(value = "总量分析(导出)")
     @RequestMapping(value = "score/list/export", method = RequestMethod.POST)
-    public Result scoreListExport(@Validated ArchiveScoreQuery query,HttpServletResponse response) throws IOException {
+    public Result scoreListExport(@Validated ArchiveScoreQuery query, HttpServletResponse response) throws IOException {
         markPaperService.scoreListExport(query, response);
         return ResultUtil.ok();
     }
@@ -84,8 +84,8 @@ public class MarkArchiveController {
 
     @ApiOperation(value = "成绩报告导出")
     @RequestMapping(value = "/score/report/download", method = RequestMethod.POST)
-    public void scoreReportDownload(MultipartFile file, HttpServletResponse response) {
-        markStudentService.scoreReportDownload(file, response);
+    public Result scoreReportDownload(ArchiveStudentQuery query, MultipartFile file, HttpServletResponse response) {
+        return ResultUtil.success(markStudentService.scoreReportDownload(query, file, response));
     }
 
     @ApiOperation(value = "成绩报告")

+ 1 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/MarkStudentService.java

@@ -180,7 +180,7 @@ public interface MarkStudentService extends IService<MarkStudent> {
 
     int countOmrAbsentStudent(Long examId, String paperNumber, boolean isOmrAbsentConfirm, String teachClassName);
 
-    void scoreReportDownload(MultipartFile file, HttpServletResponse response);
+    String scoreReportDownload(ArchiveStudentQuery query, MultipartFile file, HttpServletResponse response);
 
     void deleteByExamIdAndPaperNumber(Long examId, String paperNumber);
 

+ 10 - 2
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkStudentServiceImpl.java

@@ -1546,7 +1546,8 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
     }
 
     @Override
-    public void scoreReportDownload(MultipartFile file, HttpServletResponse response) {
+    public String scoreReportDownload(ArchiveStudentQuery query, MultipartFile file, HttpServletResponse response) {
+        MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumber(query.getExamId(), query.getPaperNumber());
         String rootPath = null;
         File htmlFile;
         File pdfFile;
@@ -1581,7 +1582,13 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
                 pdfFile.createNewFile();
             }
             HtmlToPdfUtil.convert(cardHtmlPath, cardPdfPath, PageSizeEnum.A4);
-            FileUtil.outputFile(response, pdfFile, "报告" + SystemConstant.PDF_PREFIX);
+            String fileName = markPaper.getId() + SystemConstant.PDF_PREFIX;
+            FilePathVo filePathVo = fileUploadService.uploadFile(pdfFile, UploadFileEnum.FILE, fileName);
+            if (filePathVo == null) {
+                throw ExceptionResultEnum.ERROR.exception("报告下载失败");
+            }
+            return teachcloudCommonService.filePreview(JSON.toJSONString(filePathVo));
+//            FileUtil.outputFile(response, pdfFile, "报告" + SystemConstant.PDF_PREFIX);
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
@@ -1589,6 +1596,7 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
                 ConvertUtil.delFolder(rootPath);
             }
         }
+        return null;
     }
 
     @Override