Browse Source

屏蔽设置增加类型

master
review512jwy@163.com 2 weeks ago
parent
commit
5f414f1f69
  1. 18
      src/main/java/com/techsor/datacenter/sender/dao/DashboardBlockConfigDao.java
  2. 3
      src/main/java/com/techsor/datacenter/sender/dao/DeviceDao.java
  3. 2
      src/main/java/com/techsor/datacenter/sender/dto/BlockConfigDTO.java
  4. 2
      src/main/java/com/techsor/datacenter/sender/entitiy/DeviceEntity.java
  5. 1
      src/main/java/com/techsor/datacenter/sender/service/CsdjService.java
  6. 1
      src/main/java/com/techsor/datacenter/sender/service/F10Service.java
  7. 16
      src/main/java/com/techsor/datacenter/sender/service/impl/DataProcessServiceImpl.java

18
src/main/java/com/techsor/datacenter/sender/dao/DashboardBlockConfigDao.java

@ -26,7 +26,7 @@ public class DashboardBlockConfigDao {
if (buildingId == null) { if (buildingId == null) {
return Collections.emptyList(); return Collections.emptyList();
} }
String sql = "SELECT id, building_id, start_time, end_time, block_big_class_id " + String sql = "SELECT id, building_id, start_time, end_time, block_big_class_id, category_type " +
"FROM dashboard_block_config " + "FROM dashboard_block_config " +
"WHERE building_id = ? AND flag = 0 AND status = 0 "; "WHERE building_id = ? AND flag = 0 AND status = 0 ";
return jdbcTemplate.query(sql, (rs, rowNum) -> { return jdbcTemplate.query(sql, (rs, rowNum) -> {
@ -39,6 +39,22 @@ public class DashboardBlockConfigDao {
if (blockBigClassIdStr != null && !blockBigClassIdStr.trim().isEmpty()) { if (blockBigClassIdStr != null && !blockBigClassIdStr.trim().isEmpty()) {
dto.setBlockBigClassId(JSON.parseArray(blockBigClassIdStr, Long.class)); dto.setBlockBigClassId(JSON.parseArray(blockBigClassIdStr, Long.class));
} }
String categoryType = rs.getString("category_type");
if (categoryType != null && !categoryType.trim().isEmpty()) {
if (categoryType.contains("f10")) {
dto.getCategoryTypeId().add(1011L);
}
if (categoryType.contains("csdj")) {
dto.getCategoryTypeId().add(1012L);
}
if (categoryType.contains("main")) {
for (long i = 1001L; i <= 1010L; i++) {
dto.getCategoryTypeId().add(i);
}
}
}
return dto; return dto;
}, buildingId); }, buildingId);
} }

3
src/main/java/com/techsor/datacenter/sender/dao/DeviceDao.java

@ -165,12 +165,14 @@ public class DeviceDao {
+ " dinfo.project_id,\r\n" + " dinfo.project_id,\r\n"
+ " bfloor.floor_id,\r\n" + " bfloor.floor_id,\r\n"
+ " basset.class_big_id,\r\n" + " basset.class_big_id,\r\n"
+ " ty.device_category_id categoryId,\r\n"
+ " dinfo.asset_id\r\n" + " dinfo.asset_id\r\n"
+ "FROM device_info dinfo\r\n" + "FROM device_info dinfo\r\n"
+ "INNER JOIN basic_monitoring_asset basset ON dinfo.asset_id = basset.equipment_id\r\n" + "INNER JOIN basic_monitoring_asset basset ON dinfo.asset_id = basset.equipment_id\r\n"
+ "INNER JOIN basic_space bspace ON bspace.space_id = basset.space_id\r\n" + "INNER JOIN basic_space bspace ON bspace.space_id = basset.space_id\r\n"
+ "INNER JOIN basic_floor bfloor ON bfloor.floor_id = bspace.floor_id\r\n" + "INNER JOIN basic_floor bfloor ON bfloor.floor_id = bspace.floor_id\r\n"
+ "INNER JOIN basic_building bbuilding ON bfloor.building_id = bbuilding.building_id\r\n" + "INNER JOIN basic_building bbuilding ON bfloor.building_id = bbuilding.building_id\r\n"
+ "LEFT JOIN type ty ON ty.id = dinfo.type_id\r\n"
+ "WHERE dinfo.flag != 1 AND basset.flag != 1 AND bspace.flag != 1 AND bfloor.flag != 1 AND bbuilding.flag != 1 AND\r\n" + "WHERE dinfo.flag != 1 AND basset.flag != 1 AND bspace.flag != 1 AND bfloor.flag != 1 AND bbuilding.flag != 1 AND\r\n"
+ "dinfo.device_id='"+deviceId+"'"; + "dinfo.device_id='"+deviceId+"'";
List<DeviceEntity> dataList = jdbcTemplate.query(sql, List<DeviceEntity> dataList = jdbcTemplate.query(sql,
@ -188,6 +190,7 @@ public class DeviceDao {
item.setFloorId(rs.getLong("floor_id")); item.setFloorId(rs.getLong("floor_id"));
item.setAssetId(rs.getLong("asset_id")); item.setAssetId(rs.getLong("asset_id"));
item.setBigClassId(rs.getLong("class_big_id")); item.setBigClassId(rs.getLong("class_big_id"));
item.setCategoryId(rs.getLong("categoryId"));
return item; return item;
}); });
return dataList; return dataList;

