Эх сурвалжийг харах

万盛计量 本期完成为0不计算百分比

cr 2 сар өмнө
parent
commit
828f06c541

+ 8 - 3
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/FormulaServiceImpl.java

@@ -3771,12 +3771,14 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
             BigDecimal o=getMeterFormNumber(periodId,key,"now_money");
             if (ObjectUtil.isNotEmpty(o)) {
                 monthlyReport.setNowMoney(o);
-                BigDecimal percentage = monthlyReport.getNowMoney().divide(monthlyReport.getAfterCurrentMeterMoney(), 10, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                BigDecimal percentage=BigDecimal.ZERO;
+                if(o.compareTo(BigDecimal.ZERO)!=0&&monthlyReport.getAfterCurrentMeterMoney().compareTo(BigDecimal.ZERO)!=0){
+                    percentage=monthlyReport.getNowMoney().divide(monthlyReport.getAfterCurrentMeterMoney(), 10, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                }
                 percentage = percentage.setScale(2, BigDecimal.ROUND_HALF_UP); // 设置小数位数为2
                 if (percentage.compareTo(BigDecimal.ZERO) != 0) {
                     monthlyReport.setNowC(percentage + "%");
                 }
-
             }
             //到本期末完成
             //如果有到上期末完成金额,和本期完成金额  则到本期末完成金额=到上期末完成金额+本期完成金额
@@ -3792,7 +3794,10 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                 monthlyReport.setNowEndMoney(BigDecimal.ZERO);
             }
             if (ObjectUtil.isNotEmpty(monthlyReport.getNowEndMoney())) {
-                BigDecimal percentage = monthlyReport.getNowEndMoney().divide(monthlyReport.getAfterCurrentMeterMoney(), 10, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                BigDecimal percentage=BigDecimal.ZERO;
+                if(o.compareTo(BigDecimal.ZERO)!=0&&monthlyReport.getAfterCurrentMeterMoney().compareTo(BigDecimal.ZERO)!=0){
+                    percentage= monthlyReport.getNowEndMoney().divide(monthlyReport.getAfterCurrentMeterMoney(), 10, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                }
                 percentage = percentage.setScale(2, BigDecimal.ROUND_HALF_UP); // 设置
                 if (percentage.compareTo(BigDecimal.ZERO) != 0) {
                     monthlyReport.setNowEndC(percentage + "%");