|
@@ -114,22 +114,22 @@ public class ObeCourseRequirementReportServiceImpl extends ServiceImpl<ObeCourse
|
|
obeSubRequirementsDtoList.add(obeSubRequirementsDto);
|
|
obeSubRequirementsDtoList.add(obeSubRequirementsDto);
|
|
if (Objects.nonNull(matrixSubRequirementDto.getScale())) {
|
|
if (Objects.nonNull(matrixSubRequirementDto.getScale())) {
|
|
//多个课程目标关联同一个指标点
|
|
//多个课程目标关联同一个指标点
|
|
- if (matrixSubRequirementIdMap.containsKey(matrixSubRequirementDto.getId())) {
|
|
|
|
- List<ObeSubRequirementsDto> obeRequirementsDtoList = matrixSubRequirementIdMap.get(matrixSubRequirementDto.getId());
|
|
|
|
|
|
+ if (matrixSubRequirementIdMap.containsKey(matrixSubRequirementDto.getSubRequirementId())) {
|
|
|
|
+ List<ObeSubRequirementsDto> obeRequirementsDtoList = matrixSubRequirementIdMap.get(matrixSubRequirementDto.getSubRequirementId());
|
|
Map<Long, CourseTargetWebDto> map = obeRequirementsDtoList.stream().collect(Collectors.toMap(ObeSubRequirementsDto::getTargetId, Function.identity(), (dto1, dto2) -> dto1));
|
|
Map<Long, CourseTargetWebDto> map = obeRequirementsDtoList.stream().collect(Collectors.toMap(ObeSubRequirementsDto::getTargetId, Function.identity(), (dto1, dto2) -> dto1));
|
|
- CourseWeightDto courseWeightDto = cultureProgramRequirementIdMap.get(matrixSubRequirementDto.getId());
|
|
|
|
|
|
+ CourseWeightDto courseWeightDto = cultureProgramRequirementIdMap.get(matrixSubRequirementDto.getSubRequirementId());
|
|
if (Objects.nonNull(courseWeightDto)) {
|
|
if (Objects.nonNull(courseWeightDto)) {
|
|
CourseTargetWebDto courseTargetWebDto = courseTargetWebDtoMap.get(courseWeightDto.getCourseTargetId());
|
|
CourseTargetWebDto courseTargetWebDto = courseTargetWebDtoMap.get(courseWeightDto.getCourseTargetId());
|
|
if (!map.containsKey(courseTargetWebDto.getTargetId())) {
|
|
if (!map.containsKey(courseTargetWebDto.getTargetId())) {
|
|
obeRequirementsDtoList.add(new ObeSubRequirementsDto(courseTargetWebDto, matrixSubRequirementDto));
|
|
obeRequirementsDtoList.add(new ObeSubRequirementsDto(courseTargetWebDto, matrixSubRequirementDto));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- matrixSubRequirementIdMap.put(matrixSubRequirementDto.getId(), obeRequirementsDtoList);
|
|
|
|
|
|
+ matrixSubRequirementIdMap.put(matrixSubRequirementDto.getSubRequirementId(), obeRequirementsDtoList);
|
|
} else {
|
|
} else {
|
|
- CourseWeightDto courseWeightDto = cultureProgramRequirementIdMap.get(matrixSubRequirementDto.getId());
|
|
|
|
|
|
+ CourseWeightDto courseWeightDto = cultureProgramRequirementIdMap.get(matrixSubRequirementDto.getSubRequirementId());
|
|
if (Objects.nonNull(courseWeightDto)) {
|
|
if (Objects.nonNull(courseWeightDto)) {
|
|
CourseTargetWebDto courseTargetWebDto = courseTargetWebDtoMap.get(courseWeightDto.getCourseTargetId());
|
|
CourseTargetWebDto courseTargetWebDto = courseTargetWebDtoMap.get(courseWeightDto.getCourseTargetId());
|
|
- matrixSubRequirementIdMap.put(matrixSubRequirementDto.getId(), new ArrayList<>(Arrays.asList(new ObeSubRequirementsDto(courseTargetWebDto, matrixSubRequirementDto))));
|
|
|
|
|
|
+ matrixSubRequirementIdMap.put(matrixSubRequirementDto.getSubRequirementId(), new ArrayList<>(Arrays.asList(new ObeSubRequirementsDto(courseTargetWebDto, matrixSubRequirementDto))));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -140,7 +140,7 @@ public class ObeCourseRequirementReportServiceImpl extends ServiceImpl<ObeCourse
|
|
//计算各个课程的指标点达成值
|
|
//计算各个课程的指标点达成值
|
|
if (!CollectionUtils.isEmpty(matrixSubRequirementIdMap)) {
|
|
if (!CollectionUtils.isEmpty(matrixSubRequirementIdMap)) {
|
|
for (Map.Entry<Long, List<ObeSubRequirementsDto>> entry : matrixSubRequirementIdMap.entrySet()) {
|
|
for (Map.Entry<Long, List<ObeSubRequirementsDto>> entry : matrixSubRequirementIdMap.entrySet()) {
|
|
- Double evaluationValue = entry.getValue().stream().mapToDouble(x -> x.getEvaluationValue().doubleValue()).average().orElse(0.0d);
|
|
|
|
|
|
+ Double evaluationValue = entry.getValue().stream().mapToDouble(x -> Objects.nonNull(x.getEvaluationValue()) ? x.getEvaluationValue().doubleValue() : 0.0d).average().orElse(0.0d);
|
|
ObeSubRequirementsDto obeSubRequirementsDto = entry.getValue().get(0);
|
|
ObeSubRequirementsDto obeSubRequirementsDto = entry.getValue().get(0);
|
|
BigDecimal bigDecimal = new BigDecimal(evaluationValue).multiply(new BigDecimal(obeSubRequirementsDto.getScale())).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
BigDecimal bigDecimal = new BigDecimal(evaluationValue).multiply(new BigDecimal(obeSubRequirementsDto.getScale())).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
entry.getValue().stream().peek(x -> x.setMatrixDegree(bigDecimal)).collect(Collectors.toList());
|
|
entry.getValue().stream().peek(x -> x.setMatrixDegree(bigDecimal)).collect(Collectors.toList());
|
|
@@ -152,15 +152,15 @@ public class ObeCourseRequirementReportServiceImpl extends ServiceImpl<ObeCourse
|
|
for (ObeRequirementDto o : obeRequirementDtoList) {
|
|
for (ObeRequirementDto o : obeRequirementDtoList) {
|
|
List<ObeSubRequirementsDto> obeSubRequirementsDtoList = o.getObeSubRequirements();
|
|
List<ObeSubRequirementsDto> obeSubRequirementsDtoList = o.getObeSubRequirements();
|
|
for (ObeSubRequirementsDto obeSubRequirementsDto : obeSubRequirementsDtoList) {
|
|
for (ObeSubRequirementsDto obeSubRequirementsDto : obeSubRequirementsDtoList) {
|
|
- if (matrixSubRequirementIdMap.containsKey(obeSubRequirementsDto.getId())) {
|
|
|
|
- obeSubRequirementsDto.setMatrixDegree(matrixSubRequirementIdMap.get(obeSubRequirementsDto.getId()).get(0).getMatrixDegree());
|
|
|
|
|
|
+ if (matrixSubRequirementIdMap.containsKey(obeSubRequirementsDto.getSubRequirementId())) {
|
|
|
|
+ obeSubRequirementsDto.setMatrixDegree(matrixSubRequirementIdMap.get(obeSubRequirementsDto.getSubRequirementId()).get(0).getMatrixDegree());
|
|
}
|
|
}
|
|
- if (obeSubRequirementsDtoMap.containsKey(obeSubRequirementsDto.getId())) {
|
|
|
|
- List<ObeSubRequirementsDto> obeSubRequirementsDtoListTemp = obeSubRequirementsDtoMap.get(obeSubRequirementsDto.getId());
|
|
|
|
|
|
+ if (obeSubRequirementsDtoMap.containsKey(obeSubRequirementsDto.getSubRequirementId())) {
|
|
|
|
+ List<ObeSubRequirementsDto> obeSubRequirementsDtoListTemp = obeSubRequirementsDtoMap.get(obeSubRequirementsDto.getSubRequirementId());
|
|
obeSubRequirementsDtoListTemp.add(obeSubRequirementsDto);
|
|
obeSubRequirementsDtoListTemp.add(obeSubRequirementsDto);
|
|
- obeSubRequirementsDtoMap.put(obeSubRequirementsDto.getId(), obeSubRequirementsDtoListTemp);
|
|
|
|
|
|
+ obeSubRequirementsDtoMap.put(obeSubRequirementsDto.getSubRequirementId(), obeSubRequirementsDtoListTemp);
|
|
} else {
|
|
} else {
|
|
- obeSubRequirementsDtoMap.put(obeSubRequirementsDto.getId(), new ArrayList<>(Arrays.asList(obeSubRequirementsDto)));
|
|
|
|
|
|
+ obeSubRequirementsDtoMap.put(obeSubRequirementsDto.getSubRequirementId(), new ArrayList<>(Arrays.asList(obeSubRequirementsDto)));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -209,8 +209,8 @@ public class ObeCourseRequirementReportServiceImpl extends ServiceImpl<ObeCourse
|
|
for (ObeRequirementDto obeRequirementDto : obeRequirementDtoList) {
|
|
for (ObeRequirementDto obeRequirementDto : obeRequirementDtoList) {
|
|
List<ObeSubRequirementsDto> obeSubRequirementsDtoList = obeRequirementDto.getObeSubRequirements();
|
|
List<ObeSubRequirementsDto> obeSubRequirementsDtoList = obeRequirementDto.getObeSubRequirements();
|
|
for (ObeSubRequirementsDto obeSubRequirementsDto : obeSubRequirementsDtoList) {
|
|
for (ObeSubRequirementsDto obeSubRequirementsDto : obeSubRequirementsDtoList) {
|
|
- if (obeSubRequirementsDtoMap.containsKey(obeSubRequirementsDto.getId())) {
|
|
|
|
- Double degree = obeSubRequirementsDtoMap.get(obeSubRequirementsDto.getId()).stream().mapToDouble(x -> x.getMatrixDegree().doubleValue()).sum();
|
|
|
|
|
|
+ if (obeSubRequirementsDtoMap.containsKey(obeSubRequirementsDto.getSubRequirementId())) {
|
|
|
|
+ Double degree = obeSubRequirementsDtoMap.get(obeSubRequirementsDto.getSubRequirementId()).stream().mapToDouble(x -> x.getMatrixDegree().doubleValue()).sum();
|
|
obeRequirementDto.setMatrixDegree(new BigDecimal(degree).setScale(2, BigDecimal.ROUND_HALF_UP));
|
|
obeRequirementDto.setMatrixDegree(new BigDecimal(degree).setScale(2, BigDecimal.ROUND_HALF_UP));
|
|
}
|
|
}
|
|
}
|
|
}
|