|
@@ -92,6 +92,7 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
|
|
|
|
protected static final String tbBgColor = "F2F2F2";
|
|
|
protected static final String tbPercentWidth = "100%";
|
|
|
+ protected static final String[] scoreTitles = new String[]{"100-90", "89-80", "79-70", "69-60", "<60"};
|
|
|
|
|
|
|
|
|
@Override
|
|
@@ -721,6 +722,12 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
|
}
|
|
|
|
|
|
List<BigDecimal> scoreList = new ArrayList<>();
|
|
|
+ List<TRExamStudent> trExamStudentNewList = new ArrayList<>();
|
|
|
+ trExamStudentNewList.addAll(trExamStudentList);
|
|
|
+ trExamStudentNewList.remove(trExamStudentNewList.size() - 1);
|
|
|
+ trExamStudentNewList.remove(trExamStudentNewList.size() - 1);
|
|
|
+
|
|
|
+ BigDecimal targetAvgScore = new BigDecimal(trExamStudentNewList.stream().mapToDouble(s -> s.getScore().doubleValue()).sum()).divide(new BigDecimal(trExamStudentNewList.size()), 2, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
for (int i = 0; i < trExamStudentList.size(); i++) {
|
|
|
TRExamStudent trExamStudent = trExamStudentList.get(i);
|
|
|
RowRenderData examStudent_row = new RowRenderData();
|
|
@@ -744,7 +751,6 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
|
}
|
|
|
examStudent_cells.add(Cells.of(trExamStudent.getAdministrativeClass()).create());
|
|
|
|
|
|
- BigDecimal targetAvgScore = new BigDecimal(0);
|
|
|
if (Objects.nonNull(trExamStudent.getResultDetail())) {
|
|
|
List<ReportExamStudentTargetDto> reportExamStudentTargetDtoList = JSONArray.parseArray(trExamStudent.getResultDetail(), ReportExamStudentTargetDto.class);
|
|
|
for (ReportExamStudentTargetDto reportExamStudentTargetDto : reportExamStudentTargetDtoList) {
|
|
@@ -757,7 +763,6 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
|
switch (trExamStudent.getName()) {
|
|
|
case "平均分":
|
|
|
examStudent_cells.add(Cells.of(SystemConstant.df.format(reportExamStudentUsualScoreObjDto.getMatrixAvgScore())).create());
|
|
|
- targetAvgScore = targetAvgScore.add(reportExamStudentUsualScoreObjDto.getMatrixAvgScore());
|
|
|
break;
|
|
|
case "各课程目标平均分":
|
|
|
examStudent_cells.add(Cells.of(targetCourseDegreeMap.get(reportExamStudentTargetDto.getTargetId()) + "").create());
|
|
@@ -775,7 +780,6 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
|
switch (trExamStudent.getName()) {
|
|
|
case "平均分":
|
|
|
examStudent_cells.add(Cells.of(SystemConstant.df.format(reportExamStudentFinalScoreDto.getMatrixAvgScore())).create());
|
|
|
- targetAvgScore = targetAvgScore.add(reportExamStudentFinalScoreDto.getMatrixAvgScore());
|
|
|
break;
|
|
|
case "各课程目标平均分":
|
|
|
examStudent_cells.add(Cells.of(targetCourseDegreeMap.get(reportExamStudentTargetDto.getTargetId()) + "").create());
|
|
@@ -894,7 +898,6 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
|
*/
|
|
|
@Override
|
|
|
public TableRenderData buildWordTable6(Map<String, Object> map) {
|
|
|
- String[] scoreTitles = new String[]{"100-90", "89-80", "79-70", "69-60", "<60"};
|
|
|
Integer[] scoreSizes = (Integer[]) map.get("scoreSizes");
|
|
|
BigDecimal[] scorePercent = (BigDecimal[]) map.get("scorePercent");
|
|
|
Double maxScore = new BigDecimal((Double) map.get("maxScore")).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
|
|
@@ -909,19 +912,19 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
|
for (int i = 0; i < scoreTitles.length; i++) {
|
|
|
cells_1.add(Cells.of(scoreTitles[i]).center().create());
|
|
|
cells_2.add(Cells.of(scoreSizes[i] + "").create());
|
|
|
- cells_3.add(Cells.of(scorePercent[i] + "%").create());
|
|
|
+ cells_3.add(Cells.of(SystemConstant.df.format(scorePercent[i]) + "%").create());
|
|
|
}
|
|
|
cells_1.add(Cells.of("平均分").center().create());
|
|
|
cells_1.add(Cells.of("最高分").center().create());
|
|
|
cells_1.add(Cells.of("最低分").center().create());
|
|
|
|
|
|
- cells_2.add(Cells.of(avgScore + "").create());
|
|
|
- cells_2.add(Cells.of(maxScore + "").create());
|
|
|
- cells_2.add(Cells.of(minScore + "").create());
|
|
|
+ cells_2.add(Cells.of(SystemConstant.df.format(avgScore) + "").create());
|
|
|
+ cells_2.add(Cells.of(SystemConstant.df.format(maxScore) + "").create());
|
|
|
+ cells_2.add(Cells.of(SystemConstant.df.format(minScore) + "").create());
|
|
|
|
|
|
- cells_3.add(Cells.of(avgScore + "").create());
|
|
|
- cells_3.add(Cells.of(maxScore + "").create());
|
|
|
- cells_3.add(Cells.of(minScore + "").create());
|
|
|
+ cells_3.add(Cells.of(SystemConstant.df.format(avgScore) + "").create());
|
|
|
+ cells_3.add(Cells.of(SystemConstant.df.format(maxScore) + "").create());
|
|
|
+ cells_3.add(Cells.of(SystemConstant.df.format(minScore) + "").create());
|
|
|
|
|
|
RowRenderData row_1 = new RowRenderData();
|
|
|
row_1.setCells(cells_1);
|
|
@@ -960,7 +963,6 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
|
*/
|
|
|
@Override
|
|
|
public ChartMultiSeriesRenderData buildCourseTargetColumnDiagram1(Map<String, Object> map) {
|
|
|
- String[] scoreTitles = new String[]{"100-90", "89-80", "79-70", "69-60", "<60"};
|
|
|
Integer[] scoreSizes = (Integer[]) map.get("scoreSizes");
|
|
|
ChartMultiSeriesRenderData chart = Charts
|
|
|
.ofMultiSeries("达成度分布柱状图", scoreTitles)
|