Browse Source

精度问题,保留两位

linzhiwei 4 years ago
parent
commit
bc39dc6f54

+ 5 - 5
src/main/java/com/tofly/nb/sew/service/impl/SsBbMonthServiceImpl.java

@@ -126,7 +126,7 @@ public class SsBbMonthServiceImpl extends ServiceImpl<SsBbMonthMapper, SsBbMonth
         BigDecimal totalSewageTreatment = monthGroupMap.values().stream().reduce(BigDecimal.ZERO, BigDecimal::add);
 
         // 总年度占比=上月污水处理总量/统计上月以及以前11月的污水处理总量
-        BigDecimal totalAccountedRate = bigDecimal.divide(totalSewageTreatment, 2, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100));
+        BigDecimal totalAccountedRate = bigDecimal.divide(totalSewageTreatment, 4, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100)).setScale(2,BigDecimal.ROUND_HALF_UP);
 
         productionStatisticsVo.setTotalSewLastMonth(bigDecimal);
         productionStatisticsVo.setTotalSewageTreatment(totalSewageTreatment);
@@ -155,11 +155,11 @@ public class SsBbMonthServiceImpl extends ServiceImpl<SsBbMonthMapper, SsBbMonth
         BigDecimal begin = beginBigDecimal.get();
         BigDecimal decimal = BigDecimal.ZERO;
         if (!BigDecimal.ZERO.equals(begin)) {
-            decimal = (lost.subtract(begin)).divide(begin, 2, BigDecimal.ROUND_HALF_UP);
+            decimal = (lost.subtract(begin)).divide(begin, 4, BigDecimal.ROUND_HALF_UP);
         }
 
 
-        return decimal.multiply(BigDecimal.valueOf(100));
+        return decimal.multiply(BigDecimal.valueOf(100)).setScale(2,BigDecimal.ROUND_HALF_UP);
     }
 
 
@@ -194,7 +194,7 @@ public class SsBbMonthServiceImpl extends ServiceImpl<SsBbMonthMapper, SsBbMonth
         informationVo.setDealWaterSupply(dealWaterSupply.get());
         informationVo.setTotalDissipatedPower(totalDissipatedPower.get());
         // 水质达标率(本年度) DBL 合计平均=达标排放天数总和SUM(DBPFTS)/正常运行天数总和SUM(ZCYXTS)*100%
-        informationVo.setDbl(BigDecimal.valueOf(standard.get()).divide(BigDecimal.valueOf(normal.get()), 2, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100)));
+        informationVo.setDbl(BigDecimal.valueOf(standard.get()).divide(BigDecimal.valueOf(normal.get()), 4, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100)).setScale(2,BigDecimal.ROUND_HALF_UP));
 
         return informationVo;
     }
@@ -256,7 +256,7 @@ public class SsBbMonthServiceImpl extends ServiceImpl<SsBbMonthMapper, SsBbMonth
             Integer dbpfts = saveDbpfts.get(k);
             Integer zcyxts = saveZcyxts.get(k);
             vo.setUmonth(k);
-            vo.setDbl(BigDecimal.valueOf(dbpfts).divide(BigDecimal.valueOf(zcyxts), 2, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100)));
+            vo.setDbl(BigDecimal.valueOf(dbpfts).divide(BigDecimal.valueOf(zcyxts), 4, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100)).setScale(2,BigDecimal.ROUND_HALF_UP));
             waterQualityJuneInfoVoList.add(vo);
         });
 

+ 1 - 1
src/main/java/com/tofly/nb/sew/service/impl/SsYywsclcJczbServiceImpl.java

@@ -107,7 +107,7 @@ public class SsYywsclcJczbServiceImpl extends ServiceImpl<SsYywsclcJczbMapper, S
                     dto.setPower(s.getSjclnl() == null?BigDecimal.ZERO:BigDecimal.valueOf(s.getSjclnl()));
                 }
             });
-            dto.setDbl(BigDecimal.valueOf(dto.getStandard()).divide(BigDecimal.valueOf(dto.getNormal()), 2, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100)));
+            dto.setDbl(BigDecimal.valueOf(dto.getStandard()).divide(BigDecimal.valueOf(dto.getNormal()), 4, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100)).setScale(2,BigDecimal.ROUND_HALF_UP));
         });
 
         return new ArrayList<>(map.values());