diff --git a/src/main/java/com/techsor/datacenter/sender/dao/DashboardAlertDao.java b/src/main/java/com/techsor/datacenter/sender/dao/DashboardAlertDao.java index 3c9230a..7b112e0 100644 --- a/src/main/java/com/techsor/datacenter/sender/dao/DashboardAlertDao.java +++ b/src/main/java/com/techsor/datacenter/sender/dao/DashboardAlertDao.java @@ -167,8 +167,8 @@ public class DashboardAlertDao { public Long insertAlertHistory(DynamodbEntity entity, int sourceType) { String sql = "INSERT INTO alert_history (" + - "device_id, receive_ts, source_type" + - ") VALUES (?, ?, ?)"; + "device_id, receive_ts, source_type, block_flag " + + ") VALUES (?, ?, ?, ?)"; KeyHolder keyHolder = new GeneratedKeyHolder(); @@ -177,6 +177,7 @@ public class DashboardAlertDao { ps.setString(1, entity.getDeviceId()); ps.setLong(2, entity.getReceive_ts()); ps.setInt(3, sourceType); + ps.setLong(4, entity.getAlertBlock()); return ps; }, keyHolder); diff --git a/src/main/java/com/techsor/datacenter/sender/dao/DeviceDao.java b/src/main/java/com/techsor/datacenter/sender/dao/DeviceDao.java index 28f00a5..4baf641 100644 --- a/src/main/java/com/techsor/datacenter/sender/dao/DeviceDao.java +++ b/src/main/java/com/techsor/datacenter/sender/dao/DeviceDao.java @@ -153,7 +153,26 @@ public class DeviceDao { return new ArrayList<>(); } String sql = ""; - sql = "SELECT id,company_id,device_id,device_sn,type_id,space_id,building_id,device_name,project_id,floor_id,asset_id FROM device_info WHERE device_id='"+deviceId+"' and flag!=1"; + sql = "SELECT\r\n" + + " dinfo.id,\r\n" + + " dinfo.company_id,\r\n" + + " dinfo.device_id,\r\n" + + " dinfo.device_sn,\r\n" + + " dinfo.type_id,\r\n" + + " bspace.space_id,\r\n" + + " bbuilding.building_id,\r\n" + + " dinfo.device_name,\r\n" + + " dinfo.project_id,\r\n" + + " bfloor.floor_id,\r\n" + + " basset.class_big_id,\r\n" + + " dinfo.asset_id\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_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_building bbuilding ON bfloor.building_id = bbuilding.building_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" + + "dinfo.device_id='"+deviceId+"'"; List dataList = jdbcTemplate.query(sql, (rs, rowNum) -> { DeviceEntity item = new DeviceEntity(); @@ -168,6 +187,7 @@ public class DeviceDao { item.setProjectId(rs.getLong("project_id")); item.setFloorId(rs.getLong("floor_id")); item.setAssetId(rs.getLong("asset_id")); + item.setBigClassId(rs.getLong("class_big_id")); return item; }); return dataList; diff --git a/src/main/java/com/techsor/datacenter/sender/entitiy/DeviceEntity.java b/src/main/java/com/techsor/datacenter/sender/entitiy/DeviceEntity.java index 6ab967b..77fe284 100644 --- a/src/main/java/com/techsor/datacenter/sender/entitiy/DeviceEntity.java +++ b/src/main/java/com/techsor/datacenter/sender/entitiy/DeviceEntity.java @@ -69,5 +69,7 @@ public class DeviceEntity implements Serializable { private Long updatedBy; private Long updatedTimestamp; + + private Long bigClassId; } diff --git a/src/main/java/com/techsor/datacenter/sender/service/F10Service.java b/src/main/java/com/techsor/datacenter/sender/service/F10Service.java index 82cc18c..9be7002 100644 --- a/src/main/java/com/techsor/datacenter/sender/service/F10Service.java +++ b/src/main/java/com/techsor/datacenter/sender/service/F10Service.java @@ -7,6 +7,7 @@ import com.techsor.datacenter.sender.config.DataSourceContextHolder; import com.techsor.datacenter.sender.dao.DashboardAlertDao; import com.techsor.datacenter.sender.dao.DeviceDao; import com.techsor.datacenter.sender.dao.F10Dao; +import com.techsor.datacenter.sender.dto.DeviceInfoVO; import com.techsor.datacenter.sender.entitiy.DeviceEntity; import com.techsor.datacenter.sender.entitiy.DynamodbEntity; import com.techsor.datacenter.sender.entitiy.company.TopCompanyInfo; @@ -48,6 +49,8 @@ public class F10Service { private DeviceDao deviceDao; @Autowired private DashboardAlertDao dashboardAlertDao; + @Autowired + private IDataProcessService dataProcessService; @@ -198,10 +201,19 @@ public class F10Service { Long companyId = deviceEntity.get(0).getCompanyId(); f10JournalLog.setCompanyId(companyId); + DeviceInfoVO deviceInfoVO = new DeviceInfoVO(); + deviceInfoVO.setDeviceId(deviceEntity.get(0).getDeviceId()); + deviceInfoVO.setBuildingId(deviceEntity.get(0).getBuildingId()); + deviceInfoVO.setBigClassId(deviceEntity.get(0).getBigClassId()); + if (!isExpired){ DynamodbEntity entity = new DynamodbEntity(); entity.setDeviceId(f10JournalLog.getDeviceId()); if ("1".equals(f10JournalLog.getInstructionFlag())){ + + dataProcessService.setAlertBlock(deviceInfoVO); + entity.setAlertBlock(deviceInfoVO.getAlertBlock()); + entity.setReceive_ts(currentTs); Long dbId = dashboardAlertDao.insertAlertHistory(entity, 2); f10JournalLog.setAlertHistoryId(dbId); diff --git a/src/main/java/com/techsor/datacenter/sender/service/IDataProcessService.java b/src/main/java/com/techsor/datacenter/sender/service/IDataProcessService.java index bc0d37a..dc647cf 100644 --- a/src/main/java/com/techsor/datacenter/sender/service/IDataProcessService.java +++ b/src/main/java/com/techsor/datacenter/sender/service/IDataProcessService.java @@ -1,5 +1,6 @@ package com.techsor.datacenter.sender.service; +import com.techsor.datacenter.sender.dto.DeviceInfoVO; import com.techsor.datacenter.sender.entitiy.DynamodbEntity; import com.techsor.datacenter.sender.entitiy.ResultDeviceIdEntity; @@ -20,5 +21,7 @@ public interface IDataProcessService { void processZAIoTData(ResultDeviceIdEntity entity); - void minuteLevelStorage(DynamodbEntity baseTransDataEntity) throws Exception; + void setAlertBlock(DeviceInfoVO deviceInfoVO); + + void minuteLevelStorage(DynamodbEntity baseTransDataEntity) throws Exception; } diff --git a/src/main/java/com/techsor/datacenter/sender/service/impl/DataProcessServiceImpl.java b/src/main/java/com/techsor/datacenter/sender/service/impl/DataProcessServiceImpl.java index 983a8ff..7ec6406 100644 --- a/src/main/java/com/techsor/datacenter/sender/service/impl/DataProcessServiceImpl.java +++ b/src/main/java/com/techsor/datacenter/sender/service/impl/DataProcessServiceImpl.java @@ -695,7 +695,8 @@ public class DataProcessServiceImpl implements IDataProcessService { //更新 } - private void setAlertBlock(DeviceInfoVO deviceInfoVO) { + @Override + public void setAlertBlock(DeviceInfoVO deviceInfoVO) { if (deviceInfoVO != null && deviceInfoVO.getBuildingId() != null) { List blockConfigs = dashboardBlockConfigDao .queryActiveBlockConfigsByBuildingId(deviceInfoVO.getBuildingId());