|
@@ -41,7 +41,6 @@ import org.springframework.util.CollectionUtils;
|
|
|
import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
|
-import java.util.concurrent.atomic.AtomicInteger;
|
|
|
import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -683,7 +682,7 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
|
examStudent_cells_1.add(Cells.of("行政班级").center().create());
|
|
|
examStudent_cells_2.addAll(examStudent_cells_1);
|
|
|
|
|
|
- Map<Long, Integer> targetUsualScoreSizeMap = new LinkedHashMap<>();
|
|
|
+ Map<String, Integer> targetUsualScoreSizeMap = new LinkedHashMap<>();
|
|
|
Map<Long, BigDecimal> targetCourseDegreeMap = new LinkedHashMap<>();
|
|
|
TRExamStudent trExamStudentTemp = trExamStudentList.get(0);
|
|
|
|
|
@@ -703,9 +702,9 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
|
List<CourseTargetWebDto> courseTargetWebDtoList = reportCourseEvaluationResultDto.getTargetList();
|
|
|
for (CourseTargetWebDto c : courseTargetWebDtoList) {
|
|
|
if (!CollectionUtils.isEmpty(c.getEvaluationList())) {
|
|
|
- targetUsualScoreSizeMap.put(c.getTargetId(), c.getEvaluationList().size() - 1);
|
|
|
+ targetUsualScoreSizeMap.put(c.getTargetName(), c.getEvaluationList().size() - 1);
|
|
|
} else {
|
|
|
- targetUsualScoreSizeMap.put(c.getTargetId(), 0);
|
|
|
+ targetUsualScoreSizeMap.put(c.getTargetName(), 0);
|
|
|
}
|
|
|
targetCourseDegreeMap.put(c.getTargetId(), c.getEvaluationValue());
|
|
|
}
|
|
@@ -747,6 +746,14 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
|
}
|
|
|
|
|
|
List<BigDecimal> scoreList = new ArrayList<>();
|
|
|
+ List<TRExamStudent> sortTrExamStudentList = new ArrayList<>();
|
|
|
+ sortTrExamStudentList.addAll(trExamStudentList.subList(trExamStudentList.size() - 2, trExamStudentList.size()));
|
|
|
+
|
|
|
+ Collections.reverse(sortTrExamStudentList);
|
|
|
+ trExamStudentList.remove(trExamStudentList.size() - 1);
|
|
|
+ trExamStudentList.remove(trExamStudentList.size() - 1);
|
|
|
+ trExamStudentList.addAll(sortTrExamStudentList);
|
|
|
+
|
|
|
List<TRExamStudent> trExamStudentNewList = new ArrayList<>();
|
|
|
trExamStudentNewList.addAll(trExamStudentList);
|
|
|
trExamStudentNewList.remove(trExamStudentNewList.size() - 1);
|
|
@@ -859,16 +866,18 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
|
mergeCellRuleExamStudent.getMapping().add(new MergeCellRule.GridRule(MergeCellRule.Grid.of(rowRenderDataExamStudent.length - 1, 0), MergeCellRule.Grid.of(rowRenderDataExamStudent.length - 1, 3)));
|
|
|
|
|
|
//动态扩展列
|
|
|
- AtomicInteger initNum = new AtomicInteger(4);
|
|
|
- targetUsualScoreSizeMap.forEach((k, v) -> {
|
|
|
- int increaseNum = 1;
|
|
|
- while (increaseNum <= v) {
|
|
|
- mergeCellRuleExamStudent.getMapping().add(new MergeCellRule.GridRule(MergeCellRule.Grid.of(0, initNum.get()), MergeCellRule.Grid.of(0, initNum.get() + increaseNum)));
|
|
|
- mergeCellRuleExamStudent.getMapping().add(new MergeCellRule.GridRule(MergeCellRule.Grid.of(rowRenderDataExamStudent.length - 2, initNum.get()), MergeCellRule.Grid.of(rowRenderDataExamStudent.length - 2, initNum.get() + increaseNum)));
|
|
|
- increaseNum++;
|
|
|
+ List<CellRenderData> cellRenderDataList = examStudent_header_1.getCells();
|
|
|
+ for (int i = 0; i < cellRenderDataList.size(); i++) {
|
|
|
+ CellRenderData cellRenderData = cellRenderDataList.get(i);
|
|
|
+ String key = cellRenderData.getParagraphs().get(0).getContents().get(0).toString();
|
|
|
+ if (targetUsualScoreSizeMap.containsKey(key)) {
|
|
|
+ Integer cellNum = targetUsualScoreSizeMap.get(key);
|
|
|
+ if (cellNum.intValue() > 0) {
|
|
|
+ mergeCellRuleExamStudent.getMapping().add(new MergeCellRule.GridRule(MergeCellRule.Grid.of(0, i), MergeCellRule.Grid.of(0, i + cellNum)));
|
|
|
+ mergeCellRuleExamStudent.getMapping().add(new MergeCellRule.GridRule(MergeCellRule.Grid.of(rowRenderDataExamStudent.length - 2, i), MergeCellRule.Grid.of(rowRenderDataExamStudent.length - 2, i + cellNum)));
|
|
|
+ }
|
|
|
}
|
|
|
- initNum.set(initNum.get() + increaseNum);
|
|
|
- });
|
|
|
+ }
|
|
|
mergeCellRuleExamStudent.getMapping().add(new MergeCellRule.GridRule(MergeCellRule.Grid.of(rowRenderDataExamStudent.length - 1, 4), MergeCellRule.Grid.of(rowRenderDataExamStudent.length - 1, cellSize - 1)));
|
|
|
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)));
|
|
|
|