瀏覽代碼

风机绩效榜修改为保留4位小数

wangb 4 天之前
父節點
當前提交
91a083e582

+ 27 - 27
runeconomy-xk/src/main/java/com/gyee/runeconomy/service/bmk/BenchmarkingService.java

@@ -421,33 +421,33 @@ public class BenchmarkingService {
                 vo2.setName(CacheContext.wtmap.get(i.getTurbineId().trim()).getAname());
                 vo2.setOrdernum(CacheContext.wtmap.get(i.getTurbineId().trim()).getOrderNum());
             }
-            vo.setSjfdl(BigDecimalUtils.divide(BigDecimal.valueOf(i.getRfdl()), new BigDecimal(1), 2).doubleValue());
-            vo.setLlfdl(BigDecimalUtils.divide(BigDecimal.valueOf(i.getLlfdl()), new BigDecimal(1), 2).doubleValue());
-            vo2.setSjfdl(BigDecimalUtils.divide(BigDecimal.valueOf(i.getRfdl() / 1000), new BigDecimal(1), 2).doubleValue());
-            vo2.setLlfdl(BigDecimalUtils.divide(BigDecimal.valueOf(i.getLlfdl() / 1000), new BigDecimal(1), 2).doubleValue());
+            vo.setSjfdl(BigDecimalUtils.divide(BigDecimal.valueOf(i.getRfdl()), new BigDecimal(1), 4).doubleValue());
+            vo.setLlfdl(BigDecimalUtils.divide(BigDecimal.valueOf(i.getLlfdl()), new BigDecimal(1), 4).doubleValue());
+            vo2.setSjfdl(BigDecimalUtils.divide(BigDecimal.valueOf(i.getRfdl() / 1000), new BigDecimal(1), 4).doubleValue());
+            vo2.setLlfdl(BigDecimalUtils.divide(BigDecimal.valueOf(i.getLlfdl() / 1000), new BigDecimal(1), 4).doubleValue());
 
             if (sttype.isEmpty()) {
-                vo.setSpeed(BigDecimalUtils.divide(BigDecimal.valueOf(i.getPjfs()), new BigDecimal(1), 2).doubleValue());
-                vo2.setSpeed(BigDecimalUtils.divide(BigDecimal.valueOf(i.getPjfs()), new BigDecimal(1), 2).doubleValue());
+                vo.setSpeed(BigDecimalUtils.divide(BigDecimal.valueOf(i.getPjfs()), new BigDecimal(1), 4).doubleValue());
+                vo2.setSpeed(BigDecimalUtils.divide(BigDecimal.valueOf(i.getPjfs()), new BigDecimal(1), 4).doubleValue());
             }
 //            vo.setFjhjx(BigDecimalUtils.divide(BigDecimal.valueOf(i.getFjhjxss()), new BigDecimal(1), 2).doubleValue());
-            vo.setFjhjx(BigDecimalUtils.divide(BigDecimal.valueOf(i.getGzss()), new BigDecimal(1), 2).doubleValue());
-            vo.setJhjx(BigDecimalUtils.divide(BigDecimal.valueOf(i.getJhjxss()), new BigDecimal(1), 2).doubleValue());
-            vo.setXd(BigDecimalUtils.divide(BigDecimal.valueOf(i.getXdss()), new BigDecimal(1), 2).doubleValue());
-            vo.setSl(BigDecimalUtils.divide(BigDecimal.valueOf(i.getSlss()), new BigDecimal(1), 2).doubleValue());
-            vo.setXn(BigDecimalUtils.divide(BigDecimal.valueOf(i.getXnss()), new BigDecimal(1), 2).doubleValue());
+            vo.setFjhjx(BigDecimalUtils.divide(BigDecimal.valueOf(i.getGzss()), new BigDecimal(1), 4).doubleValue());
+            vo.setJhjx(BigDecimalUtils.divide(BigDecimal.valueOf(i.getJhjxss()), new BigDecimal(1), 4).doubleValue());
+            vo.setXd(BigDecimalUtils.divide(BigDecimal.valueOf(i.getXdss()), new BigDecimal(1), 4).doubleValue());
+            vo.setSl(BigDecimalUtils.divide(BigDecimal.valueOf(i.getSlss()), new BigDecimal(1), 4).doubleValue());
+            vo.setXn(BigDecimalUtils.divide(BigDecimal.valueOf(i.getXnss()), new BigDecimal(1), 4).doubleValue());
             //            vo.setLlfdl(DoubleUtils.getRoundingNum(vo.getSjfdl()+vo.getFjhjx()+vo.getJhjx()+vo.getXd()+vo.getXn(),2));
             vo.setFnlly(vo.getLlfdl() != 0 ? DoubleUtils.keepPrecision(vo.getSjfdl() / vo.getLlfdl() * 100, 2) : 0);
