Newspaper 1 年之前
父節點
當前提交
b2428cb1b2
共有 1 個文件被更改,包括 4 次插入6 次删除
  1. 4 6
      snowy-web-app/src/main/java/vip/xiaonuo/Timer/DeviceOnlineTimer.java

+ 4 - 6
snowy-web-app/src/main/java/vip/xiaonuo/Timer/DeviceOnlineTimer.java

@@ -32,20 +32,18 @@ public class DeviceOnlineTimer implements CommonTimerTaskRunner {
     public void action() {
         List<SysOrg> list = sysOrgService.list();
         for (SysOrg sysOrg : list) {
-            double rate = 0.0;
+            BigDecimal rate = BigDecimal.ZERO;
             Integer deviceOff = Math.toIntExact(envDeviceService.count(new QueryWrapper<EnvDevice>().lambda().eq(EnvDevice::getOrgId, sysOrg.getId()).eq(EnvDevice::getStatus, 0)));
             Integer deviceOn = Math.toIntExact(envDeviceService.count(new QueryWrapper<EnvDevice>().lambda().eq(EnvDevice::getOrgId, sysOrg.getId()).eq(EnvDevice::getStatus, 1)));
             Integer total = deviceOff+deviceOn;
             LocalDateTime now = LocalDateTime.now();
-            try {
-                rate = ((float)deviceOn/(float)total)*100;
-            }catch (ArithmeticException e){
-                System.out.println(e);
+            if (total != 0){
+                rate = BigDecimal.valueOf(((float)deviceOn/(float)total)*100);
             }
             EnvDeviceOnline envDeviceOnline = new EnvDeviceOnline();
             envDeviceOnline.setDeviceOn(deviceOn);
             envDeviceOnline.setDeviceOff(deviceOff);
-            envDeviceOnline.setOnlineRate(new BigDecimal(rate).setScale(2, RoundingMode.UP));
+            envDeviceOnline.setOnlineRate(rate.setScale(2, RoundingMode.UP));
             envDeviceOnline.setOrgId(sysOrg.getId());
             envDeviceOnline.setCreatTime(now);
             envDeviceOnlineService.save(envDeviceOnline);