ソースを参照

美术阅卷11月新增需求-修复导出分档报表BUG

wangliang 5 年 前
コミット
4b57195714

+ 9 - 9
stmms-ms-admin/src/main/java/cn/com/qmth/stmms/ms/admin/exporter/ScoreExporter.java

@@ -342,28 +342,28 @@ public class ScoreExporter {
                             ExportLevelResultDTO exportLevelResultDTO = scMap.get(v.getTeacherName());
                             drawExcelFixedHead(finalSheet, style, hssfRow, new HeaderNode(v.getResult(), firstRow, firstRow, exportLevelResultDTO.getFirstCol(), exportLevelResultDTO.getFirstCol()));
                             if (v.getMarkByLeader()) {
-                                drawExcelFixedHead(finalSheet, style, hssfRow, new HeaderNode(v.getLevel(), firstRow, firstRow, level + scMap.size(), level + scMap.size()));
+                                drawExcelFixedHead(finalSheet, style, hssfRow, new HeaderNode(v.getLevel(), firstRow, firstRow, level + (scMap == null ? 0 : scMap.size()), level + (scMap == null ? 0 : scMap.size())));
                             }
                             if (Objects.nonNull(v.getLevel())) {
-                                drawExcelFixedHead(finalSheet, style, hssfRow, new HeaderNode(v.getLevel(), firstRow, firstRow, level + scMap.size() + 1, level + scMap.size() + 1));
+                                drawExcelFixedHead(finalSheet, style, hssfRow, new HeaderNode(v.getLevel(), firstRow, firstRow, level + (scMap == null ? 0 : scMap.size()) + 1, level + (scMap == null ? 0 : scMap.size()) + 1));
                             }
                         } else if (k.contains(Subject.SM.toString())) {
                             ExportLevelResultDTO exportLevelResultDTO = smMap.get(v.getTeacherName());
                             drawExcelFixedHead(finalSheet, style, hssfRow, new HeaderNode(v.getResult(), firstRow, firstRow, exportLevelResultDTO.getFirstCol(), exportLevelResultDTO.getFirstCol()));
                             if (v.getMarkByLeader()) {
-                                drawExcelFixedHead(finalSheet, style, hssfRow, new HeaderNode(v.getLevel(), firstRow, firstRow, level + scMap.size() + smMap.size() + levelInterval, level + scMap.size() + smMap.size() + levelInterval));
+                                drawExcelFixedHead(finalSheet, style, hssfRow, new HeaderNode(v.getLevel(), firstRow, firstRow, level + (scMap == null ? 0 : scMap.size()) + (smMap == null ? 0 : smMap.size()) + levelInterval, level + (scMap == null ? 0 : scMap.size()) + (smMap == null ? 0 : smMap.size()) + levelInterval));
                             }
                             if (Objects.nonNull(v.getLevel())) {
-                                drawExcelFixedHead(finalSheet, style, hssfRow, new HeaderNode(v.getLevel(), firstRow, firstRow, level + scMap.size() + smMap.size() + levelInterval + 1, level + scMap.size() + smMap.size() + levelInterval + 1));
+                                drawExcelFixedHead(finalSheet, style, hssfRow, new HeaderNode(v.getLevel(), firstRow, firstRow, level + (scMap == null ? 0 : scMap.size()) + (smMap == null ? 0 : smMap.size()) + levelInterval + 1, level + (scMap == null ? 0 : scMap.size()) + (smMap == null ? 0 : smMap.size()) + levelInterval + 1));
                             }
                         } else if (k.contains(Subject.SX.toString())) {
                             ExportLevelResultDTO exportLevelResultDTO = sxMap.get(v.getTeacherName());
                             drawExcelFixedHead(finalSheet, style, hssfRow, new HeaderNode(v.getResult(), firstRow, firstRow, exportLevelResultDTO.getFirstCol(), exportLevelResultDTO.getFirstCol()));
                             if (v.getMarkByLeader()) {
-                                drawExcelFixedHead(finalSheet, style, hssfRow, new HeaderNode(v.getLevel(), firstRow, firstRow, level + scMap.size() + smMap.size() + sxMap.size() + levelInterval * 2, level + scMap.size() + smMap.size() + sxMap.size() + levelInterval * 2));
+                                drawExcelFixedHead(finalSheet, style, hssfRow, new HeaderNode(v.getLevel(), firstRow, firstRow, level + (scMap == null ? 0 : scMap.size()) + (smMap == null ? 0 : smMap.size()) + (sxMap == null ? 0 : sxMap.size()) + levelInterval * 2, level + (scMap == null ? 0 : scMap.size()) + (smMap == null ? 0 : smMap.size()) + (sxMap == null ? 0 : sxMap.size()) + levelInterval * 2));
                             }
                             if (Objects.nonNull(v.getLevel())) {
-                                drawExcelFixedHead(finalSheet, style, hssfRow, new HeaderNode(v.getLevel(), firstRow, firstRow, level + scMap.size() + smMap.size() + sxMap.size() + levelInterval * 2 + 1, level + scMap.size() + smMap.size() + sxMap.size() + levelInterval * 2 + 1));
+                                drawExcelFixedHead(finalSheet, style, hssfRow, new HeaderNode(v.getLevel(), firstRow, firstRow, level + (scMap == null ? 0 : scMap.size()) + (smMap == null ? 0 : smMap.size()) + (sxMap == null ? 0 : sxMap.size()) + levelInterval * 2 + 1, level + (scMap == null ? 0 : scMap.size()) + (smMap == null ? 0 : smMap.size()) + (sxMap == null ? 0 : sxMap.size()) + levelInterval * 2 + 1));
                             }
                         }
                     });
