yumeng 1 settimana fa
parent
commit
4b22d072b5

+ 16 - 4
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/service/impl/MaterialStareServiceImpl.java

@@ -2066,10 +2066,22 @@ public class MaterialStareServiceImpl implements MaterialStareService {
         if (rows == null || rows.isEmpty()) {
             return;
         }
-        double sectionCost = rows.stream().filter(row -> row != null).mapToDouble(KuaiShouOperateGroupVo::getTotalCost).sum();
-        long totalOperationNum = rows.stream().filter(row -> row != null).mapToLong(KuaiShouOperateGroupVo::getOperationNum).sum();
-        long totalProjectNum = rows.stream().filter(row -> row != null).mapToLong(KuaiShouOperateGroupVo::getProjectNum).sum();
-        long totalAccountNum = rows.stream().filter(row -> row != null).mapToLong(KuaiShouOperateGroupVo::getAccountNum).sum();
+        double sectionCost = rows.stream()
+                .filter(row -> row != null && row.getTotalCost() != null)
+                .mapToDouble(KuaiShouOperateGroupVo::getTotalCost)
+                .sum();
+        long totalOperationNum = rows.stream()
+                .filter(row -> row != null && row.getOperationNum() != null)
+                .mapToLong(KuaiShouOperateGroupVo::getOperationNum)
+                .sum();
+        long totalProjectNum = rows.stream()
+                .filter(row -> row != null)
+                .mapToLong(KuaiShouOperateGroupVo::getProjectNum)
+                .sum();
+        long totalAccountNum = rows.stream()
+                .filter(row -> row != null)
+                .mapToLong(KuaiShouOperateGroupVo::getAccountNum)
+                .sum();
         double averagePeopleCost = totalOperationNum <= 0 ? 0D : sectionCost / totalOperationNum;
         double averageAccountNum = totalOperationNum <= 0 ? 0D : (double) totalAccountNum / totalOperationNum;
         DecimalFormat df = new DecimalFormat("#.000");