ソースを参照

监控告警颜色区分

lipenghui 4 日 前
コミット
dc163264d0

+ 1 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/ThingsModelDTO.java

@@ -116,4 +116,5 @@ public class ThingsModelDTO {
      */
     private Integer canSend;
 
+    private String ifAlarm;
 }

+ 1 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/tdparams/IotTdParamsDO.java

@@ -56,4 +56,5 @@ public class IotTdParamsDO extends BaseDO {
      */
     private Long modelOrder;
 
+    private String ifAlarm;
 }

+ 3 - 3
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/job/alarm/AlarmJob.java

@@ -75,9 +75,6 @@ public class AlarmJob implements JobHandler {
         Timestamp end = generateTimestamp(now);
         List<IotDeviceDO> collect = list.stream().filter(e -> e.getIfInline() == 3).collect(Collectors.toList());
         collect.forEach(f ->{
-            if ("YF214".equals(f.getDeviceCode())) {
-                System.out.println("333333");
-            }
             //调用延凡接口获取该设备的所有参数
 //            List<ThingsModelDTO> tdParams = iotDeviceService.getTdParams(f);
             List<IotTdParamsDO> tdParams = iotTdParamsMapper.selectList("device_id", f.getId());
@@ -88,6 +85,9 @@ public class AlarmJob implements JobHandler {
                     String minValue = t.getMinValue();
                     Integer count = tdDeviceMapper.selectRangeCount(f.getDeviceCode(), t.getPropertyCode(), start, end, maxValue, minValue);
                     if (count == 0) {
+                        //准备告警,设置该设备该属性为其他颜色
+                        model.setIfAlarm("alarm");
+                        iotTdParamsMapper.updateById(model);
                         IotDevicePersonPageReqVO pageReqVO = new IotDevicePersonPageReqVO();
                         pageReqVO.setDeviceIds(ImmutableList.of(f.getId()));
                         List<IotDevicePersonDO> persons = iotDevicePersonService.getPersonsByDeviceIds(pageReqVO);

+ 9 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/IotDeviceServiceImpl.java

@@ -286,11 +286,20 @@ public class IotDeviceServiceImpl implements IotDeviceService {
 
     @Override
     public List<ThingsModelDTO> getTdParams(IotDeviceDO iotDeviceDO) {
+        List<IotTdParamsDO> paramsDOS1 = iotTdParamsMapper.selectList("device_id", iotDeviceDO.getId());
         TableDataInfo tableDataInfo = restTemplate.getForObject(yanfanUrl + "/prod-api/iot/device/listThingsModel?deviceId="+iotDeviceDO.getYfDeviceId()+"&pageNum=1&pageSize=200", TableDataInfo.class);
         if (tableDataInfo == null) {
             return new ArrayList<>();
         }
         List<ThingsModelDTO> rows = JSON.parseArray(JSON.toJSONString(tableDataInfo.getRows()), ThingsModelDTO.class);
+        rows.forEach(e ->{
+            IotTdParamsDO paramsDO = paramsDOS1.stream().filter(f -> f.getIdentifier().equals(e.getIdentifier())).findFirst().orElse(null);
+            if (Objects.nonNull(paramsDO)) {
+                if ("alarm".equals(paramsDO.getIfAlarm())) {
+                    e.setIfAlarm("alarm");
+                }
+            }
+        });
         LinkedList<String> zhbds = new LinkedList<>();
         String[] split1 = parameter.split(",");
         Arrays.stream(split1).collect(Collectors.toList()).forEach(e ->{