Sfoglia il codice sorgente

fix:HMI单独开一个模块,修复根据楼层和组织获取房间温湿度

lwb 3 mesi fa
parent
commit
e2e92be341

+ 21 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/hmi/controller/HmiController.java

@@ -0,0 +1,21 @@
+package vip.xiaonuo.coldchain.modular.hmi.controller;
+
+import io.swagger.v3.oas.annotations.Operation;
+import jakarta.annotation.Resource;
+import org.springframework.web.bind.annotation.GetMapping;
+import vip.xiaonuo.coldchain.modular.hmi.entity.RoomMonitor;
+import vip.xiaonuo.coldchain.modular.hmi.service.HmiService;
+import vip.xiaonuo.coldchain.modular.targetroom.service.TargetRoomService;
+import vip.xiaonuo.common.pojo.CommonResult;
+
+import java.util.List;
+
+public class HmiController {
+    @Resource
+    private HmiService hmiService;
+    @Operation(summary = "获取房间列表")
+    @GetMapping("/coldchain/hmi/roomMonitor")
+    public CommonResult<List<RoomMonitor>> roomMonitor(String floor, String createOrg) {
+        return CommonResult.data(hmiService.getListByFloor(floor,createOrg));
+    }
+}

+ 20 - 1
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/targetroom/dto/RoomMonitor.java → snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/hmi/entity/RoomMonitor.java

@@ -1,4 +1,4 @@
-package vip.xiaonuo.coldchain.modular.targetroom.dto;
+package vip.xiaonuo.coldchain.modular.hmi.entity;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Getter;
@@ -34,5 +34,24 @@ public class RoomMonitor {
     /** 湿度 */
     @Schema(description = "湿度")
     private Float humidity;
+    /** 状态 */
+    @Schema(description = "状态")
+    private Integer status;
+    /** 最低报警温度 */
+    @Schema(description = "最低报警温度")
+    private Float td;
+    /** 最高报警温度 */
+    @Schema(description = "最高报警温度")
+    private Float tu;
+    /** 最低报警湿度 */
+    @Schema(description = "最低报警湿度")
+    private Float hd;
+    /** 最高报警湿度 */
+    @Schema(description = "最高报警湿度")
+    private Float hu;
+    /** 异常报警 0:正常 1:温湿度异常 */
+    @Schema(description = "异常报警")
+    private Integer alarm;
+
 
 }

+ 14 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/hmi/service/HmiService.java

@@ -0,0 +1,14 @@
+package vip.xiaonuo.coldchain.modular.hmi.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import vip.xiaonuo.coldchain.modular.hmi.entity.RoomMonitor;
+import vip.xiaonuo.coldchain.modular.targetroom.entity.TargetRoom;
+
+import java.util.List;
+
+public interface HmiService {
+    /**
+     * 根据楼层获取房间列表
+     */
+    List<RoomMonitor> getListByFloor(String floor, String createOrg);
+}

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

