Browse Source

项目数量分析、预算金额分析,返回BigDecimal 数据保留两位小数

sunhh 2 năm trước cách đây
mục cha
commit
a066349bac

+ 67 - 67
purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java

@@ -1031,7 +1031,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             spareExpertNumber = 0;
         }
 
-        if(technicalExpertNumber + economicExpertNumber + legalAffairsExpertNumber + spareExpertNumber ==0){
+        if (technicalExpertNumber + economicExpertNumber + legalAffairsExpertNumber + spareExpertNumber == 0) {
             throw new Exception("必须至少填写一个数量");
         }
         String professional = pmBaseExpertExtractReqVo.getProfessional();
@@ -2379,16 +2379,16 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             BigDecimal monthonmonthNum3 = new BigDecimal(0.00);
             BigDecimal monthonmonthNum4 = new BigDecimal(0.00);
             if (!"0".equals(countNumOld4)) {
-                monthonmonthNum1 = (countNum11.subtract(countNumOld44)).divide(countNumOld44).multiply(new BigDecimal("100"));
+                monthonmonthNum1 = (countNum11.subtract(countNumOld44)).divide(countNumOld44, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNum1)) {
-                monthonmonthNum2 = (countNum22.subtract(countNum11)).divide(countNum11).multiply(new BigDecimal("100"));
+                monthonmonthNum2 = (countNum22.subtract(countNum11)).divide(countNum11, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNum2)) {
-                monthonmonthNum3 = (countNum33.subtract(countNum22)).divide(countNum22).multiply(new BigDecimal("100"));
+                monthonmonthNum3 = (countNum33.subtract(countNum22)).divide(countNum22, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNum3)) {
-                monthonmonthNum4 = (countNum44.subtract(countNum33)).divide(countNum33).multiply(new BigDecimal("100"));
+                monthonmonthNum4 = (countNum44.subtract(countNum33)).divide(countNum33, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             map1.put("monthonmonthNum", monthonmonthNum1.toString());
             map2.put("monthonmonthNum", monthonmonthNum2.toString());
@@ -2400,16 +2400,16 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             BigDecimal yearonyearNum3 = new BigDecimal(0.00);
             BigDecimal yearonyearNum4 = new BigDecimal(0.00);
             if (!"0".equals(countNumOld1)) {
-                yearonyearNum1 = (countNum11.subtract(countNumOld11)).divide(countNumOld11).multiply(new BigDecimal("100"));
+                yearonyearNum1 = (countNum11.subtract(countNumOld11)).divide(countNumOld11, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNumOld2)) {
-                yearonyearNum2 = (countNum22.subtract(countNumOld22)).divide(countNumOld22).multiply(new BigDecimal("100"));
+                yearonyearNum2 = (countNum22.subtract(countNumOld22)).divide(countNumOld22, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNumOld3)) {
-                yearonyearNum3 = (countNum33.subtract(countNumOld33)).divide(countNumOld33).multiply(new BigDecimal("100"));
+                yearonyearNum3 = (countNum33.subtract(countNumOld33)).divide(countNumOld33, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNumOld4)) {
-                yearonyearNum4 = (countNum44.subtract(countNumOld44)).divide(countNumOld44).multiply(new BigDecimal("100"));
+                yearonyearNum4 = (countNum44.subtract(countNumOld44)).divide(countNumOld44, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             map1.put("yearonyearNum", yearonyearNum1.toString());
             map2.put("yearonyearNum", yearonyearNum2.toString());
@@ -2421,16 +2421,16 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             BigDecimal monthonmonthAmount3 = new BigDecimal(0.00);
             BigDecimal monthonmonthAmount4 = new BigDecimal(0.00);
             if (!"0".equals(evaluationSumOld4)) {
-                monthonmonthAmount1 = (evaluationSum11.subtract(evaluationSumOld44)).divide(evaluationSumOld44).multiply(new BigDecimal("100"));
+                monthonmonthAmount1 = (evaluationSum11.subtract(evaluationSumOld44)).divide(evaluationSumOld44, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSum1)) {
-                monthonmonthAmount2 = (evaluationSum22.subtract(evaluationSum11)).divide(evaluationSum11).multiply(new BigDecimal("100"));
+                monthonmonthAmount2 = (evaluationSum22.subtract(evaluationSum11)).divide(evaluationSum11, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSum2)) {
-                monthonmonthAmount3 = (evaluationSum33.subtract(evaluationSum22)).divide(evaluationSum22).multiply(new BigDecimal("100"));
+                monthonmonthAmount3 = (evaluationSum33.subtract(evaluationSum22)).divide(evaluationSum22, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSum3)) {
-                monthonmonthAmount4 = (evaluationSum44.subtract(evaluationSum33)).divide(evaluationSum33).multiply(new BigDecimal("100"));
+                monthonmonthAmount4 = (evaluationSum44.subtract(evaluationSum33)).divide(evaluationSum33, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             map1.put("monthonmonthAmount", monthonmonthAmount1.toString());
             map2.put("monthonmonthAmount", monthonmonthAmount2.toString());
@@ -2442,16 +2442,16 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             BigDecimal yearonyearAmount3 = new BigDecimal(0.00);
             BigDecimal yearonyearAmount4 = new BigDecimal(0.00);
             if (!"0".equals(evaluationSumOld1)) {
-                yearonyearAmount1 = (evaluationSum11.subtract(evaluationSumOld11)).divide(evaluationSumOld11).multiply(new BigDecimal("100"));
+                yearonyearAmount1 = (evaluationSum11.subtract(evaluationSumOld11)).divide(evaluationSumOld11, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSumOld2)) {
-                yearonyearAmount2 = (evaluationSum22.subtract(evaluationSumOld22)).divide(evaluationSumOld22).multiply(new BigDecimal("100"));
+                yearonyearAmount2 = (evaluationSum22.subtract(evaluationSumOld22)).divide(evaluationSumOld22, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSumOld3)) {
-                yearonyearAmount3 = (evaluationSum33.subtract(evaluationSumOld33)).divide(evaluationSumOld33).multiply(new BigDecimal("100"));
+                yearonyearAmount3 = (evaluationSum33.subtract(evaluationSumOld33)).divide(evaluationSumOld33, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSumOld4)) {
-                yearonyearAmount4 = (evaluationSum44.subtract(evaluationSumOld44)).divide(evaluationSumOld44).multiply(new BigDecimal("100"));
+                yearonyearAmount4 = (evaluationSum44.subtract(evaluationSumOld44)).divide(evaluationSumOld44, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             map1.put("yearonyearAmount", yearonyearAmount1.toString());
             map2.put("yearonyearAmount", yearonyearAmount2.toString());
@@ -2472,7 +2472,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
                 boolean isYear = false;
                 for (Map<String, String> map : listMap) {
                     String yy = String.valueOf(map.get("yy"));
-                    String yyNew = yy.replaceAll("^0*","");
+                    String yyNew = yy.replaceAll("^0*", "");
                     if (i == Integer.valueOf(yyNew)) {
                         isYear = true;
                     }
@@ -2559,7 +2559,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
                 boolean isYear = false;
                 for (Map<String, String> map : listMapOldMonth) {
                     String yy = String.valueOf(map.get("yy"));
-                    String yyNew = yy.replaceAll("^0*","");
+                    String yyNew = yy.replaceAll("^0*", "");
                     if (i == Integer.valueOf(yyNew)) {
                         isYear = true;
                     }
@@ -2702,40 +2702,40 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             BigDecimal monthonmonthNum11 = new BigDecimal(0.00);
             BigDecimal monthonmonthNum12 = new BigDecimal(0.00);
             if (!"0".equals(countNumOld12)) {
-                monthonmonthNum1 = (countNum111.subtract(countNumOld1212)).divide(countNumOld1212).multiply(new BigDecimal("100"));
+                monthonmonthNum1 = (countNum111.subtract(countNumOld1212)).divide(countNumOld1212, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNum1)) {
-                monthonmonthNum2 = (countNum22.subtract(countNum111)).divide(countNum111).multiply(new BigDecimal("100"));
+                monthonmonthNum2 = (countNum22.subtract(countNum111)).divide(countNum111, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNum2)) {
-                monthonmonthNum3 = (countNum33.subtract(countNum22)).divide(countNum22).multiply(new BigDecimal("100"));
+                monthonmonthNum3 = (countNum33.subtract(countNum22)).divide(countNum22, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNum3)) {
-                monthonmonthNum4 = (countNum44.subtract(countNum33)).divide(countNum33).multiply(new BigDecimal("100"));
+                monthonmonthNum4 = (countNum44.subtract(countNum33)).divide(countNum33, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNum4)) {
-                monthonmonthNum5 = (countNum55.subtract(countNum44)).divide(countNum44).multiply(new BigDecimal("100"));
+                monthonmonthNum5 = (countNum55.subtract(countNum44)).divide(countNum44, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNum5)) {
-                monthonmonthNum6 = (countNum66.subtract(countNum55)).divide(countNum55).multiply(new BigDecimal("100"));
+                monthonmonthNum6 = (countNum66.subtract(countNum55)).divide(countNum55, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNum6)) {
-                monthonmonthNum7 = (countNum77.subtract(countNum66)).divide(countNum66).multiply(new BigDecimal("100"));
+                monthonmonthNum7 = (countNum77.subtract(countNum66)).divide(countNum66, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNum7)) {
-                monthonmonthNum8 = (countNum88.subtract(countNum77)).divide(countNum77).multiply(new BigDecimal("100"));
+                monthonmonthNum8 = (countNum88.subtract(countNum77)).divide(countNum77, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNum8)) {
-                monthonmonthNum9 = (countNum99.subtract(countNum88)).divide(countNum88).multiply(new BigDecimal("100"));
+                monthonmonthNum9 = (countNum99.subtract(countNum88)).divide(countNum88, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNum9)) {
-                monthonmonthNum10 = (countNum1010.subtract(countNum99)).divide(countNum99).multiply(new BigDecimal("100"));
+                monthonmonthNum10 = (countNum1010.subtract(countNum99)).divide(countNum99, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNum10)) {
-                monthonmonthNum11 = (countNum1111.subtract(countNum1010)).divide(countNum1010).multiply(new BigDecimal("100"));
+                monthonmonthNum11 = (countNum1111.subtract(countNum1010)).divide(countNum1010, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNum11)) {
-                monthonmonthNum12 = (countNum1212.subtract(countNum1111)).divide(countNum1111).multiply(new BigDecimal("100"));
+                monthonmonthNum12 = (countNum1212.subtract(countNum1111)).divide(countNum1111, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             map1.put("monthonmonthNum", monthonmonthNum1.toString());
             map2.put("monthonmonthNum", monthonmonthNum2.toString());
@@ -2763,40 +2763,40 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             BigDecimal yearonyearNum11 = new BigDecimal(0.00);
             BigDecimal yearonyearNum12 = new BigDecimal(0.00);
             if (!"0".equals(countNumOld1)) {
-                yearonyearNum1 = (countNum111.subtract(countNumOld111)).divide(countNumOld111).multiply(new BigDecimal("100"));
+                yearonyearNum1 = (countNum111.subtract(countNumOld111)).divide(countNumOld111, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNumOld2)) {
-                yearonyearNum2 = (countNum22.subtract(countNumOld22)).divide(countNumOld22).multiply(new BigDecimal("100"));
+                yearonyearNum2 = (countNum22.subtract(countNumOld22)).divide(countNumOld22, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNumOld3)) {
-                yearonyearNum3 = (countNum33.subtract(countNumOld33)).divide(countNumOld33).multiply(new BigDecimal("100"));
+                yearonyearNum3 = (countNum33.subtract(countNumOld33)).divide(countNumOld33, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNumOld4)) {
-                yearonyearNum4 = (countNum44.subtract(countNumOld44)).divide(countNumOld44).multiply(new BigDecimal("100"));
+                yearonyearNum4 = (countNum44.subtract(countNumOld44)).divide(countNumOld44, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNumOld5)) {
-                yearonyearNum5 = (countNum55.subtract(countNumOld55)).divide(countNumOld55).multiply(new BigDecimal("100"));
+                yearonyearNum5 = (countNum55.subtract(countNumOld55)).divide(countNumOld55, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNumOld6)) {
-                yearonyearNum6 = (countNum66.subtract(countNumOld66)).divide(countNumOld66).multiply(new BigDecimal("100"));
+                yearonyearNum6 = (countNum66.subtract(countNumOld66)).divide(countNumOld66, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNumOld7)) {
-                yearonyearNum7 = (countNum77.subtract(countNumOld77)).divide(countNumOld77).multiply(new BigDecimal("100"));
+                yearonyearNum7 = (countNum77.subtract(countNumOld77)).divide(countNumOld77, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNumOld8)) {
-                yearonyearNum8 = (countNum88.subtract(countNumOld88)).divide(countNumOld88).multiply(new BigDecimal("100"));
+                yearonyearNum8 = (countNum88.subtract(countNumOld88)).divide(countNumOld88, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNumOld9)) {
-                yearonyearNum9 = (countNum99.subtract(countNumOld99)).divide(countNumOld99).multiply(new BigDecimal("100"));
+                yearonyearNum9 = (countNum99.subtract(countNumOld99)).divide(countNumOld99, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNumOld10)) {
-                yearonyearNum10 = (countNum1010.subtract(countNumOld1010)).divide(countNumOld1010).multiply(new BigDecimal("100"));
+                yearonyearNum10 = (countNum1010.subtract(countNumOld1010)).divide(countNumOld1010, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNumOld11)) {
-                yearonyearNum11 = (countNum1111.subtract(countNumOld1111)).divide(countNumOld1111).multiply(new BigDecimal("100"));
+                yearonyearNum11 = (countNum1111.subtract(countNumOld1111)).divide(countNumOld1111, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(countNumOld12)) {
-                yearonyearNum12 = (countNum1212.subtract(countNumOld1212)).divide(countNumOld1212).multiply(new BigDecimal("100"));
+                yearonyearNum12 = (countNum1212.subtract(countNumOld1212)).divide(countNumOld1212, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             map1.put("yearonyearNum", yearonyearNum1.toString());
             map2.put("yearonyearNum", yearonyearNum2.toString());
@@ -2824,40 +2824,40 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             BigDecimal monthonmonthAmount11 = new BigDecimal(0.00);
             BigDecimal monthonmonthAmount12 = new BigDecimal(0.00);
             if (!"0".equals(evaluationSumOld12)) {
-                monthonmonthAmount1 = (evaluationSum111.subtract(evaluationSumOld1212)).divide(evaluationSumOld1212).multiply(new BigDecimal("100"));
+                monthonmonthAmount1 = (evaluationSum111.subtract(evaluationSumOld1212)).divide(evaluationSumOld1212, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSum1)) {
-                monthonmonthAmount2 = (evaluationSum22.subtract(evaluationSum111)).divide(evaluationSum111).multiply(new BigDecimal("100"));
+                monthonmonthAmount2 = (evaluationSum22.subtract(evaluationSum111)).divide(evaluationSum111, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSum2)) {
-                monthonmonthAmount3 = (evaluationSum33.subtract(evaluationSum22)).divide(evaluationSum22).multiply(new BigDecimal("100"));
+                monthonmonthAmount3 = (evaluationSum33.subtract(evaluationSum22)).divide(evaluationSum22, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSum3)) {
-                monthonmonthAmount4 = (evaluationSum44.subtract(evaluationSum33)).divide(evaluationSum33).multiply(new BigDecimal("100"));
+                monthonmonthAmount4 = (evaluationSum44.subtract(evaluationSum33)).divide(evaluationSum33, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSum4)) {
-                monthonmonthAmount5 = (evaluationSum55.subtract(evaluationSum44)).divide(evaluationSum44).multiply(new BigDecimal("100"));
+                monthonmonthAmount5 = (evaluationSum55.subtract(evaluationSum44)).divide(evaluationSum44, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSum5)) {
-                monthonmonthAmount6 = (evaluationSum66.subtract(evaluationSum55)).divide(evaluationSum55).multiply(new BigDecimal("100"));
+                monthonmonthAmount6 = (evaluationSum66.subtract(evaluationSum55)).divide(evaluationSum55, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSum6)) {
-                monthonmonthAmount7 = (evaluationSum77.subtract(evaluationSum66)).divide(evaluationSum66).multiply(new BigDecimal("100"));
+                monthonmonthAmount7 = (evaluationSum77.subtract(evaluationSum66)).divide(evaluationSum66, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSum7)) {
-                monthonmonthAmount8 = (evaluationSum88.subtract(evaluationSum77)).divide(evaluationSum77).multiply(new BigDecimal("100"));
+                monthonmonthAmount8 = (evaluationSum88.subtract(evaluationSum77)).divide(evaluationSum77, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSum8)) {
-                monthonmonthAmount9 = (evaluationSum99.subtract(evaluationSum88)).divide(evaluationSum88).multiply(new BigDecimal("100"));
+                monthonmonthAmount9 = (evaluationSum99.subtract(evaluationSum88)).divide(evaluationSum88, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSum9)) {
-                monthonmonthAmount10 = (evaluationSum1010.subtract(evaluationSum99)).divide(evaluationSum99).multiply(new BigDecimal("100"));
+                monthonmonthAmount10 = (evaluationSum1010.subtract(evaluationSum99)).divide(evaluationSum99, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSum10)) {
-                monthonmonthAmount11 = (evaluationSum1111.subtract(evaluationSum1010)).divide(evaluationSum1010).multiply(new BigDecimal("100"));
+                monthonmonthAmount11 = (evaluationSum1111.subtract(evaluationSum1010)).divide(evaluationSum1010, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSum11)) {
-                monthonmonthAmount12 = (evaluationSum1212.subtract(evaluationSum1111)).divide(evaluationSum1111).multiply(new BigDecimal("100"));
+                monthonmonthAmount12 = (evaluationSum1212.subtract(evaluationSum1111)).divide(evaluationSum1111, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             map1.put("monthonmonthAmount", monthonmonthAmount1.toString());
             map2.put("monthonmonthAmount", monthonmonthAmount2.toString());
@@ -2885,40 +2885,40 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             BigDecimal yearonyearAmount11 = new BigDecimal(0.00);
             BigDecimal yearonyearAmount12 = new BigDecimal(0.00);
             if (!"0".equals(evaluationSumOld1)) {
-                yearonyearAmount1 = (evaluationSum111.subtract(evaluationSumOld111)).divide(evaluationSumOld1111).multiply(new BigDecimal("100"));
+                yearonyearAmount1 = (evaluationSum111.subtract(evaluationSumOld111)).divide(evaluationSumOld1111, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSumOld2)) {
-                yearonyearAmount2 = (evaluationSum22.subtract(evaluationSumOld22)).divide(evaluationSumOld22).multiply(new BigDecimal("100"));
+                yearonyearAmount2 = (evaluationSum22.subtract(evaluationSumOld22)).divide(evaluationSumOld22, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSumOld3)) {
-                yearonyearAmount3 = (evaluationSum33.subtract(evaluationSumOld33)).divide(evaluationSumOld33).multiply(new BigDecimal("100"));
+                yearonyearAmount3 = (evaluationSum33.subtract(evaluationSumOld33)).divide(evaluationSumOld33, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSumOld4)) {
-                yearonyearAmount4 = (evaluationSum44.subtract(evaluationSumOld44)).divide(evaluationSumOld44).multiply(new BigDecimal("100"));
+                yearonyearAmount4 = (evaluationSum44.subtract(evaluationSumOld44)).divide(evaluationSumOld44, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSumOld5)) {
-                yearonyearAmount5 = (evaluationSum55.subtract(evaluationSumOld55)).divide(evaluationSumOld44).multiply(new BigDecimal("100"));
+                yearonyearAmount5 = (evaluationSum55.subtract(evaluationSumOld55)).divide(evaluationSumOld44, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSumOld6)) {
-                yearonyearAmount6 = (evaluationSum66.subtract(evaluationSumOld66)).divide(evaluationSumOld44).multiply(new BigDecimal("100"));
+                yearonyearAmount6 = (evaluationSum66.subtract(evaluationSumOld66)).divide(evaluationSumOld44, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSumOld7)) {
-                yearonyearAmount7 = (evaluationSum77.subtract(evaluationSumOld77)).divide(evaluationSumOld44).multiply(new BigDecimal("100"));
+                yearonyearAmount7 = (evaluationSum77.subtract(evaluationSumOld77)).divide(evaluationSumOld44, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSumOld8)) {
-                yearonyearAmount8 = (evaluationSum88.subtract(evaluationSumOld88)).divide(evaluationSumOld44).multiply(new BigDecimal("100"));
+                yearonyearAmount8 = (evaluationSum88.subtract(evaluationSumOld88)).divide(evaluationSumOld44, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSumOld9)) {
-                yearonyearAmount9 = (evaluationSum99.subtract(evaluationSumOld99)).divide(evaluationSumOld44).multiply(new BigDecimal("100"));
+                yearonyearAmount9 = (evaluationSum99.subtract(evaluationSumOld99)).divide(evaluationSumOld44, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSumOld10)) {
-                yearonyearAmount10 = (evaluationSum1010.subtract(evaluationSumOld1010)).divide(evaluationSumOld44).multiply(new BigDecimal("100"));
+                yearonyearAmount10 = (evaluationSum1010.subtract(evaluationSumOld1010)).divide(evaluationSumOld44, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSumOld11)) {
-                yearonyearAmount11 = (evaluationSum1111.subtract(evaluationSumOld1111)).divide(evaluationSumOld44).multiply(new BigDecimal("100"));
+                yearonyearAmount11 = (evaluationSum1111.subtract(evaluationSumOld1111)).divide(evaluationSumOld44, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             if (!"0".equals(evaluationSumOld12)) {
-                yearonyearAmount12 = (evaluationSum1212.subtract(evaluationSumOld1212)).divide(evaluationSumOld44).multiply(new BigDecimal("100"));
+                yearonyearAmount12 = (evaluationSum1212.subtract(evaluationSumOld1212)).divide(evaluationSumOld44, 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             map1.put("yearonyearAmount", yearonyearAmount1.toString());
             map2.put("yearonyearAmount", yearonyearAmount2.toString());