-            vo.setPoint(DoubleUtils.keepPrecision(vo.getLlfdl() * 1.1, 2));
+            vo.setPoint(DoubleUtils.keepPrecision(vo.getLlfdl() * 1.1, 4));
 
 //            vo2.setFjhjx(BigDecimalUtils.divide(BigDecimal.valueOf(i.getFjhjxss() / 1000), new BigDecimal(1), 2).doubleValue());
-            vo2.setFjhjx(BigDecimalUtils.divide(BigDecimal.valueOf(i.getGzss() / 1000), new BigDecimal(1), 2).doubleValue());
-            vo2.setJhjx(BigDecimalUtils.divide(BigDecimal.valueOf(i.getJhjxss() / 1000), new BigDecimal(1), 2).doubleValue());
-            vo2.setXd(BigDecimalUtils.divide(BigDecimal.valueOf(i.getXdss() / 1000), new BigDecimal(1), 2).doubleValue());
-            vo2.setSl(BigDecimalUtils.divide(BigDecimal.valueOf(i.getSlss() / 1000), new BigDecimal(1), 2).doubleValue());
-            vo2.setXn(BigDecimalUtils.divide(BigDecimal.valueOf(i.getXnss() / 1000), new BigDecimal(1), 2).doubleValue());
+            vo2.setFjhjx(BigDecimalUtils.divide(BigDecimal.valueOf(i.getGzss() / 1000), new BigDecimal(1), 4).doubleValue());
+            vo2.setJhjx(BigDecimalUtils.divide(BigDecimal.valueOf(i.getJhjxss() / 1000), new BigDecimal(1), 4).doubleValue());
+            vo2.setXd(BigDecimalUtils.divide(BigDecimal.valueOf(i.getXdss() / 1000), new BigDecimal(1), 4).doubleValue());
+            vo2.setSl(BigDecimalUtils.divide(BigDecimal.valueOf(i.getSlss() / 1000), new BigDecimal(1), 4).doubleValue());
+            vo2.setXn(BigDecimalUtils.divide(BigDecimal.valueOf(i.getXnss() / 1000), new BigDecimal(1), 4).doubleValue());
             vo2.setFnlly(vo.getLlfdl() != 0 ? DoubleUtils.keepPrecision(vo.getSjfdl() / vo.getLlfdl() * 100, 2) : 0);
-            vo2.setPoint(DoubleUtils.keepPrecision(vo.getLlfdl() * 1.1, 2));
+            vo2.setPoint(DoubleUtils.keepPrecision(vo.getLlfdl() * 1.1, 4));
 
             llfdl.updateAndGet(v -> (double) (v + vo.getLlfdl()));
             sjfdl.updateAndGet(v -> (double) (v + vo.getSjfdl()));
@@ -472,16 +472,16 @@ public class BenchmarkingService {
         FjjxbVo vo = new FjjxbVo();
         vo.setId("hj");
         vo.setName("合计");
-        vo.setSjfdl(DoubleUtils.keepPrecision(sjfdl.get() / 1000, 2));
-        vo.setLlfdl(DoubleUtils.keepPrecision(llfdl.get() / 1000, 2));
-        vo.setSpeed(list.size() != 0 ? DoubleUtils.keepPrecision(pjfs.get() / list.size(), 2) : 0.0);
-        vo.setJhjx(DoubleUtils.keepPrecision(wh.get() / 1000, 2));
-        vo.setFjhjx(DoubleUtils.keepPrecision(gz.get() / 1000, 2));
-        vo.setXd(DoubleUtils.keepPrecision(xd.get() / 1000, 2));
-        vo.setXn(DoubleUtils.keepPrecision(xn.get() / 1000, 2));
-        vo.setSl(DoubleUtils.keepPrecision(sl.get() / 1000, 2));
+        vo.setSjfdl(DoubleUtils.keepPrecision(sjfdl.get() / 1000, 4));
+        vo.setLlfdl(DoubleUtils.keepPrecision(llfdl.get() / 1000, 4));
+        vo.setSpeed(list.size() != 0 ? DoubleUtils.keepPrecision(pjfs.get() / list.size(), 4) : 0.0);
+        vo.setJhjx(DoubleUtils.keepPrecision(wh.get() / 1000, 4));
+        vo.setFjhjx(DoubleUtils.keepPrecision(gz.get() / 1000, 4));
+        vo.setXd(DoubleUtils.keepPrecision(xd.get() / 1000, 4));
+        vo.setXn(DoubleUtils.keepPrecision(xn.get() / 1000, 4));
+        vo.setSl(DoubleUtils.keepPrecision(sl.get() / 1000, 4));
         vo.setFnlly(vo.getLlfdl() != 0 ? DoubleUtils.keepPrecision(vo.getSjfdl() / vo.getLlfdl() * 100, 2) : 0.0);
-        vo.setPoint(DoubleUtils.keepPrecision(vo.getLlfdl() * 1.1, 2));
+        vo.setPoint(DoubleUtils.keepPrecision(vo.getLlfdl() * 1.1, 4));
         resultList.add(vo);
         return resultList;
     }

