Browse Source

生成设备断电报警

wwh 1 year ago
parent
commit
79d400c50e

+ 4 - 0
src/main/java/com/huimv/admin/entity/EnvWarning.java

@@ -39,6 +39,10 @@ public class EnvWarning implements Serializable {
 
     private String chipCode;
 
+    private Integer warningType;
+
+    private Integer warningAct;
+
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime updateTime;
 

+ 65 - 0
src/main/java/com/huimv/admin/timer/DeviceLive.java

@@ -0,0 +1,65 @@
+package com.huimv.admin.timer;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.admin.entity.EnvDevice;
+import com.huimv.admin.entity.EnvDeviceOnline;
+import com.huimv.admin.entity.EnvWarning;
+import com.huimv.admin.service.IEnvDeviceOnlineService;
+import com.huimv.admin.service.IEnvDeviceService;
+import com.huimv.admin.service.IEnvWarningService;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Configuration
+@EnableScheduling
+public class DeviceLive {
+
+    @Resource
+    private IEnvDeviceService envDeviceService;
+    @Resource
+    private IEnvWarningService warningService;
+
+    @Scheduled(cron = "0 0/30 * * * ?")
+//    @Scheduled(cron = "*/5 * * * * ?")
+    private void saveOnlineDevice(){
+        List<EnvDevice> devices = envDeviceService.list(null);
+        for (EnvDevice device : devices) {
+            EnvWarning warning = new EnvWarning();
+            if (device.getDeviceStatus() == 0) {
+                warning.setWarningContent(device.getDeviceName() + "离线");
+                warning.setUnitId(device.getUnitId());
+                warning.setUpdateTime(LocalDateTime.now());
+                warning.setWarningType(1);
+                warning.setWarningAct(1);
+                warning.setFarmId(device.getFarmId());
+                device.setDeviceStatus(1);
+            }
+            if (device.getDeviceStatus() == 1) {
+                warning.setWarningContent(device.getDeviceName() + "恢复正常");
+                warning.setUnitId(device.getUnitId());
+                warning.setUpdateTime(LocalDateTime.now());
+                warning.setWarningType(1);
+                warning.setWarningAct(2);
+                warning.setFarmId(device.getFarmId());
+            }
+            if (device.getDeviceStatus() == 2) {
+                warning.setWarningContent(device.getDeviceName() + "断电");
+                warning.setUnitId(device.getUnitId());
+                warning.setUpdateTime(LocalDateTime.now());
+                warning.setWarningType(1);
+                warning.setWarningAct(1);
+                warning.setFarmId(device.getFarmId());
+                device.setDeviceStatus(1);
+            }
+            warningService.save(warning);
+            envDeviceService.updateById(device);
+        }
+    }
+}