Ver Fonte

bug fix

wangliang há 22 horas atrás
pai
commit
f3401f60c9

+ 11 - 1
teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/service/impl/TRBasicInfoServiceImpl.java

@@ -192,7 +192,7 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
     public Map<String, Object> getReportCalculateParams(TRBasicInfo trBasicInfo, List<PaperStructDimensionResult> paperStructDimensionResultList, ObeCourseWeightResult obeCourseWeightResult, DataPermissionRule dpr) {
         Map<String, Object> paramsMap = new HashMap<>();
         //查询考生数据
-        List<FinalScoreResult> finalScoreResultList = tcFinalScoreService.examStudentOverview(trBasicInfo.getExamId(), trBasicInfo.getPaperNumber(), trBasicInfo.getCultureProgramId(), trBasicInfo.getCourseId(), trBasicInfo.getTeachClassName(), Objects.nonNull(trBasicInfo.getCreateId()) && trBasicInfo.getCreateId().longValue() != -1 ? trBasicInfo.getCreateId() : null, dpr);//考生成绩
+        List<FinalScoreResult> finalScoreResultList = tcFinalScoreService.examStudentOverview(trBasicInfo.getExamId(), trBasicInfo.getPaperNumber(), trBasicInfo.getCultureProgramId(), trBasicInfo.getCourseId(), trBasicInfo.getTeachClassName(), Objects.nonNull(trBasicInfo.getCreateId()) && trBasicInfo.getCreateId().longValue() != -1 ? trBasicInfo.getCreateId() : null, null);//考生成绩
         if (CollectionUtils.isEmpty(finalScoreResultList)) {
             throw ExceptionResultEnum.ERROR.exception("成绩数据异常,平时成绩与期末成绩里考生名单不一致,请检查");
         }
@@ -482,6 +482,16 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
             throw ExceptionResultEnum.ERROR.exception("未找到学生成绩,报告生成失败,请成绩管理录入学生成绩");
         }
 
+        List<FinalScoreResult> finalScoreResultAllList = tcFinalScoreService.examStudentOverview(Objects.nonNull(examId) ? examId : markPaper.getExamId(), Objects.nonNull(paperNumber) ? paperNumber : markPaper.getPaperNumber(), cultureProgramId, courseId, null, null, null);//考生成绩
+        if (CollectionUtils.isEmpty(finalScoreResultAllList)) {
+            throw ExceptionResultEnum.ERROR.exception("未找到学生成绩,报告生成失败,请成绩管理录入学生成绩");
+        } else {
+            if (finalScoreResultList.size() != finalScoreResultAllList.size()) {
+                finalScoreResultList.clear();
+                finalScoreResultList.addAll(finalScoreResultAllList);
+            }
+        }
+
         Set<ScoreParamDto> scoreParamDtoSet = new LinkedHashSet<>();
         String nid = NanoIdUtils.randomNanoId();
         finalScoreResultList.stream().peek(s -> scoreParamDtoSet.add(new ScoreParamDto(s.getTeachClassName(), s.getTeachId()))).collect(Collectors.toSet());