@@ -0,0 +1,54 @@
+package vip.xiaonuo.coldchain.modular.hmi.service.impl;
+
+import jakarta.annotation.Resource;
+import vip.xiaonuo.coldchain.core.bean.influxdb.SensorData;
+import vip.xiaonuo.coldchain.modular.hmi.entity.RoomMonitor;
+import vip.xiaonuo.coldchain.modular.hmi.service.HmiService;
+import vip.xiaonuo.coldchain.modular.monitordevice.service.MonitorDeviceService;
+import vip.xiaonuo.coldchain.modular.targetroom.mapper.TargetRoomMapper;
+
+import java.util.List;
+
+public class HmiServiceImpl implements HmiService {
+    @Resource
+    private TargetRoomMapper targetRoomMapper;
+    @Resource
+    private MonitorDeviceService monitorDeviceService;
+    @Override
+    public List<RoomMonitor> getListByFloor(String floor, String createOrg) {
+        List<RoomMonitor> list = targetRoomMapper.getRoomMonitor(floor,createOrg);
+        list.forEach(roomMonitor -> {
+            SensorData sensorData = monitorDeviceService.queryLatestDataByDeviceIdAndRoads(roomMonitor.getSensorCode(),roomMonitor.getSensorRoute());
+            if(sensorData==null){
+                roomMonitor.setTemp(0.0f);
+                roomMonitor.setHumidity(0.0f);
+            }else{
+                if(sensorData.getTemperature() == null){
+                    roomMonitor.setTemp(0.0f);
+                }else{
+                    roomMonitor.setTemp(sensorData.getTemperature());
+                }
+                if(sensorData.getHumidity() == null){
+                    roomMonitor.setHumidity(0.0f);
+                }else{
+                    roomMonitor.setHumidity(sensorData.getHumidity());
+                }
+            }
+            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;
+    }
+
+}

+ 2 - 6
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/targetroom/controller/TargetRoomController.java

@@ -22,7 +22,7 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
-import vip.xiaonuo.coldchain.modular.targetroom.dto.RoomMonitor;
+import vip.xiaonuo.coldchain.modular.hmi.entity.RoomMonitor;
 import vip.xiaonuo.coldchain.modular.targetroom.param.*;
 import vip.xiaonuo.common.annotation.CommonLog;
 import vip.xiaonuo.common.pojo.CommonResult;
@@ -142,10 +142,6 @@ public class TargetRoomController {
         targetRoomService.edit(targetRoomEditParam);
         return CommonResult.ok();
     }
-    @Operation(summary = "获取房间列表")
-    @GetMapping("/coldchain/targetroom/roomMonitor")
-    public CommonResult<List<RoomMonitor>> roomMonitor(String floor,String createOrg) {
-        return CommonResult.data(targetRoomService.getListByFloor(floor,createOrg));
-    }
+
 
 }

+ 1 - 1
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/targetroom/mapper/TargetRoomMapper.java

@@ -13,7 +13,7 @@
 package vip.xiaonuo.coldchain.modular.targetroom.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import vip.xiaonuo.coldchain.modular.targetroom.dto.RoomMonitor;
+import vip.xiaonuo.coldchain.modular.hmi.entity.RoomMonitor;
 import vip.xiaonuo.coldchain.modular.targetroom.entity.TargetRoom;
 
 import java.util.List;

+ 9 - 7
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/targetroom/mapper/mapping/TargetRoomMapper.xml

@@ -2,7 +2,7 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="vip.xiaonuo.coldchain.modular.targetroom.mapper.TargetRoomMapper">
 
-    <resultMap id="RoomMonitorResultMap" type="vip.xiaonuo.coldchain.modular.targetroom.dto.RoomMonitor">
+    <resultMap id="RoomMonitorResultMap" type="vip.xiaonuo.coldchain.modular.hmi.entity.RoomMonitor">
         <result column="roomName" property="roomName"/>
         <result column="floor" property="floor"/>
         <result column="monitorName" property="monitorName"/>
@@ -16,17 +16,19 @@
             r.`name` as regionName,
             room.floor as floor,
             r.sensor_code,
-            r.sensor_route
+            r.sensor_route,
+            t.`status`,
+            r.temperature_down as td,
+            r.temperature_up as tu,
+            r.humidity_down as hd,
+            r.humidity_up as hu
         FROM `target_room` as room
                  LEFT JOIN `monitor_target` as t ON t.room_id = room.id
                  LEFT JOIN `monitor_target_region` as r ON r.monitor_target_id = t.id
         WHERE room.DELETE_FLAG = 'NOT_DELETE'
-          AND t.DELETE_FLAG = 'NOT_DELETE'
-          AND r.DELETE_FLAG = 'NOT_DELETE'
+          AND	t.DELETE_FLAG = 'NOT_DELETE'
           AND room.floor = #{floor}
           AND room.CREATE_ORG = #{createOrg}
-          AND t.CREATE_ORG = #{createOrg}
-          AND r.CREATE_ORG = #{createOrg}
-        GROUP BY roomName
+        GROUP BY monitorName
     </select>
 </mapper>

+ 2 - 5
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/targetroom/service/TargetRoomService.java

@@ -14,7 +14,7 @@ package vip.xiaonuo.coldchain.modular.targetroom.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
-import vip.xiaonuo.coldchain.modular.targetroom.dto.RoomMonitor;
+import vip.xiaonuo.coldchain.modular.hmi.entity.RoomMonitor;
 import vip.xiaonuo.coldchain.modular.targetroom.entity.TargetRoom;
 import vip.xiaonuo.coldchain.modular.targetroom.param.TargetRoomAddParam;
 import vip.xiaonuo.coldchain.modular.targetroom.param.TargetRoomEditParam;
@@ -91,10 +91,7 @@ public interface TargetRoomService extends IService<TargetRoom> {
      */
     TargetRoom getRoomByName(String roomName);
 
-    /**
-     * 根据楼层获取房间列表
-     */
-    List<RoomMonitor> getListByFloor(String floor,String createOrg);
+
 
     void addWithOrg(TargetRoomAddParam param);
 }

+ 2 - 31
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/targetroom/service/impl/TargetRoomServiceImpl.java

@@ -29,7 +29,7 @@ import vip.xiaonuo.coldchain.core.bean.influxdb.SensorData;
 import vip.xiaonuo.coldchain.modular.monitordevice.service.MonitorDeviceService;
 import vip.xiaonuo.coldchain.modular.monitortarget.entity.MonitorTarget;
 import vip.xiaonuo.coldchain.modular.monitortarget.service.MonitorTargetService;
-import vip.xiaonuo.coldchain.modular.targetroom.dto.RoomMonitor;
+import vip.xiaonuo.coldchain.modular.hmi.entity.RoomMonitor;
 import vip.xiaonuo.common.enums.CommonDeleteFlagEnum;
 import vip.xiaonuo.common.enums.CommonSortOrderEnum;
 import vip.xiaonuo.common.exception.CommonException;
@@ -55,10 +55,7 @@ public class TargetRoomServiceImpl extends ServiceImpl<TargetRoomMapper, TargetR
 
     @Resource
     private MonitorTargetService monitorTargetService;
-    @Resource
-    private TargetRoomMapper targetRoomMapper;
-    @Resource
-    private MonitorDeviceService monitorDeviceService;
+
     @Override
     public Page<TargetRoom> page(TargetRoomPageParam targetRoomPageParam) {
         SaBaseLoginUser loginUser = StpLoginUserUtil.getLoginUser();
@@ -160,32 +157,6 @@ public class TargetRoomServiceImpl extends ServiceImpl<TargetRoomMapper, TargetR
         return getOne(queryWrapper);
     }
 
-    @Override
-    public List<RoomMonitor> getListByFloor(String floor, String createOrg) {
-        List<RoomMonitor> list = targetRoomMapper.getRoomMonitor(floor,createOrg);
-        list.forEach(roomMonitor -> {
-            SensorData sensorData = monitorDeviceService.queryLatestDataByDeviceIdAndRoads(roomMonitor.getSensorCode(),roomMonitor.getSensorRoute());
-            if(sensorData==null){
-                roomMonitor.setTemp(0.0f);
-                roomMonitor.setHumidity(0.0f);
-            }else{
-                if(sensorData.getTemperature() == null){
-                    roomMonitor.setTemp(0.0f);
-                }else{
-                    roomMonitor.setTemp(sensorData.getTemperature());
-                }
-                if(sensorData.getHumidity() == null){
-                    roomMonitor.setHumidity(0.0f);
-                }else{
-                    roomMonitor.setHumidity(sensorData.getHumidity());
-                }
-            }
-
-            //roomMonitor.setTemp(sensorData.getTemperature() == null ? 0.0f : sensorData.getTemperature());
-        });
-        return list;
-    }
-
     @Override
     public void addWithOrg(TargetRoomAddParam param) {
         TargetRoom targetRoom = BeanUtil.toBean(param, TargetRoom.class);