diff --git a/ruoyi-ems/src/main/java/com/ruoyi/ems/record/controller/TWTempertureDataController.java b/ruoyi-ems/src/main/java/com/ruoyi/ems/record/controller/TWTempertureDataController.java index 16b0fc1..ab8b13f 100644 --- a/ruoyi-ems/src/main/java/com/ruoyi/ems/record/controller/TWTempertureDataController.java +++ b/ruoyi-ems/src/main/java/com/ruoyi/ems/record/controller/TWTempertureDataController.java @@ -31,7 +31,7 @@ import com.ruoyi.common.core.page.TableDataInfo; /** * 物联网实时数据Controller - * + * * @author Caoql * @date 2024-08-21 */ @@ -70,7 +70,7 @@ public class TWTempertureDataController extends BaseController EmsIOTData emsIOTData = new EmsIOTData(); int energyTypeid = Integer.parseInt(emsBaseMonitorInfoService.selectEmsBaseMonitorTypeByMonitorCode(tWTempertureData.getMonitorId())); String energyName = emsBaseEnergyTypeService.queryEnergyNameByEnergyTypeId(energyTypeid); - if("温湿度".equals(energyName)){ + if("温湿度".equals(energyName) || "湿度".equals(energyName)){ emsIOTData.monitorTypeArr.add("温度"); emsIOTData.monitorTypeArr.add("湿度"); } @@ -89,20 +89,29 @@ public class TWTempertureDataController extends BaseController /** * 查询物联网设备实时监控数据 - * @param monitorCodeList - * @return + * 该方法通过接收监控代码列表来查询相应设备的实时监控数据,并返回这些数据 + * 主要步骤包括:解析监控代码列表、为每个监控代码查询最近的监控数据、整理并返回查询结果 + * + * @param monitorCodeList 监控代码列表,多个代码以逗号分隔 + * @return 返回包含设备实时监控数据的AjaxResult对象 */ @GetMapping("/iotInstantMonitoring") public AjaxResult iotInstantMonitoring(String monitorCodeList){ + // 初始化一个列表,用于存储查询到的监控数据 List list = new ArrayList(); + + // 检查传入的监控代码列表是否不为空 if(StringUtils.isNotEmpty(monitorCodeList)){ + // 分割监控代码列表,以便逐个处理每个监控代码 String[] split = monitorCodeList.split(","); for (String monitorId : split) { - + // 创建一个TWTempertureData对象,用于存储单个监控点的数据 TWTempertureData tWTempertureData = new TWTempertureData(); tWTempertureData.setMonitorId(monitorId); + // 初始化参数Map,用于查询特定时间范围内的监控数据 Map params = new HashMap<>(); + // 获取当前时间,并计算5分钟前的时间,作为查询的开始时间 Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MINUTE,-5); Calendar startTime = (Calendar) calendar.clone(); @@ -110,18 +119,22 @@ public class TWTempertureDataController extends BaseController params.put("endRecordTime",sdf.format(new Date())); tWTempertureData.setParams(params); + // 调用服务方法,查询指定监控点在特定时间范围内的监控数据 List twTempertureData = tWTempertureDataService.selectIotInstantList(tWTempertureData); if(twTempertureData.size()>0){ - Optional first = twTempertureData.stream().sorted(Comparator.comparing(TWTempertureData::getRecodeTime)).findFirst(); + // 如果查询到数据,则选取记录时间最早的那条数据添加到结果列表中 + Optional first = twTempertureData.stream() + .sorted(Comparator.comparing(TWTempertureData::getRecodeTime)) + .findFirst(); list.add(first.get()); } - - } } + // 打印查询结果的JSON格式字符串 System.out.println(JSONArray.toJSONString(list)); + // 返回包含查询结果的成功响应 return success(list); } diff --git a/ruoyi-ui/src/views/ems/record/recordIOTInstant/generate.vue b/ruoyi-ui/src/views/ems/record/recordIOTInstant/generate.vue new file mode 100644 index 0000000..a04d146 --- /dev/null +++ b/ruoyi-ui/src/views/ems/record/recordIOTInstant/generate.vue @@ -0,0 +1,531 @@ + diff --git a/ruoyi-ui/src/views/ems/report/TemperatureHumidityMonitoring2/index.vue b/ruoyi-ui/src/views/ems/report/TemperatureHumidityMonitoring2/index.vue index 6568ce1..97d3d60 100644 --- a/ruoyi-ui/src/views/ems/report/TemperatureHumidityMonitoring2/index.vue +++ b/ruoyi-ui/src/views/ems/report/TemperatureHumidityMonitoring2/index.vue @@ -245,7 +245,7 @@ export default { /** 查询计量设备信息下拉树结构 */ getTreeselect() { - getMonitorInfoTree({ monitorTypeList: [3],monitorType:this.$route.query.monitorType}).then(response => { + getMonitorInfoTree({ monitorTypeList: [3]}).then(response => { this.monitorInfoOptions = response.data }) },