ソースを参照

fix:将hmi获取温湿度信息改成String类型

lwb 3 ヶ月 前
コミット
6b28fa5509

+ 2 - 2
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/hmi/entity/RoomMonitor.java

@@ -33,10 +33,10 @@ public class RoomMonitor {
     private Integer sensorRoute;
     /** 温度 */
     @Schema(description = "温度")
-    private Float temp;
+    private String temp;
     /** 湿度 */
     @Schema(description = "湿度")
-    private Float humidity;
+    private String humidity;
     /** 状态 */
     @Schema(description = "状态")
     private Integer status;

+ 20 - 18
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/hmi/service/impl/HmiServiceImpl.java

@@ -24,34 +24,36 @@ public class HmiServiceImpl implements HmiService {
     public List<RoomMonitor> getListByFloor(String floor, String createOrg) {
         List<RoomMonitor> list = targetRoomMapper.getRoomMonitor(floor,createOrg);
         list.forEach(roomMonitor -> {
+            roomMonitor.setAlarm(0);
             SensorData sensorData = monitorDeviceService.queryLatestDataByDeviceIdAndRoads(roomMonitor.getSensorCode(),roomMonitor.getSensorRoute());
             if(sensorData==null){
-                roomMonitor.setTemp(0.0f);
-                roomMonitor.setHumidity(0.0f);
+                roomMonitor.setTemp("//");
+                roomMonitor.setHumidity("//");
+                roomMonitor.setAlarm(1);
             }else{
                 if(sensorData.getTemperature() == null){
-                    roomMonitor.setTemp(0.0f);
+                    roomMonitor.setTemp("//");
                 }else{
-                    roomMonitor.setTemp(sensorData.getTemperature());
+                    roomMonitor.setTemp(sensorData.getTemperature().toString());
+                    if(roomMonitor.getTd()!=null && roomMonitor.getAlarm()!=1){
+                        roomMonitor.setAlarm(sensorData.getTemperature()<roomMonitor.getTd()?1:0);
+                    }
+                    if(roomMonitor.getTu()!=null && roomMonitor.getAlarm()!=1){
+                        roomMonitor.setAlarm(sensorData.getTemperature()>roomMonitor.getTu()?1:0);
+                    }
                 }
                 if(sensorData.getHumidity() == null){
-                    roomMonitor.setHumidity(0.0f);
+                    roomMonitor.setHumidity("//");
                 }else{
-                    roomMonitor.setHumidity(sensorData.getHumidity());
+                    roomMonitor.setHumidity(sensorData.getHumidity().toString());
+                    if(roomMonitor.getHd()!=null && roomMonitor.getAlarm()!=1){
+                        roomMonitor.setAlarm(Float.parseFloat(roomMonitor.getTemp())<roomMonitor.getHd()?1:0);
+                    }
+                    if(roomMonitor.getHu()!=null && roomMonitor.getAlarm()!=1){
+                        roomMonitor.setAlarm(Float.parseFloat(roomMonitor.getTemp())>roomMonitor.getHu()?1:0);
+                    }
                 }
             }
-            if(roomMonitor.getTd()!=null){
-                roomMonitor.setAlarm(roomMonitor.getTemp()<roomMonitor.getTd()?1:0);
-            }
-            if(roomMonitor.getTu()!=null){
-                roomMonitor.setAlarm(roomMonitor.getTemp()>roomMonitor.getTu()?1:0);
-            }
-            if(roomMonitor.getHd()!=null){
-                roomMonitor.setAlarm(roomMonitor.getTemp()<roomMonitor.getHd()?1:0);
-            }
-            if(roomMonitor.getHu()!=null){
-                roomMonitor.setAlarm(roomMonitor.getTemp()>roomMonitor.getHu()?1:0);
-            }
             //roomMonitor.setTemp(sensorData.getTemperature() == null ? 0.0f : sensorData.getTemperature());
         });
         return list;