From 2adf8fc0f027bfa897fb413dd28ad62c6179a871 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Sat, 11 Oct 2025 10:59:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/zhgd/xmgl/call/Mcs8Call.java | 9 +++ .../entity/vo/BigDangerCatalogVo.java | 4 +- .../impl/BigDangerCatalogServiceImpl.java | 5 +- .../xmgl/task/TunnelBoringMachineTask.java | 77 ++++++++++--------- .../java/com/zhgd/xmgl/util/TreeUtils.java | 8 +- 5 files changed, 63 insertions(+), 40 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/call/Mcs8Call.java b/src/main/java/com/zhgd/xmgl/call/Mcs8Call.java index 2576b2fb4..b5f871a3d 100644 --- a/src/main/java/com/zhgd/xmgl/call/Mcs8Call.java +++ b/src/main/java/com/zhgd/xmgl/call/Mcs8Call.java @@ -166,6 +166,9 @@ public class Mcs8Call implements PoliceCameraManufacturer { @Override public void updateStatus() { + if (configIsBlank()) { + return; + } List itemList = policeCameraItemService.list(new LambdaQueryWrapper() .eq(PoliceCameraItem::getProjectSn, config.getProjectSn())); Integer page = 1; @@ -190,5 +193,11 @@ public class Mcs8Call implements PoliceCameraManufacturer { } + public boolean configIsBlank() { + return StrUtil.isBlank(config.getIp()) + || StrUtil.isBlank(config.getPort()) + || StrUtil.isBlank(config.getAccount()) + || StrUtil.isBlank(config.getPassword()); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/bigdanger/entity/vo/BigDangerCatalogVo.java b/src/main/java/com/zhgd/xmgl/modules/bigdanger/entity/vo/BigDangerCatalogVo.java index e5629d361..ddaf8590c 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bigdanger/entity/vo/BigDangerCatalogVo.java +++ b/src/main/java/com/zhgd/xmgl/modules/bigdanger/entity/vo/BigDangerCatalogVo.java @@ -4,8 +4,10 @@ import com.zhgd.xmgl.modules.bigdanger.entity.BigDangerCatalog; import io.swagger.annotations.ApiModel; import lombok.Data; +import java.util.List; + @Data @ApiModel(value = "BigDangerCatalogVo实体类", description = "BigDangerCatalogVo实体类") public class BigDangerCatalogVo extends BigDangerCatalog { - + private List children; } diff --git a/src/main/java/com/zhgd/xmgl/modules/bigdanger/service/impl/BigDangerCatalogServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/bigdanger/service/impl/BigDangerCatalogServiceImpl.java index 013f73a9b..f81858eeb 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bigdanger/service/impl/BigDangerCatalogServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/bigdanger/service/impl/BigDangerCatalogServiceImpl.java @@ -15,6 +15,7 @@ import com.zhgd.xmgl.modules.bigdanger.entity.vo.BigDangerCatalogVo; import com.zhgd.xmgl.modules.bigdanger.mapper.BigDangerCatalogMapper; import com.zhgd.xmgl.modules.bigdanger.service.IBigDangerCatalogService; import com.zhgd.xmgl.util.*; +import org.apache.commons.collections4.MapUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -101,6 +102,8 @@ public class BigDangerCatalogServiceImpl extends ServiceImpl paramMap) { - return ListUtils.listToTree(JSONArray.parseArray(JSON.toJSONString(this.queryList(paramMap))), "id", "parentId", "children"); + String catalogName = MapUtils.getString(paramMap, "catalogName"); + paramMap.put("catalogName", null); + return TreeUtils.listToTree(JSONArray.parseArray(JSON.toJSONString(this.queryList(paramMap))), "id", "parentId", "children", "catalogName", catalogName); } } diff --git a/src/main/java/com/zhgd/xmgl/task/TunnelBoringMachineTask.java b/src/main/java/com/zhgd/xmgl/task/TunnelBoringMachineTask.java index 2dd8df3e8..95d5f531a 100644 --- a/src/main/java/com/zhgd/xmgl/task/TunnelBoringMachineTask.java +++ b/src/main/java/com/zhgd/xmgl/task/TunnelBoringMachineTask.java @@ -1,5 +1,6 @@ package com.zhgd.xmgl.task; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.http.HttpRequest; import com.alibaba.fastjson.JSON; @@ -113,47 +114,49 @@ public class TunnelBoringMachineTask { .body(); List list = Arrays.asList("螺机CH4", "螺机H2S", "螺机CO", "螺机CO2", "螺机NO2"); JSONObject jsonObject = JSONObject.parseObject(result); - if (jsonObject != null || jsonObject.getInteger("code") == 200) { + if (jsonObject != null && jsonObject.getInteger("code") == 200) { JSONArray data = jsonObject.getJSONArray("data"); - for (int i = 0; i < data.size(); i++) { - JSONObject obj = data.getJSONObject(i); - String name = obj.getString("name"); - if (list.contains(name)) { - PoisonousGasDevAlarm devAlarm = new PoisonousGasDevAlarm(); - devAlarm.setMonitorObject(tunnelBoringMachine.getDevName()); - devAlarm.setAlarmDetail(tunnelBoringMachine.getDevName() + name + ",当前值为" + obj.getDouble("aramValue")); - devAlarm.setDevSn(tunnelBoringMachine.getDevSn()); - devAlarm.setAlarmTime(new Date(obj.getLong("timestamp"))); - devAlarm.setProjectSn(tunnelBoringMachine.getProjectSn()); - devAlarm.setGasVal(obj.getDouble("aramValue")); - devAlarm.setUnit(2); - String aramFlag = obj.getString("aramFlag"); - if (aramFlag.equals("red ")) { - devAlarm.setAlarmType(7); - } else if (aramFlag.equals("yellow")) { - devAlarm.setAlarmType(8); + if (CollUtil.isNotEmpty(data)) { + for (int i = 0; i < data.size(); i++) { + JSONObject obj = data.getJSONObject(i); + String name = obj.getString("name"); + if (list.contains(name)) { + PoisonousGasDevAlarm devAlarm = new PoisonousGasDevAlarm(); + devAlarm.setMonitorObject(tunnelBoringMachine.getDevName()); + devAlarm.setAlarmDetail(tunnelBoringMachine.getDevName() + name + ",当前值为" + obj.getDouble("aramValue")); + devAlarm.setDevSn(tunnelBoringMachine.getDevSn()); + devAlarm.setAlarmTime(new Date(obj.getLong("timestamp"))); + devAlarm.setProjectSn(tunnelBoringMachine.getProjectSn()); + devAlarm.setGasVal(obj.getDouble("aramValue")); + devAlarm.setUnit(2); + String aramFlag = obj.getString("aramFlag"); + if (aramFlag.equals("red ")) { + devAlarm.setAlarmType(7); + } else if (aramFlag.equals("yellow")) { + devAlarm.setAlarmType(8); + } else { + devAlarm.setAlarmType(9); + } + poisonousGasDevAlarmMapper.insert(devAlarm); } else { - devAlarm.setAlarmType(9); - } - poisonousGasDevAlarmMapper.insert(devAlarm); - } else { - TunnelBoringMachineAlarm tunnelBoringMachineAlarm = new TunnelBoringMachineAlarm(); - tunnelBoringMachineAlarm.setAlarmType(name); - tunnelBoringMachineAlarm.setDevSn(tunnelBoringMachine.getDevSn()); - tunnelBoringMachineAlarm.setProjectSn(tunnelBoringMachine.getProjectSn()); - tunnelBoringMachineAlarm.setType(obj.getString("aramFlag")); + TunnelBoringMachineAlarm tunnelBoringMachineAlarm = new TunnelBoringMachineAlarm(); + tunnelBoringMachineAlarm.setAlarmType(name); + tunnelBoringMachineAlarm.setDevSn(tunnelBoringMachine.getDevSn()); + tunnelBoringMachineAlarm.setProjectSn(tunnelBoringMachine.getProjectSn()); + tunnelBoringMachineAlarm.setType(obj.getString("aramFlag")); // tunnelBoringMachineAlarm.setExceed(exceed - alarmValue); - tunnelBoringMachineAlarm.setAlarmValue(obj.getDouble("aramValue")); - tunnelBoringMachineAlarm.setLine(tunnelBoringMachine.getLine()); - tunnelBoringMachineAlarm.setAlarmTime(new Date(obj.getLong("timestamp"))); - TunnelBoringMachineAlarm exist = tunnelBoringMachineAlarmMapper.selectOne(Wrappers.lambdaQuery() - .eq(TunnelBoringMachineAlarm::getDevSn, tunnelBoringMachineAlarm.getDevSn()) - .eq(TunnelBoringMachineAlarm::getAlarmTime, tunnelBoringMachineAlarm.getAlarmTime())); + tunnelBoringMachineAlarm.setAlarmValue(obj.getDouble("aramValue")); + tunnelBoringMachineAlarm.setLine(tunnelBoringMachine.getLine()); + tunnelBoringMachineAlarm.setAlarmTime(new Date(obj.getLong("timestamp"))); + TunnelBoringMachineAlarm exist = tunnelBoringMachineAlarmMapper.selectOne(Wrappers.lambdaQuery() + .eq(TunnelBoringMachineAlarm::getDevSn, tunnelBoringMachineAlarm.getDevSn()) + .eq(TunnelBoringMachineAlarm::getAlarmTime, tunnelBoringMachineAlarm.getAlarmTime())); // tunnelBoringMachineCurrentData.setWorkerStatus(); - if (exist != null) { - return; + if (exist != null) { + return; + } + tunnelBoringMachineAlarmMapper.insert(tunnelBoringMachineAlarm); } - tunnelBoringMachineAlarmMapper.insert(tunnelBoringMachineAlarm); } } } @@ -184,7 +187,7 @@ public class TunnelBoringMachineTask { .execute() .body(); JSONObject jsonObject = JSONObject.parseObject(result); - if (jsonObject != null || jsonObject.getInteger("code") == 200) { + if (jsonObject != null && jsonObject.getInteger("code") == 200) { TunnelBoringMachineCurrentData tunnelBoringMachineCurrentData = new TunnelBoringMachineCurrentData(); tunnelBoringMachineCurrentData.setDeviceSn(tunnelBoringMachine.getDevSn()); tunnelBoringMachineCurrentData.setProjectSn(tunnelBoringMachine.getProjectSn()); diff --git a/src/main/java/com/zhgd/xmgl/util/TreeUtils.java b/src/main/java/com/zhgd/xmgl/util/TreeUtils.java index 2dcd95845..3252c20a7 100644 --- a/src/main/java/com/zhgd/xmgl/util/TreeUtils.java +++ b/src/main/java/com/zhgd/xmgl/util/TreeUtils.java @@ -222,7 +222,13 @@ public class TreeUtils { } /** - * 保留原方法的重载版本(兼容旧代码) + * list转tree,保留树形结构 + * + * @param arr + * @param id + * @param pid + * @param child + * @return */ public static JSONArray listToTree(JSONArray arr, String id, String pid, String child) { return buildTree(arr, id, pid, child);