+ 12 - 17
runeconomy-xk/src/main/java/com/gyee/runeconomy/service/specific/SpecificService.java

@@ -3323,10 +3323,7 @@ public class SpecificService {
             double llfdl = i.getLlfdl() != null ? i.getLlfdl() : 0.0;
             double rfdl = i.getGzss() != null ? i.getGzss() : 0.0;
             if (llfdl != 0) {
-                double rf = rfdl / llfdl * 100;
-                if (rf < 0) {
-                    rf = 0.0;
-                }
+                double rf = rfdl / llfdl * 100 < 0 ? 0.0 : rfdl / llfdl * 100;
                 Double calculatedValue = DoubleUtils.keepPrecision(rf, 2);
                 vo.setCurrent(calculatedValue);
             } else {
@@ -3343,7 +3340,7 @@ public class SpecificService {
                 double llfdl = tqinfoday.getLlfdl() != null ? tqinfoday.getLlfdl() : 0.0;
                 double rfdl = tqinfoday.getGzss() != null ? tqinfoday.getGzss() : 0.0;
                 if (llfdl != 0) {
-                    Double calculatedValue = DoubleUtils.keepPrecision(rfdl / llfdl * 100, 2);
+                    Double calculatedValue = rfdl / llfdl * 100 < 0 ? 0.0 : NumberUtil.round(rfdl / llfdl * 100, 2).doubleValue();
                     i.setSameperiod(calculatedValue);
                 } else {
                     i.setSameperiod(0.0);
@@ -3583,7 +3580,7 @@ public class SpecificService {
             double llfdl = i.getLlfdl() != null ? i.getLlfdl() : 0.0;
             double rfdl = i.getJhjxss() != 0 ? i.getJhjxss() : 0.0;
             if (llfdl != 0) {
-                Double calculatedValue = DoubleUtils.keepPrecision(rfdl / llfdl * 100, 2);
+                Double calculatedValue = rfdl / llfdl * 100 < 0 ? 0.0 : NumberUtil.round(rfdl / llfdl * 100, 2).doubleValue();
                 vo.setCurrent(calculatedValue);
             } else {
                 vo.setCurrent(0.0);
@@ -3602,7 +3599,7 @@ public class SpecificService {
                 double llfdl = tqinfoday.getLlfdl() != null ? tqinfoday.getLlfdl() : 0.0;
                 double rfdl = tqinfoday.getJhjxss() != null ? tqinfoday.getJhjxss() : 0.0;
                 if (llfdl != 0) {
-                    Double calculatedValue = DoubleUtils.keepPrecision(rfdl / llfdl * 100, 2);
+                    Double calculatedValue = rfdl / llfdl * 100 < 0 ? 0.0 : NumberUtil.round(rfdl / llfdl * 100, 2).doubleValue();
                     i.setSameperiod(calculatedValue);
                 } else {
                     i.setSameperiod(0.0);
@@ -3846,7 +3843,7 @@ public class SpecificService {
             double llfdl = i.getLlfdl() != null ? i.getLlfdl() : 0.0;
             double rfdl = i.getXdss() != null ? i.getXdss() : 0.0;
             if (llfdl != 0) {
-                Double calculatedValue = DoubleUtils.keepPrecision(rfdl / llfdl * 100, 2);
+                Double calculatedValue = rfdl / llfdl * 100 < 0 ? 0.0 : NumberUtil.round(rfdl / llfdl * 100,2).doubleValue();
                 vo.setCurrent(calculatedValue);
             } else {
                 vo.setCurrent(0.0);
@@ -3862,7 +3859,7 @@ public class SpecificService {
                 double llfdl = tqinfoday.getLlfdl() != null ? tqinfoday.getLlfdl() : 0.0;
                 double rfdl = tqinfoday.getXdss() != null ? tqinfoday.getXdss() : 0.0;
                 if (llfdl != 0) {
-                    Double calculatedValue = DoubleUtils.keepPrecision(rfdl / llfdl * 100, 2);
+                    Double calculatedValue = rfdl / llfdl * 100 < 0 ? 0.0 : NumberUtil.round(rfdl / llfdl * 100, 2).doubleValue();
                     i.setSameperiod(calculatedValue);
                 } else {
                     i.setSameperiod(0.0);
@@ -4105,7 +4102,7 @@ public class SpecificService {
             double llfdl = i.getLlfdl() != null ? i.getLlfdl() : 0.0;
             double rfdl = i.getXnss() != null ? i.getXnss() : 0.0;
             if (llfdl != 0) {
-                Double calculatedValue = DoubleUtils.keepPrecision(rfdl / llfdl * 100, 2);
+                Double calculatedValue = rfdl / llfdl * 100 < 0 ? 0.0 : NumberUtil.round(rfdl / llfdl * 100, 2).doubleValue();
                 vo.setCurrent(calculatedValue);
             } else {
                 vo.setCurrent(0.0);
@@ -4122,7 +4119,7 @@ public class SpecificService {
                 double llfdl = tqinfoday.getLlfdl() != null ? tqinfoday.getLlfdl() : 0.0;
                 double rfdl = tqinfoday.getXnss() != null ? tqinfoday.getXnss() : 0.0;
                 if (llfdl != 0) {
-                    Double calculatedValue = DoubleUtils.keepPrecision(rfdl / llfdl * 100, 2);
+                    Double calculatedValue = rfdl / llfdl * 100 < 0 ? 0.0 : NumberUtil.round(rfdl / llfdl * 100, 2).doubleValue();
                     i.setSameperiod(calculatedValue);
                 } else {
                     i.setSameperiod(0.0);
@@ -4368,7 +4365,7 @@ public class SpecificService {
             double llfdl = i.getLlfdl() != null ? i.getLlfdl() : 0.0;
             double rfdl = i.getSlss() != null ? i.getSlss() : 0.0;
             if (llfdl != 0) {
-                Double calculatedValue = DoubleUtils.keepPrecision(rfdl / llfdl * 100, 2);
+                Double calculatedValue = rfdl / llfdl * 100 < 0 ? 0.0 : NumberUtil.round(rfdl / llfdl * 100, 2).doubleValue();
                 vo.setCurrent(calculatedValue);
             } else {
                 vo.setCurrent(0.0);
@@ -4385,7 +4382,7 @@ public class SpecificService {
                 double llfdl = tqinfoday.getLlfdl() != null ? tqinfoday.getLlfdl() : 0.0;
                 double rfdl = tqinfoday.getSlss() != null ? tqinfoday.getSlss() : 0.0;
                 if (llfdl != 0) {
-                    Double calculatedValue = DoubleUtils.keepPrecision(rfdl / llfdl * 100, 2);
+                    Double calculatedValue = rfdl / llfdl * 100 < 0 ? 0.0 : NumberUtil.round(rfdl / llfdl * 100, 2).doubleValue();
                     i.setSameperiod(calculatedValue);
                 } else {
                     i.setSameperiod(0.0);
@@ -5189,15 +5186,13 @@ public class SpecificService {
         List<StationInfoMonth> currentList = list.stream()
                 .filter(item -> {
                     Date date = item.getRecordDate();
-                    return date != null
-                            && DateUtil.year(date) == DateUtil.thisYear();
+                    return date != null && DateUtil.year(date) == Integer.parseInt(year);
                 })
                 .collect(Collectors.toList());
         List<StationInfoMonth> samePeriodList = list.stream()
                 .filter(item -> {
                     Date date = item.getRecordDate();
-                    return date != null
-                            && DateUtil.year(date) == DateUtil.thisYear() - 1;
+                    return date != null && DateUtil.year(date) == Integer.parseInt(year) - 1;
                 })
                 .collect(Collectors.toList());
         currentList.forEach(i -> {