Browse Source

专业达成度报表修改

wangliang 1 year ago
parent
commit
e0163b0f58

+ 2 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ObeCourseRequirementMatrixServiceImpl.java

@@ -31,10 +31,7 @@ import org.springframework.util.LinkedMultiValueMap;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -107,7 +104,7 @@ public class ObeCourseRequirementMatrixServiceImpl extends ServiceImpl<ObeCourse
                         MatrixSubRequirementDto matrixSubRequirementDto = new MatrixSubRequirementDto();
                         matrixSubRequirementDto.setId(tpMatrix.getId());
                         matrixSubRequirementDto.setName(tpMatrix.getRequirementSortNum() + "-" + tpMatrix.getSubRequirementSortNum());
-                        matrixSubRequirementDto.setScale(new BigDecimal(tpMatrix.getScale()));
+                        matrixSubRequirementDto.setScale(Objects.nonNull(tpMatrix.getScale()) ? new BigDecimal(tpMatrix.getScale()) : new BigDecimal(0));
                         matrixSubRequirementDto.setContent(tpMatrix.getRequirementContent());
                         matrixSubRequirementDto.setSubRequirementId(tpMatrix.getObeSubRequirementId());
                         return matrixSubRequirementDto;

+ 5 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ObeCourseRequirementReportServiceImpl.java

@@ -211,7 +211,11 @@ public class ObeCourseRequirementReportServiceImpl extends ServiceImpl<ObeCourse
                 for (ObeSubRequirementsDto obeSubRequirementsDto : obeSubRequirementsDtoList) {
                     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));
+                        if (obeRequirementDto.getMatrixDegree().doubleValue() == 0) {
+                            obeRequirementDto.setMatrixDegree(new BigDecimal(degree).setScale(2, BigDecimal.ROUND_HALF_UP));
+                        } else if (degree.doubleValue() < obeRequirementDto.getMatrixDegree().doubleValue()) {
+                            obeRequirementDto.setMatrixDegree(new BigDecimal(degree).setScale(2, BigDecimal.ROUND_HALF_UP));
+                        }
                     }
                 }
                 Double degree = obeRequirementDtoList.stream().filter(x -> x.getMatrixDegree().doubleValue() > 0).mapToDouble(x -> x.getMatrixDegree().doubleValue()).min().orElse(0.0d);