|
@@ -791,7 +791,7 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
|
if (!Objects.equals(trExamStudent.getName(), "平均分")
|
|
|
&& !Objects.equals(trExamStudent.getName(), "各课程目标平均分")
|
|
|
&& Objects.nonNull(matrixDegree)) {
|
|
|
- this.getScatterValue(scatterYMap, reportExamStudentTargetDto);
|
|
|
+ trBasicInfoService.getScatterValue(scatterYMap, reportExamStudentTargetDto);
|
|
|
}
|
|
|
ReportExamStudentUsualScoreDto reportExamStudentUsualScoreDto = reportExamStudentTargetDto.getUsualScore();
|
|
|
//平常作业
|
|
@@ -846,16 +846,7 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
|
examStudent_row.setRowStyle(this.getRowStyle());
|
|
|
rowRenderDataExamStudent[i + 2] = examStudent_row;
|
|
|
}
|
|
|
- LinkedMultiValueMap<Long, Map<String, String>> finalScatterYMap = new LinkedMultiValueMap<>();
|
|
|
- for (Map.Entry<Long, ConcurrentMap<String, Integer>> entry : scatterYMap.entrySet()) {
|
|
|
- ConcurrentMap<String, Integer> concurrentMap = entry.getValue();
|
|
|
- for (Map.Entry<String, Integer> entry1 : concurrentMap.entrySet()) {
|
|
|
- Map<String, String> mapNew = new HashMap<>();
|
|
|
- mapNew.put(entry1.getKey(), entry1.getValue().toString());
|
|
|
- finalScatterYMap.add(entry.getKey(), mapNew);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
+ LinkedMultiValueMap<Long, Map<String, String>> finalScatterYMap = trBasicInfoService.getFinalScatterValue(scatterYMap);
|
|
|
List<CellRenderData> cellRenderData_last_cell = new ArrayList<>();
|
|
|
RowRenderData examStudent_last_row = new RowRenderData();
|
|
|
cellRenderData_last_cell.add(Cells.of("课程达成度").create());
|
|
@@ -1424,8 +1415,9 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
|
*
|
|
|
* @param scatterYMap
|
|
|
* @param reportExamStudentTargetDto
|
|
|
+ * @return
|
|
|
*/
|
|
|
- protected void getScatterValue(Map<Long, ConcurrentMap<String, Integer>> scatterYMap, ReportExamStudentTargetDto reportExamStudentTargetDto) {
|
|
|
+ public Map<Long, ConcurrentMap<String, Integer>> getScatterValue(Map<Long, ConcurrentMap<String, Integer>> scatterYMap, ReportExamStudentTargetDto reportExamStudentTargetDto) {
|
|
|
ConcurrentMap<String, Integer> map = null;
|
|
|
if (!scatterYMap.containsKey(reportExamStudentTargetDto.getTargetId())) {
|
|
|
map = new ConcurrentHashMap<>();
|
|
@@ -1440,5 +1432,26 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
|
}
|
|
|
}
|
|
|
scatterYMap.put(reportExamStudentTargetDto.getTargetId(), map);
|
|
|
+ return scatterYMap;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取最终散点图值
|
|
|
+ *
|
|
|
+ * @param scatterYMap
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public LinkedMultiValueMap<Long, Map<String, String>> getFinalScatterValue(Map<Long, ConcurrentMap<String, Integer>> scatterYMap) {
|
|
|
+ LinkedMultiValueMap<Long, Map<String, String>> finalScatterYMap = new LinkedMultiValueMap<>();
|
|
|
+ for (Map.Entry<Long, ConcurrentMap<String, Integer>> entry : scatterYMap.entrySet()) {
|
|
|
+ ConcurrentMap<String, Integer> concurrentMap = entry.getValue();
|
|
|
+ for (Map.Entry<String, Integer> entry1 : concurrentMap.entrySet()) {
|
|
|
+ Map<String, String> mapNew = new HashMap<>();
|
|
|
+ mapNew.put(entry1.getKey(), entry1.getValue().toString());
|
|
|
+ finalScatterYMap.add(entry.getKey(), mapNew);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return finalScatterYMap;
|
|
|
}
|
|
|
}
|