jiangbiao 2 жил өмнө
parent
commit
b83e8b25c9

+ 15 - 7
master/src/main/java/com/ruoyi/project/statistics/controller/StatisticsController.java

@@ -230,12 +230,17 @@ public class StatisticsController extends BaseController {
             }
         }
         // 排放量(t/年)
-        result.setPfl(new BigDecimal(String.valueOf(zpfl)).divide(new BigDecimal("1000"), 4, RoundingMode.HALF_UP).stripTrailingZeros().toString());
+        BigDecimal pfl = new BigDecimal(String.valueOf(zpfl)).divide(new BigDecimal("1000"), 4, RoundingMode.HALF_UP).stripTrailingZeros();
+        result.setPfl(pfl.compareTo(BigDecimal.ZERO) < 0 ? "0" : pfl.toString());
         // 泄漏量(t/年)
-        result.setXll(new BigDecimal(String.valueOf(zxll)).divide(new BigDecimal("1000"), 4, RoundingMode.HALF_UP).stripTrailingZeros().toString());
+        BigDecimal xll = new BigDecimal(String.valueOf(zxll)).divide(new BigDecimal("1000"), 4, RoundingMode.HALF_UP).stripTrailingZeros();
+        result.setXll(xll.compareTo(BigDecimal.ZERO) < 0 ? "0" : xll.toString());
         // 减排量(t/年)
-        result.setJpl(new BigDecimal(String.valueOf(zpfl - sjpfl)).divide(new BigDecimal("1000"), 4, RoundingMode.HALF_UP).stripTrailingZeros().toString());
-        result.setSjpfl(new BigDecimal(String.valueOf(sjpfl)).divide(new BigDecimal("1000"), 4, RoundingMode.HALF_UP).stripTrailingZeros().toString());
+        BigDecimal jpl = new BigDecimal(String.valueOf(zpfl - sjpfl)).divide(new BigDecimal("1000"), 4, RoundingMode.HALF_UP).stripTrailingZeros();
+        result.setJpl(jpl.compareTo(BigDecimal.ZERO) < 0 ? "0" : jpl.toString());
+        // 实际排放量
+        BigDecimal b_sjpfl = new BigDecimal(String.valueOf(sjpfl)).divide(new BigDecimal("1000"), 4, RoundingMode.HALF_UP).stripTrailingZeros();
+        result.setSjpfl(b_sjpfl.compareTo(BigDecimal.ZERO) < 0 ? "0" : b_sjpfl.toString());
         return result;
     }
 
@@ -366,11 +371,14 @@ public class StatisticsController extends BaseController {
                 }
                 if (i != 0 && (i + 1 == countPfl.size() || !countPfl.get(i + 1).getPointType().equals(item.getPointType()))) {
                     // 排放量(t/年)
-                    result.setPfl(new BigDecimal(String.valueOf(zpfl)).divide(new BigDecimal("1000"), 8, RoundingMode.HALF_UP).stripTrailingZeros().toString());
+                    BigDecimal pfl = new BigDecimal(String.valueOf(zpfl)).divide(new BigDecimal("1000"), 8, RoundingMode.HALF_UP).stripTrailingZeros();
+                    result.setPfl(pfl.compareTo(BigDecimal.ZERO) < 0 ? "0" : pfl.toString());
                     // 泄漏量(t/年)
-                    result.setXll(new BigDecimal(String.valueOf(zxll)).divide(new BigDecimal("1000"), 8, RoundingMode.HALF_UP).stripTrailingZeros().toString());
+                    BigDecimal xll = new BigDecimal(String.valueOf(zxll)).divide(new BigDecimal("1000"), 8, RoundingMode.HALF_UP).stripTrailingZeros();
+                    result.setXll(xll.compareTo(BigDecimal.ZERO) < 0 ? "0" : xll.toString());
                     // 减排量(t/年)
-                    result.setJpl(new BigDecimal(String.valueOf(zpfl - sjpfl)).divide(new BigDecimal("1000"), 8, RoundingMode.HALF_UP).stripTrailingZeros().toString());
+                    BigDecimal jpl = new BigDecimal(String.valueOf(zpfl - sjpfl)).divide(new BigDecimal("1000"), 8, RoundingMode.HALF_UP).stripTrailingZeros();
+                    result.setJpl(jpl.compareTo(BigDecimal.ZERO) < 0 ? "0" : jpl.toString());
                     resultList.add(result);
                 }
             }