Quellcode durchsuchen

课程目标达成度修改NEW

wangliang vor 1 Jahr
Ursprung
Commit
c62f888a90

+ 11 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TRBasicInfoServiceImpl.java

@@ -782,18 +782,26 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
             rowRenderDataExamStudent[0] = examStudent_header_1;
             rowRenderDataExamStudent[1] = examStudent_header_2;
 
+            ReportCourseEvaluationResultDto reportCourseEvaluationResultDto = JSONObject.parseObject(trBasicInfo.getCourseEvaluationResult(), ReportCourseEvaluationResultDto.class);
+            List<CourseTargetWebDto> courseTargetWebDtoList = reportCourseEvaluationResultDto.getTargetList();
+            for (CourseTargetWebDto c : courseTargetWebDtoList) {
+                if (!CollectionUtils.isEmpty(c.getEvaluationList())) {
+                    targetUsualScoreSizeMap.put(c.getTargetId(), c.getEvaluationList().size() - 1);
+                } else {
+                    targetUsualScoreSizeMap.put(c.getTargetId(), 0);
+                }
+            }
             //首行
             if (Objects.nonNull(trExamStudentTemp.getResultDetail())) {
                 List<ReportExamStudentTargetDto> reportExamStudentTargetDtoList = JSONArray.parseArray(trExamStudentTemp.getResultDetail(), ReportExamStudentTargetDto.class);
                 for (ReportExamStudentTargetDto reportExamStudentTargetDto : reportExamStudentTargetDtoList) {
                     int finalScoreSize = Objects.nonNull(reportExamStudentTargetDto.getFinalScore()) ? 1 : 0;
-                    int size = finalScoreSize + (Objects.nonNull(reportExamStudentTargetDto.getUsualScore()) && !CollectionUtils.isEmpty(reportExamStudentTargetDto.getUsualScore().getScoreList()) ? reportExamStudentTargetDto.getUsualScore().getScoreList().size() : 1);
+                    int size = finalScoreSize + (Objects.nonNull(reportExamStudentTargetDto.getUsualScore()) && !CollectionUtils.isEmpty(reportExamStudentTargetDto.getUsualScore().getScoreList()) ? reportExamStudentTargetDto.getUsualScore().getScoreList().size() : 0);
                     examStudent_cells_1.add(Cells.of(reportExamStudentTargetDto.getTargetName()).center().create());
                     ReportExamStudentUsualScoreDto reportExamStudentUsualScoreDto = reportExamStudentTargetDto.getUsualScore();
                     //平常作业
                     if (Objects.nonNull(reportExamStudentUsualScoreDto) && !CollectionUtils.isEmpty(reportExamStudentUsualScoreDto.getScoreList())) {
                         List<ReportExamStudentUsualScoreObjDto> reportExamStudentUsualScoreObjDtoList = reportExamStudentUsualScoreDto.getScoreList();
-                        targetUsualScoreSizeMap.put(reportExamStudentTargetDto.getTargetId(), reportExamStudentUsualScoreObjDtoList.size());
                         for (ReportExamStudentUsualScoreObjDto reportExamStudentUsualScoreObjDto : reportExamStudentUsualScoreObjDtoList) {
                             examStudent_cells_1.add(Cells.of("").center().create());
                             examStudent_cells_2.add(Cells.of(reportExamStudentUsualScoreObjDto.getEvaluation()).center().create());
@@ -808,8 +816,6 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
                         while ((size - usualScoreSize) >= 0) {
                             examStudent_cells_1.remove(examStudent_cells_1.size() - 1);
                             size = size - 1;
-                            Integer dynamicSize = targetUsualScoreSizeMap.get(reportExamStudentTargetDto.getTargetId());
-                            targetUsualScoreSizeMap.put(reportExamStudentTargetDto.getTargetId(), dynamicSize - 1);
                         }
                     }
                 }
@@ -945,7 +951,7 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
                 }
                 initNum.set(initNum.get() + increaseNum);
             });
-            mergeCellRuleExamStudent.getMapping().add(new MergeCellRule.GridRule(MergeCellRule.Grid.of(0, initNum.get()), MergeCellRule.Grid.of(1, initNum.get())));
+            mergeCellRuleExamStudent.getMapping().add(new MergeCellRule.GridRule(MergeCellRule.Grid.of(0, rowRenderDataExamStudent[rowRenderDataExamStudent.length - 1].getCells().size() - 1), MergeCellRule.Grid.of(1, rowRenderDataExamStudent[rowRenderDataExamStudent.length - 1].getCells().size() - 1)));
 
 //            Tables.TableBuilder tableBuilderExamStudent = Tables.ofPercentWidth(tbPercentWidth, new int[]{6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 16});
             Tables.TableBuilder tableBuilderExamStudent = Tables.ofPercentWidth(tbPercentWidth);