From b2bae900061830cb582e39df64459df009c923e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=82=96=E6=99=8B=E9=A3=9E?= <378266566@qq.com> Date: Mon, 1 Dec 2025 11:06:15 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=A2=9E=E5=8A=A0EXA=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/exa/vo/EXAHttp.java | 1 - .../alert/service/exa/EXAServiceImpl.java | 62 ++++++++++++++++++- .../yudao/module/alert/utils/EXAUtils.java | 28 ++++++++- 3 files changed, 84 insertions(+), 7 deletions(-) diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/vo/EXAHttp.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/vo/EXAHttp.java index 49de24d..57fa02c 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/vo/EXAHttp.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/vo/EXAHttp.java @@ -26,6 +26,5 @@ public class EXAHttp { private String UpperUpperLimit; private String LowerLowerLimit; @JSONField(name = "Value") // 映射JSON字段名 -// 解析时自动将JSON中的"desc"映射到description字段 private String Value; } diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/exa/EXAServiceImpl.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/exa/EXAServiceImpl.java index 22920b0..29926b6 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/exa/EXAServiceImpl.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/exa/EXAServiceImpl.java @@ -36,6 +36,14 @@ public class EXAServiceImpl implements EXAService { @Value("${EXA.ip}") private String EXA_IP; + + //根据测点名称测点描述模糊查询 + /** + * 根据测点名称测点描述模糊查询 + * + * @param reqVO 分页条件和测点名称测点描述模糊查询对象 + * @return 分页结果 + */ @Override public PageResult getEXAPage(EXAPageReqVO reqVO) throws IOException, URISyntaxException { List exaListAll = exaUtils.getPointInfo(EXA_IP,reqVO); @@ -47,6 +55,12 @@ public class EXAServiceImpl implements EXAService { return result; } + /** + * 根据点号列表查询实时值--循环每个点号,效率慢 + * + * @param list 点号列表 + * @return 分页结果 + */ @Override public List getEXAListNow(List list) throws URISyntaxException, IOException { @@ -62,20 +76,44 @@ public class EXAServiceImpl implements EXAService { return list; } + + /** + * 根据多个点号查询实时值--批量查询,效率高 + * + * @param list 点号列表 + * @return 分页结果 + */ @Override public EXAResult getEXAListNowReal(EXANowListReqVO list) throws URISyntaxException, IOException { return exaUtils.getNowDataList(EXA_IP,list); } + /** + * 根据点号查询实时值 + * + * @param itemName 点号 + * @return 分页结果 + */ @Override public String getEXANow(String itemName) throws URISyntaxException, IOException { return exaUtils.getNowData(EXA_IP,itemName).get(0); } + /** + * 根据点号查询历史值 + * + * @param exaHistoryReqVo 点号查询历史值对象 + * @return 分页结果 + */ @Override public List> getEXAHistory(EXAHistoryReqVO exaHistoryReqVo) { return exaUtils.getHistory(EXA_IP,exaHistoryReqVo); } - + /** + * 根据多个点号查询历史值 + * + * @param exaHistoryReqVo 点号查询历史值对象 + * @return 分页结果 + */ @Override public List>> getEXAHistorys(EXAHistoryReqVO exaHistoryReqVo) { return exaUtils.getHistorys(EXA_IP,exaHistoryReqVo); @@ -85,16 +123,33 @@ public class EXAServiceImpl implements EXAService { public String createPoint(Point pointVo) throws IOException { return exaUtils.setPoint(EXA_IP,pointVo); } + /** + * 查询EXA所有分组信息 + * + * @return 分页结果 + */ @Override public List getEXAGroupInfo() throws URISyntaxException, IOException { return exaUtils.getGroup(EXA_IP); } - + /** + * 删除EXA点号 + * + * @param ItemName 点号 + * @return 分页结果 + */ + @Override public String deletePoint(String ItemName){ return exaUtils.deletePoint(EXA_IP,ItemName); } - + /** + * 导入EXA点号 + * + * @param importPoints 导入点号列表 + * @param isUpdateSupport 是否支持更新 + * @return 分页结果 + */ @Override @Transactional(rollbackFor = Exception.class) // 添加事务,异常则回滚所有导入 public EXAPointImportRespVO importPointList(List importPoints, boolean isUpdateSupport) { @@ -120,6 +175,7 @@ public class EXAServiceImpl implements EXAService { return respVO; } + @Override public List getPointOptionList(String search) { try { diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/utils/EXAUtils.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/utils/EXAUtils.java index 2c573a8..439dd2e 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/utils/EXAUtils.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/utils/EXAUtils.java @@ -150,7 +150,13 @@ public class EXAUtils { return result; } - + /** + * 根据多个点号查询实时值 + * + * @param EXA_IP EXA 地址 + * @param exaNowListReqVO 传入对象,页数、页数量、查询条件 + * @return exa列表 + */ public EXAResult getNowDataList(String EXA_IP,EXANowListReqVO exaNowListReqVO) throws URISyntaxException, IOException { EXAResult result = new EXAResult(); try { @@ -174,9 +180,10 @@ public class EXAUtils { /** - * 根据分页条件和测点名称测点描述模糊查询 + * 根据点号、开始时间、结束时间查询历史数据 * * @param exaHistoryReqVo 传入对象,点号、开始时间、结束时间 + * itemName 单点号 * @return exa列表 */ public List> getHistory(String exaIp, EXAHistoryReqVO req) { @@ -221,6 +228,15 @@ public class EXAUtils { return result; } + // 批量查询历史数据 + /** + * 批量查询历史数据 + * + * @param EXA_IP EXA 地址 + * @param exaHistoryReqVo 传入对象,点号、开始时间、结束时间 + * itemName 逗号分隔的点号列表 + * @return exa列表 + */ public List>> getHistorys(String EXA_IP, EXAHistoryReqVO exaHistoryReqVo) { List>> results = new ArrayList<>(); @@ -239,7 +255,13 @@ public class EXAUtils { return results; } - //写入点号 + /** + * 写入点号 + * + * @param EXA_IP EXA 地址 + * @param point 点号对象 + * @return 写入结果 + */ public String setPoint(String EXA_IP, Point point) throws IOException { String requestPathAddItem = "http://" + EXA_IP + ":9000/exawebapi/EXAItem/AddItemStd"; String param = JSON.toJSONString(point);