wangliang 2 лет назад
Родитель
Сommit
5d0a0f96a4

+ 13 - 11
themis-admin/src/main/java/com/qmth/themis/admin/api/TEExamStudentController.java

@@ -445,17 +445,19 @@ public class TEExamStudentController {
                         }
                     }
                 }
-                Map<Long, MarkResultDto> markResultDtoMap = markResultDtoList.stream().collect(
-                        Collectors.toMap(MarkResultDto::getRecordId, Function.identity(), (dto1, dto2) -> dto1));
-
-                //获取云阅卷同步成绩
-                List<TSyncExamStudentScore> tSyncExamStudentScoreList = tSyncExamStudentScoreService.findByExamRecordIds(examRecordIdsSet);
-                if (!CollectionUtils.isEmpty(tSyncExamStudentScoreList)) {
-                    for (TSyncExamStudentScore t : tSyncExamStudentScoreList) {
-                        MarkResultDto markResultDto = markResultDtoMap.get(Long.parseLong(t.getExamNumber()));
-                        if (Objects.nonNull(markResultDto)) {
-                            markResultDto.setSubjectiveScore(Objects.isNull(t.getSubjectiveScore()) ? 0 : t.getSubjectiveScore());
-                            markResultDto.setSumScore(markResultDto.getObjectiveScore() + markResultDto.getSubjectiveScore());
+                if(!CollectionUtils.isEmpty(examRecordIdsSet)) {
+                    Map<Long, MarkResultDto> markResultDtoMap = markResultDtoList.stream().collect(
+                            Collectors.toMap(MarkResultDto::getRecordId, Function.identity(), (dto1, dto2) -> dto1));
+
+                    //获取云阅卷同步成绩
+                    List<TSyncExamStudentScore> tSyncExamStudentScoreList = tSyncExamStudentScoreService.findByExamRecordIds(examRecordIdsSet);
+                    if (!CollectionUtils.isEmpty(tSyncExamStudentScoreList)) {
+                        for (TSyncExamStudentScore t : tSyncExamStudentScoreList) {
+                            MarkResultDto markResultDto = markResultDtoMap.get(Long.parseLong(t.getExamNumber()));
+                            if (Objects.nonNull(markResultDto)) {
+                                markResultDto.setSubjectiveScore(Objects.isNull(t.getSubjectiveScore()) ? 0 : t.getSubjectiveScore());
+                                markResultDto.setSumScore(markResultDto.getObjectiveScore() + markResultDto.getSubjectiveScore());
+                            }
                         }
                     }
                 }

+ 12 - 10
themis-business/src/main/java/com/qmth/themis/business/templete/impl/TaskMarkResultSimpleExportTemplete.java

@@ -121,17 +121,19 @@ public class TaskMarkResultSimpleExportTemplete implements TaskExportTemplete {
                         }
                     }
                 }
-                Map<String, MarkResultSimpleExportDto> markResultSimpleExportDtoMap = markResultSimpleExportDtoList.stream().collect(
-                        Collectors.toMap(MarkResultSimpleExportDto::getRecordId, Function.identity(), (dto1, dto2) -> dto1));
+                if (!CollectionUtils.isEmpty(examRecordIdsSet)) {
+                    Map<String, MarkResultSimpleExportDto> markResultSimpleExportDtoMap = markResultSimpleExportDtoList.stream().collect(
+                            Collectors.toMap(MarkResultSimpleExportDto::getRecordId, Function.identity(), (dto1, dto2) -> dto1));
 
-                //获取云阅卷同步成绩
-                List<TSyncExamStudentScore> tSyncExamStudentScoreList = tSyncExamStudentScoreService.findByExamRecordIds(examRecordIdsSet);
-                if (!CollectionUtils.isEmpty(tSyncExamStudentScoreList)) {
-                    for (TSyncExamStudentScore t : tSyncExamStudentScoreList) {
-                        MarkResultSimpleExportDto markResultSimpleExportDto = markResultSimpleExportDtoMap.get(t.getExamNumber());
-                        if (Objects.nonNull(markResultSimpleExportDto)) {
-                            markResultSimpleExportDto.setSubjectiveScore(Objects.isNull(t.getSubjectiveScore()) ? "0" : String.valueOf(t.getSubjectiveScore()));
-                            markResultSimpleExportDto.setSumScore(String.valueOf(Double.parseDouble(markResultSimpleExportDto.getObjectiveScore()) + Double.parseDouble(markResultSimpleExportDto.getSubjectiveScore())));
+                    //获取云阅卷同步成绩
+                    List<TSyncExamStudentScore> tSyncExamStudentScoreList = tSyncExamStudentScoreService.findByExamRecordIds(examRecordIdsSet);
+                    if (!CollectionUtils.isEmpty(tSyncExamStudentScoreList)) {
+                        for (TSyncExamStudentScore t : tSyncExamStudentScoreList) {
+                            MarkResultSimpleExportDto markResultSimpleExportDto = markResultSimpleExportDtoMap.get(t.getExamNumber());
+                            if (Objects.nonNull(markResultSimpleExportDto)) {
+                                markResultSimpleExportDto.setSubjectiveScore(Objects.isNull(t.getSubjectiveScore()) ? "0" : String.valueOf(t.getSubjectiveScore()));
+                                markResultSimpleExportDto.setSumScore(String.valueOf(Double.parseDouble(markResultSimpleExportDto.getObjectiveScore()) + Double.parseDouble(markResultSimpleExportDto.getSubjectiveScore())));
+                            }
                         }
                     }
                 }

+ 36 - 34
themis-business/src/main/java/com/qmth/themis/business/templete/impl/TaskMarkResultStandardExportTemplete.java

@@ -146,45 +146,47 @@ public class TaskMarkResultStandardExportTemplete implements TaskExportTemplete
                         }
                     }
                 }
-                Map<String, MarkResultSimpleExportDto> markResultSimpleExportDtoMap = markResultSimpleExportDtoList.stream().collect(
-                        Collectors.toMap(MarkResultSimpleExportDto::getRecordId, Function.identity(), (dto1, dto2) -> dto1));
+                if (!CollectionUtils.isEmpty(examRecordIdsSet)) {
+                    Map<String, MarkResultSimpleExportDto> markResultSimpleExportDtoMap = markResultSimpleExportDtoList.stream().collect(
+                            Collectors.toMap(MarkResultSimpleExportDto::getRecordId, Function.identity(), (dto1, dto2) -> dto1));
 
-                //获取云阅卷同步成绩
-                List<TSyncExamStudentScore> tSyncExamStudentScoreList = tSyncExamStudentScoreService.findByExamRecordIds(examRecordIdsSet);
-                if (!CollectionUtils.isEmpty(tSyncExamStudentScoreList)) {
-                    subjectiveScoreMap = new LinkedHashMap<>(tSyncExamStudentScoreList.size());
-                    for (TSyncExamStudentScore t : tSyncExamStudentScoreList) {
-                        MarkResultSimpleExportDto markResultSimpleExportDto = markResultSimpleExportDtoMap.get(t.getExamNumber());
-                        if (Objects.nonNull(markResultSimpleExportDto)) {
-                            if (Objects.nonNull(t.getSubjectiveScoreDetail()) && !Objects.equals(t.getSubjectiveScoreDetail().trim(), "")) {
-                                JSONArray subjectiveScoreDetailJsonArray = JSONArray.parseArray(t.getSubjectiveScoreDetail());
-                                Map<String, Double> tOeExamAnswerMap = new LinkedHashMap<>(subjectiveScoreDetailJsonArray.size());
-                                for (int i = 0; i < subjectiveScoreDetailJsonArray.size(); i++) {
-                                    JSONObject jsonObject = subjectiveScoreDetailJsonArray.getJSONObject(i);
-                                    Integer mainNumber = jsonObject.getInteger("mainNumber");
-                                    String subNumberStr = jsonObject.getString("subNumber");
-                                    Integer subNumber = null, subIndex = null;
-                                    if (Objects.nonNull(subNumberStr)) {
-                                        String[] strs = StringUtils.split(subNumberStr, "-");
-                                        subNumber = Integer.parseInt(strs[0]);
-                                        if (strs.length > 1) {
-                                            subIndex = Integer.parseInt(strs[1]);
+                    //获取云阅卷同步成绩
+                    List<TSyncExamStudentScore> tSyncExamStudentScoreList = tSyncExamStudentScoreService.findByExamRecordIds(examRecordIdsSet);
+                    if (!CollectionUtils.isEmpty(tSyncExamStudentScoreList)) {
+                        subjectiveScoreMap = new LinkedHashMap<>(tSyncExamStudentScoreList.size());
+                        for (TSyncExamStudentScore t : tSyncExamStudentScoreList) {
+                            MarkResultSimpleExportDto markResultSimpleExportDto = markResultSimpleExportDtoMap.get(t.getExamNumber());
+                            if (Objects.nonNull(markResultSimpleExportDto)) {
+                                if (Objects.nonNull(t.getSubjectiveScoreDetail()) && !Objects.equals(t.getSubjectiveScoreDetail().trim(), "")) {
+                                    JSONArray subjectiveScoreDetailJsonArray = JSONArray.parseArray(t.getSubjectiveScoreDetail());
+                                    Map<String, Double> tOeExamAnswerMap = new LinkedHashMap<>(subjectiveScoreDetailJsonArray.size());
+                                    for (int i = 0; i < subjectiveScoreDetailJsonArray.size(); i++) {
+                                        JSONObject jsonObject = subjectiveScoreDetailJsonArray.getJSONObject(i);
+                                        Integer mainNumber = jsonObject.getInteger("mainNumber");
+                                        String subNumberStr = jsonObject.getString("subNumber");
+                                        Integer subNumber = null, subIndex = null;
+                                        if (Objects.nonNull(subNumberStr)) {
+                                            String[] strs = StringUtils.split(subNumberStr, "-");
+                                            subNumber = Integer.parseInt(strs[0]);
+                                            if (strs.length > 1) {
+                                                subIndex = Integer.parseInt(strs[1]);
+                                            }
                                         }
+                                        Double score = jsonObject.getDouble("score");
+                                        String questionsTitle = String.valueOf(mainNumber);
+                                        questionsTitle = Objects.nonNull(subNumber) ?
+                                                questionsTitle + "_" + subNumber :
+                                                questionsTitle;
+                                        questionsTitle = Objects.nonNull(subIndex) ?
+                                                questionsTitle + "_" + subIndex :
+                                                questionsTitle;
+                                        tOeExamAnswerMap.put(questionsTitle, score);
                                     }
-                                    Double score = jsonObject.getDouble("score");
-                                    String questionsTitle = String.valueOf(mainNumber);
-                                    questionsTitle = Objects.nonNull(subNumber) ?
-                                            questionsTitle + "_" + subNumber :
-                                            questionsTitle;
-                                    questionsTitle = Objects.nonNull(subIndex) ?
-                                            questionsTitle + "_" + subIndex :
-                                            questionsTitle;
-                                    tOeExamAnswerMap.put(questionsTitle, score);
+                                    subjectiveScoreMap.put(Long.parseLong(t.getExamNumber()), tOeExamAnswerMap);
                                 }
-                                subjectiveScoreMap.put(Long.parseLong(t.getExamNumber()), tOeExamAnswerMap);
+                                markResultSimpleExportDto.setSubjectiveScore(Objects.isNull(t.getSubjectiveScore()) ? "0" : String.valueOf(t.getSubjectiveScore()));
+                                markResultSimpleExportDto.setSumScore(String.valueOf(Double.parseDouble(markResultSimpleExportDto.getObjectiveScore()) + Double.parseDouble(markResultSimpleExportDto.getSubjectiveScore())));
                             }
-                            markResultSimpleExportDto.setSubjectiveScore(Objects.isNull(t.getSubjectiveScore()) ? "0" : String.valueOf(t.getSubjectiveScore()));
-                            markResultSimpleExportDto.setSumScore(String.valueOf(Double.parseDouble(markResultSimpleExportDto.getObjectiveScore()) + Double.parseDouble(markResultSimpleExportDto.getSubjectiveScore())));
                         }
                     }
                 }