2
src/main/java/com/techsor/datacenter/sender/dto/BlockConfigDTO.java

@ -2,6 +2,7 @@ package com.techsor.datacenter.sender.dto;
import lombok.Data; import lombok.Data;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@Data @Data
@ -11,4 +12,5 @@ public class BlockConfigDTO {
private Long startTime; private Long startTime;
private Long endTime; private Long endTime;
private List<Long> blockBigClassId; private List<Long> blockBigClassId;
private List<Long> blockCategoryTypeId = new ArrayList<>();
} }

2
src/main/java/com/techsor/datacenter/sender/entitiy/DeviceEntity.java

@ -72,4 +72,6 @@ public class DeviceEntity implements Serializable {
private Long bigClassId; private Long bigClassId;
private Long categoryId;
} }

1
src/main/java/com/techsor/datacenter/sender/service/CsdjService.java

@ -135,6 +135,7 @@ public class CsdjService {
deviceInfoVO.setDeviceId(deviceEntity.getDeviceId()); deviceInfoVO.setDeviceId(deviceEntity.getDeviceId());
deviceInfoVO.setBuildingId(deviceEntity.getBuildingId()); deviceInfoVO.setBuildingId(deviceEntity.getBuildingId());
deviceInfoVO.setBigClassId(deviceEntity.getBigClassId()); deviceInfoVO.setBigClassId(deviceEntity.getBigClassId());
deviceInfoVO.setCategoryId(deviceEntity.getCategoryId());
DynamodbEntity entity = new DynamodbEntity(); DynamodbEntity entity = new DynamodbEntity();
entity.setDeviceId(terminalId); entity.setDeviceId(terminalId);

1
src/main/java/com/techsor/datacenter/sender/service/F10Service.java

@ -205,6 +205,7 @@ public class F10Service {
deviceInfoVO.setDeviceId(deviceEntity.get(0).getDeviceId()); deviceInfoVO.setDeviceId(deviceEntity.get(0).getDeviceId());
deviceInfoVO.setBuildingId(deviceEntity.get(0).getBuildingId()); deviceInfoVO.setBuildingId(deviceEntity.get(0).getBuildingId());
deviceInfoVO.setBigClassId(deviceEntity.get(0).getBigClassId()); deviceInfoVO.setBigClassId(deviceEntity.get(0).getBigClassId());
deviceInfoVO.setCategoryId(deviceEntity.get(0).getCategoryId());
if (!isExpired){ if (!isExpired){
DynamodbEntity entity = new DynamodbEntity(); DynamodbEntity entity = new DynamodbEntity();

16
src/main/java/com/techsor/datacenter/sender/service/impl/DataProcessServiceImpl.java

@ -707,6 +707,7 @@ public class DataProcessServiceImpl implements IDataProcessService {
&& now >= config.getStartTime() && now >= config.getStartTime()
&& now <= config.getEndTime() && now <= config.getEndTime()
&& isBigClassBlocked(config.getBlockBigClassId(), deviceInfoVO.getBigClassId()) && isBigClassBlocked(config.getBlockBigClassId(), deviceInfoVO.getBigClassId())
&& isCategoryTypeBlocked(config.getBlockCategoryTypeId(), deviceInfoVO.getCategoryId())
); );
deviceInfoVO.setAlertBlock(inBlockPeriod ? 1 : 0); deviceInfoVO.setAlertBlock(inBlockPeriod ? 1 : 0);
if (inBlockPeriod) { if (inBlockPeriod) {
@ -731,6 +732,21 @@ public class DataProcessServiceImpl implements IDataProcessService {
return blockBigClassIds.contains(bigClassId); return blockBigClassIds.contains(bigClassId);
} }
/**
* 判断设备categoryId是否在屏蔽范围内
* @param blockCategoryTypeIds 屏蔽配置的categoryTypeId列表null或空表示屏蔽所有类别
* @param categoryId 设备的categoryId
*/
private boolean isCategoryTypeBlocked(List<Long> blockCategoryTypeIds, Long categoryId) {
if (blockCategoryTypeIds == null || blockCategoryTypeIds.isEmpty()) {
return true; // 未配置则屏蔽所有类别
}
if (categoryId == null) {
return false; // 设备无categoryId则不匹配
}
return blockCategoryTypeIds.contains(categoryId);
}
// private void sysAlarmNotify(DynamodbEntity baseTransDataEntity, DeviceInfoVO deviceInfoVO) throws Exception { // private void sysAlarmNotify(DynamodbEntity baseTransDataEntity, DeviceInfoVO deviceInfoVO) throws Exception {
// String temp = "建物「{0}」の監視ポイント「{1}」でアラームが発生しました"; // String temp = "建物「{0}」の監視ポイント「{1}」でアラームが発生しました";

Loading…
Cancel
Save