瀏覽代碼

水数据不取整计算,保留四位小数

QuietShadow 3 年之前
父節點
當前提交
55b219f196
共有 1 個文件被更改,包括 12 次插入12 次删除
  1. 12 12
      src/main/java/com/steerinfo/ems/trmcalpoint/service/impl/TRmCalpointServiceImpl.java

+ 12 - 12
src/main/java/com/steerinfo/ems/trmcalpoint/service/impl/TRmCalpointServiceImpl.java

@@ -397,7 +397,7 @@ public class TRmCalpointServiceImpl extends BaseServiceImpl<TRmCalpoint, String>
                         BigDecimal hstrat = jdbcTemplate.queryForObject(sql, BigDecimal.class);
                         // 水数据取整
                         if (tc.getEnergytypeid().equalsIgnoreCase("W")) {
-                            hstrat = hstrat.setScale(0, RoundingMode.DOWN);
+                            hstrat = hstrat.setScale(4, RoundingMode.DOWN);
                             // 当前小时开始仪表值, 水系统数据四小时一次,读取每小时第十分钟数据作为起始值,确保数据无误差
                             sql = "select val from "
                                     + "(select " + tenCol + " val,row_number() over (order by tim) rn "
@@ -419,7 +419,7 @@ public class TRmCalpointServiceImpl extends BaseServiceImpl<TRmCalpoint, String>
                         BigDecimal hend = jdbcTemplate.queryForObject(sql, BigDecimal.class);
                         // 水数据取整
                         if (tc.getEnergytypeid().equalsIgnoreCase("W")) {
-                            hend = hend.setScale(0, RoundingMode.DOWN);
+                            hend = hend.setScale(4, RoundingMode.DOWN);
                         }
                         if (hend.doubleValue() >= hstrat.doubleValue()) {
                             Date nowh = new SimpleDateFormat("yyyy-MM-dd HH").parse(clock1);
@@ -431,8 +431,8 @@ public class TRmCalpointServiceImpl extends BaseServiceImpl<TRmCalpoint, String>
                             BigDecimal val = BigDecimal.ZERO; // 小时用量值
                             BigDecimal last = BigDecimal.ZERO; // 最后一小时
                             if (tc.getEnergytypeid().equalsIgnoreCase("W")) {
-                                val = tval.divide(new BigDecimal(hos), 0, RoundingMode.DOWN);
-                                last = tval.subtract(val.multiply(new BigDecimal(hos - 1))).setScale(0, RoundingMode.DOWN);
+                                val = tval.divide(new BigDecimal(hos), 4, RoundingMode.DOWN);
+                                last = tval.subtract(val.multiply(new BigDecimal(hos - 1))).setScale(4, RoundingMode.DOWN);
                             } else {
                                 val = tval.divide(new BigDecimal(hos), 5, RoundingMode.HALF_UP);
                                 last = val;
@@ -592,7 +592,7 @@ public class TRmCalpointServiceImpl extends BaseServiceImpl<TRmCalpoint, String>
                         BigDecimal hstrat = jdbcTemplate.queryForObject(sql, BigDecimal.class);
                         // 水数据取整
                         if (tc.getEnergytypeid().equalsIgnoreCase("W")) {
-                            hstrat = hstrat.setScale(0, RoundingMode.DOWN);
+                            hstrat = hstrat.setScale(4, RoundingMode.DOWN);
                             // 当前小时开始仪表值, 水系统数据四小时一次,读取每小时第十分钟数据作为起始值,确保数据无误差
                             sql = "select val from "
                                     + "(select " + tenCol + " val,row_number() over (order by tim) rn "
@@ -614,7 +614,7 @@ public class TRmCalpointServiceImpl extends BaseServiceImpl<TRmCalpoint, String>
                         BigDecimal hend = jdbcTemplate.queryForObject(sql, BigDecimal.class);
                         // 水数据取整
                         if (tc.getEnergytypeid().equalsIgnoreCase("W")) {
-                            hend = hend.setScale(0, RoundingMode.DOWN);
+                            hend = hend.setScale(4, RoundingMode.DOWN);
                         }
                         if (hend.doubleValue() >= hstrat.doubleValue()) {
                             Date nowh = new SimpleDateFormat("yyyy-MM-dd HH").parse(clock1);
@@ -626,7 +626,7 @@ public class TRmCalpointServiceImpl extends BaseServiceImpl<TRmCalpoint, String>
                             BigDecimal val = BigDecimal.ZERO; // 小时用量值
                             BigDecimal last = BigDecimal.ZERO; // 最后一小时
                             if (tc.getEnergytypeid().equalsIgnoreCase("W")) {
-                                val = tval.divide(new BigDecimal(hos), 0, RoundingMode.DOWN);
+                                val = tval.divide(new BigDecimal(hos), 4, RoundingMode.DOWN);
                                 last = tval.subtract(val.multiply(new BigDecimal(hos - 1))).setScale(0, RoundingMode.DOWN);
                             } else {
                                 val = tval.divide(new BigDecimal(hos), 5, RoundingMode.HALF_UP);
@@ -793,7 +793,7 @@ public class TRmCalpointServiceImpl extends BaseServiceImpl<TRmCalpoint, String>
                 BigDecimal val = jdbcTemplate.queryForObject(sql, BigDecimal.class);
                 // 水数据取整
                 if (tc.getEnergytypeid().equalsIgnoreCase("W")) {
-                    val = val.setScale(0, RoundingMode.DOWN);
+                    val = val.setScale(4, RoundingMode.DOWN);
                 }
                 if (table.equalsIgnoreCase("EMS_P_AI_HOUR_SUM_TAB1")) {
                     EmsPAiHourSumTab1Org po = new EmsPAiHourSumTab1Org();
@@ -833,7 +833,7 @@ public class TRmCalpointServiceImpl extends BaseServiceImpl<TRmCalpoint, String>
                     Map<String, Object> ma = lt.get(i);
                     // 水数据取整
                     if (tc.getEnergytypeid().equalsIgnoreCase("W")) {
-                        val2 = new BigDecimal(ma.get("VAL").toString()).setScale(0, RoundingMode.DOWN);
+                        val2 = new BigDecimal(ma.get("VAL").toString()).setScale(4, RoundingMode.DOWN);
                     } else {
                         val2 = new BigDecimal(ma.get("VAL").toString());
                     }
@@ -959,7 +959,7 @@ public class TRmCalpointServiceImpl extends BaseServiceImpl<TRmCalpoint, String>
                 BigDecimal val = jdbcTemplate.queryForObject(sql, BigDecimal.class);
                 // 水数据取整
                 if (tc.getEnergytypeid().equalsIgnoreCase("W")) {
-                    val = val.setScale(0, RoundingMode.DOWN);
+                    val = val.setScale(4, RoundingMode.DOWN);
                 }
                 if (table.equalsIgnoreCase("EMS_P_AI_HOUR_SUM_TAB1")) {
                     EmsPAiHourSumTab1Org po = new EmsPAiHourSumTab1Org();
@@ -1247,7 +1247,7 @@ public class TRmCalpointServiceImpl extends BaseServiceImpl<TRmCalpoint, String>
                         BigDecimal hstrat = jdbcTemplate.queryForObject(sql, BigDecimal.class);
                         // 水数据取整
                         if (tc.getEnergytypeid().equalsIgnoreCase("W")) {
-                            hstrat = hstrat.setScale(0, RoundingMode.DOWN);
+                            hstrat = hstrat.setScale(4, RoundingMode.DOWN);
                             // 当前小时开始仪表值, 水系统数据四小时一次,读取每小时第十分钟数据作为起始值,确保数据无误差
                             sql = "select val from "
                                     + "(select " + tenCol + " val,row_number() over (order by tim) rn "
@@ -1269,7 +1269,7 @@ public class TRmCalpointServiceImpl extends BaseServiceImpl<TRmCalpoint, String>
                         BigDecimal hend = jdbcTemplate.queryForObject(sql, BigDecimal.class);
                         // 水数据取整
                         if (tc.getEnergytypeid().equalsIgnoreCase("W")) {
-                            hend = hend.setScale(0, RoundingMode.DOWN);
+                            hend = hend.setScale(4, RoundingMode.DOWN);
                         }
                         if (hend.doubleValue() >= hstrat.doubleValue()) {
                             Date nowh = new SimpleDateFormat("yyyy-MM-dd HH").parse(clock1);