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/controller/admin/instant/vo/pointInfo.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/instant/vo/pointInfo.java index a4b39d4..d150db6 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/instant/vo/pointInfo.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/instant/vo/pointInfo.java @@ -6,19 +6,19 @@ import lombok.Data; @Data public class pointInfo { - @JsonProperty(value="PointId") + @JsonProperty(value="pointId") @Schema(description = "点号", example = "id") - private String PointId; + private String pointId; - @JsonProperty(value="Description") + @JsonProperty(value="description") @Schema(description = "描述", example = "yudao") - private String Description; + private String description; - @JsonProperty(value="Unit") + @JsonProperty(value="unit") @Schema(description = "单位", example = "yudao") - private String Unit; + private String unit; - @JsonProperty(value="Type") + @JsonProperty(value="type") @Schema(description = "类型(输入-false;输出-true;ANN-空)", example = "yudao") - private Object Type; + private Object type; } diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/warn/vo/WarnRespVO.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/warn/vo/WarnRespVO.java index 338b900..92171c1 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/warn/vo/WarnRespVO.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/warn/vo/WarnRespVO.java @@ -30,6 +30,8 @@ public class WarnRespVO { private String mpName; + private String equation; + private String outputPoint; private String unit; diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/warn/vo/WarnSaveReqVO.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/warn/vo/WarnSaveReqVO.java index f3627c4..7c514f0 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/warn/vo/WarnSaveReqVO.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/warn/vo/WarnSaveReqVO.java @@ -18,15 +18,15 @@ public class WarnSaveReqVO { private Long id; @Schema(description = "实例编号", example = "1") - @NotNull(message = "实例编号不能为空") +// @NotNull(message = "实例编号不能为空") private Long mpId; @Schema(description = "点号", example = "1") - @NotNull(message = "点号不能为空") +// @NotNull(message = "点号不能为空") private String pointId; @Schema(description = "点号", example = "1") - @NotNull(message = "点号不能为空") +// @NotNull(message = "点号不能为空") private String pointName; @Schema(description = "光子牌", example = "1") @@ -34,15 +34,15 @@ public class WarnSaveReqVO { private String gzpName; @Schema(description = "报警表达式", example = "1") - @NotNull(message = "报警表达式不能为空") +// @NotNull(message = "报警表达式不能为空") private String equation; @Schema(description = "输出点号", example = "1") - @NotNull(message = "输出点号不能为空") +// @NotNull(message = "输出点号不能为空") private String outputPoint; @Schema(description = "单位", example = "1") - @NotNull(message = "单位不能为空") +// @NotNull(message = "单位不能为空") private String unit; @Schema(description = "参与报警", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/warn/warnController.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/warn/warnController.java index a4e5a3d..d42e3ca 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/warn/warnController.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/warn/warnController.java @@ -36,7 +36,7 @@ public class warnController { @GetMapping("/page") @Operation(summary = "获得预警分页列表") @PreAuthorize("@ss.hasPermission('run:warn:query')") - public CommonResult> getInstantPage(@Valid WarnPageReqVO pageReqVO) { + public CommonResult> getWarnPage(@Valid WarnPageReqVO pageReqVO) { PageResult pageResult = warnService.getWarnPage(pageReqVO); return success(BeanUtils.toBean(pageResult, WarnRespVO.class)); } @@ -52,7 +52,7 @@ public class warnController { @PutMapping("/update") @Operation(summary = "修改预警") @PreAuthorize("@ss.hasPermission('run:warn:update')") - public CommonResult updateInstant(@Valid @RequestBody WarnSaveReqVO updateReqVO) { + public CommonResult updateWarn(@Valid @RequestBody WarnSaveReqVO updateReqVO) { warnService.updateWarn(updateReqVO); return success(true); } diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dal/dataobject/report/Report.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dal/dataobject/report/Report.java index 81ca84b..c5c2693 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dal/dataobject/report/Report.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dal/dataobject/report/Report.java @@ -7,12 +7,14 @@ import java.util.List; @Data public class Report { - public List assess; + //相较于windows版本字段有变化 + + public List assessRows; @Data public static class point { - public String PointId; + public String pointId; public double amplitude; public int index; } diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dal/dataobject/warn/WarnDO.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dal/dataobject/warn/WarnDO.java index 63e369b..19dbaa1 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dal/dataobject/warn/WarnDO.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dal/dataobject/warn/WarnDO.java @@ -28,7 +28,8 @@ public class WarnDO extends BaseDO { private String formula; private String unit; - + private String equation; + private String outputPoint; //报警类型-id private Long alarmLevel; //报警类型 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/service/instant/InstantServiceImpl.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/instant/InstantServiceImpl.java index b0f7c11..0acce82 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/instant/InstantServiceImpl.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/instant/InstantServiceImpl.java @@ -244,7 +244,7 @@ public class InstantServiceImpl implements InstantService { Report reportObj = JsonUtils.parseObject(report.getReport(), Report.class); // 此处可根据业务需求处理解析后的Report对象(如后续预警逻辑) // 循环getInputInfo构建并插入预警记录 - for (int j = 0; j < reportObj.getAssess().size(); j++) { + for (int j = 0; j < reportObj.getAssessRows().size(); j++) { WarnSaveReqVO warnSaveReqVO = new WarnSaveReqVO(); @@ -252,14 +252,14 @@ public class InstantServiceImpl implements InstantService { // warn.setId(insertId); //设置实例id warnSaveReqVO.setMpId(instant.getId()); - warnSaveReqVO.setPointId(createReqVO.getInputInfo().get(reportObj.getAssess().get(j).getIndex())); - warnSaveReqVO.setPointName(createReqVO.getInputName().get(reportObj.getAssess().get(j).getIndex())); - warnSaveReqVO.setGzpName(createReqVO.getInputName().get(reportObj.getAssess().get(j).getIndex())); - warnSaveReqVO.setEquation("[" + createReqVO.getBiasPointInfo().get(reportObj.getAssess().get(j).getIndex()) + "]>UPLIMIT or [" + createReqVO.getBiasPointInfo().get(reportObj.getAssess().get(j).getIndex()) + "]UPLIMIT or [" + createReqVO.getBiasPointInfo().get(reportObj.getAssessRows().get(j).getIndex()) + "]> 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);