@@ -456,19 +456,19 @@ public class ScoreExporter {
                             ExportLevelResultDTO exportLevelResultDTO = scMap.get(v.getTeacherName());
                             drawExcelFixedHead(finalSheet, style, hssfRow, new HeaderNode(v.getResult(), firstRow, firstRow, exportLevelResultDTO.getFirstCol(), exportLevelResultDTO.getFirstCol()));
                             if (Objects.nonNull(v.getLevel())) {
-                                drawExcelFixedHead(finalSheet, style, hssfRow, new HeaderNode(v.getLevel(), firstRow, firstRow, level + scMap.size(), level + scMap.size()));
+                                drawExcelFixedHead(finalSheet, style, hssfRow, new HeaderNode(v.getLevel(), firstRow, firstRow, level + (scMap == null ? 0 : scMap.size()), level + (scMap == null ? 0 : scMap.size())));
                             }
                         } else if (k.contains(Subject.SM.toString())) {
                             ExportLevelResultDTO exportLevelResultDTO = smMap.get(v.getTeacherName());
                             drawExcelFixedHead(finalSheet, style, hssfRow, new HeaderNode(v.getResult(), firstRow, firstRow, exportLevelResultDTO.getFirstCol(), exportLevelResultDTO.getFirstCol()));
                             if (Objects.nonNull(v.getLevel())) {
-                                drawExcelFixedHead(finalSheet, style, hssfRow, new HeaderNode(v.getLevel(), firstRow, firstRow, level + scMap.size() + smMap.size() + scoreInterval, level + scMap.size() + smMap.size() + scoreInterval));
+                                drawExcelFixedHead(finalSheet, style, hssfRow, new HeaderNode(v.getLevel(), firstRow, firstRow, level + (scMap == null ? 0 : scMap.size()) + (smMap == null ? 0 : smMap.size()) + scoreInterval, level + (scMap == null ? 0 : scMap.size()) + (smMap == null ? 0 : smMap.size()) + scoreInterval));
                             }
                         } else if (k.contains(Subject.SX.toString())) {
                             ExportLevelResultDTO exportLevelResultDTO = sxMap.get(v.getTeacherName());
                             drawExcelFixedHead(finalSheet, style, hssfRow, new HeaderNode(v.getResult(), firstRow, firstRow, exportLevelResultDTO.getFirstCol(), exportLevelResultDTO.getFirstCol()));
                             if (Objects.nonNull(v.getLevel())) {
-                                drawExcelFixedHead(finalSheet, style, hssfRow, new HeaderNode(v.getLevel(), firstRow, firstRow, level + scMap.size() + smMap.size() + sxMap.size() + scoreInterval * 2, level + scMap.size() + smMap.size() + sxMap.size() + scoreInterval * 2));
+                                drawExcelFixedHead(finalSheet, style, hssfRow, new HeaderNode(v.getLevel(), firstRow, firstRow, level + (scMap == null ? 0 : scMap.size()) + (smMap == null ? 0 : smMap.size()) + (sxMap == null ? 0 : sxMap.size()) + scoreInterval * 2, level + (scMap == null ? 0 : scMap.size()) + (smMap == null ? 0 : smMap.size()) + (sxMap == null ? 0 : sxMap.size()) + scoreInterval * 2));
                             }
                         }
                     });

+ 2 - 2
stmms-ms-core/src/main/java/cn/com/qmth/stmms/ms/core/repository/PaperRepo.java

@@ -87,9 +87,9 @@ public interface PaperRepo extends JpaRepository<Paper, Long>, JpaSpecificationE
             "SUM(IF(p.`is_rejected` = 1, 1, 0))," +
             "SUM(IF(p.`is_arbitrated` = 1, 1, 0))" +
             "FROM paper p " +
-            "WHERE p.`question_id` = ? and p.is_missing = false " +
+            "WHERE p.`question_id` = ? and p.is_missing = false and p.is_test = ? " +
             "GROUP BY p.`level` ORDER BY p.`level`", nativeQuery = true)
-    List<Object[]> countGroupByLevelAll(Long questionId);
+    List<Object[]> countGroupByLevelAll(Long questionId,int test);
 
     /**
      * 统计科目指定试题的各档位数量

+ 1 - 1
stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/api/MarkSubjectApi.java

@@ -129,7 +129,7 @@ public class MarkSubjectApi {
     @RequestMapping(value = "{markSubject}/stat/levels", method = RequestMethod.GET)
     public List<LevelStatDTO> levelStat(HttpServletRequest request, @PathVariable MarkSubject markSubject, @RequestParam Long questionId) {
         List<LevelStatDTO> levelStatDTOs = new ArrayList<>();
-        paperRepo.countGroupByLevelAll(questionId)
+        paperRepo.countGroupByLevelAll(questionId, markSubject.getTest())
                 .forEach(o -> {
                     levelStatDTOs.add(levelStatAssembler.toDTO(o));
                 });