diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java index 308fa32..3ea8fc9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java @@ -120,4 +120,6 @@ @ApiModelProperty("监测对象id") private String watchObject; + private String manufactureName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java index 308fa32..3ea8fc9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java @@ -120,4 +120,6 @@ @ApiModelProperty("监测对象id") private String watchObject; + private String manufactureName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 45f621c..d5da07e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -29,6 +29,7 @@ import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.modular.device.service.IBusLedgerPipeService; import com.casic.missiles.modular.device.service.IBusLedgerService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.server.CommonServer; @@ -71,6 +72,7 @@ private final IBusLedgerService iBusLedgerService; private final IBusLedgerPipeService iBusLedgerPipeService; private final IAlarmEventProductService iAlarmEventProductService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.brAppUrl}") private String brAppUrl; @@ -860,49 +862,57 @@ @Transactional @Override public void processOffline() { - //注意:报警类型一律为“OffLine” - List offDeviceDTOList = this.baseMapper.getOfflineDevices(); - List alarmRecordsList = new ArrayList<>(); - List ledgers = new ArrayList<>(); - for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) - continue; - } else { - //默认7天 - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) - continue; + try { + //注意:报警类型一律为“OffLine” + List offDeviceDTOList = this.baseMapper.getOfflineDevices(); + List alarmRecordsList = new ArrayList<>(); + List ledgers = new ArrayList<>(); + for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) + continue; + } else { + //默认7天 + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) + continue; + } } - } - AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), - offDeviceDTO.getLedgerCode(), - offDeviceDTO.getTagNumber(), - offDeviceDTO.getAlarmTypeId(), + AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), + offDeviceDTO.getLedgerCode(), + offDeviceDTO.getTagNumber(), + offDeviceDTO.getAlarmTypeId(), // offDeviceDTO.getAlarmTypeName(), - "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", - offDeviceDTO.getAlarmLevelId(), - new Date(), - offDeviceDTO.getAlarmThreshold(), - offDeviceDTO.getPlace(), "1"); - alarmRecordsList.add(alarmRecords); - ledgers.add(offDeviceDTO); - } - if (alarmRecordsList.size() > 0) { - this.saveBatch(alarmRecordsList); + "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", + offDeviceDTO.getAlarmLevelId(), + new Date(), + offDeviceDTO.getAlarmThreshold(), + offDeviceDTO.getPlace(), "1"); + alarmRecordsList.add(alarmRecords); + ledgers.add(offDeviceDTO); + } + if (alarmRecordsList.size() > 0) { + this.saveBatch(alarmRecordsList); - //更新设备表状态 - List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); - iBusDeviceService.updateBusDeviceStatus(devcodeStrs); - //更新点位表 - List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); - if (ledgerCodes != null && ledgerCodes.size() > 0) - iBusLedgerService.updateLedgerStatus(ledgerCodes); - List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); - if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) - iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); - //toDo:需添加离线分析记录 + //更新设备表状态 + List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); + iBusDeviceService.updateBusDeviceStatus(devcodeStrs); + //更新点位表 + List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); + if (ledgerCodes != null && ledgerCodes.size() > 0) + iBusLedgerService.updateLedgerStatus(ledgerCodes); + List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); + if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) + iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); + //加入监控日志 + //toDo:需添加离线分析记录 + } + iMonitorLogService.saveMonitorLog("offline", "1", "离线任务判断", "1"); + } catch (Exception e) { + //添加监控异常日志 + iMonitorLogService.saveMonitorLog("offline", "0", "离线任务判断", "1"); + e.printStackTrace(); } } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java index 308fa32..3ea8fc9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java @@ -120,4 +120,6 @@ @ApiModelProperty("监测对象id") private String watchObject; + private String manufactureName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 45f621c..d5da07e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -29,6 +29,7 @@ import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.modular.device.service.IBusLedgerPipeService; import com.casic.missiles.modular.device.service.IBusLedgerService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.server.CommonServer; @@ -71,6 +72,7 @@ private final IBusLedgerService iBusLedgerService; private final IBusLedgerPipeService iBusLedgerPipeService; private final IAlarmEventProductService iAlarmEventProductService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.brAppUrl}") private String brAppUrl; @@ -860,49 +862,57 @@ @Transactional @Override public void processOffline() { - //注意:报警类型一律为“OffLine” - List offDeviceDTOList = this.baseMapper.getOfflineDevices(); - List alarmRecordsList = new ArrayList<>(); - List ledgers = new ArrayList<>(); - for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) - continue; - } else { - //默认7天 - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) - continue; + try { + //注意:报警类型一律为“OffLine” + List offDeviceDTOList = this.baseMapper.getOfflineDevices(); + List alarmRecordsList = new ArrayList<>(); + List ledgers = new ArrayList<>(); + for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) + continue; + } else { + //默认7天 + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) + continue; + } } - } - AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), - offDeviceDTO.getLedgerCode(), - offDeviceDTO.getTagNumber(), - offDeviceDTO.getAlarmTypeId(), + AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), + offDeviceDTO.getLedgerCode(), + offDeviceDTO.getTagNumber(), + offDeviceDTO.getAlarmTypeId(), // offDeviceDTO.getAlarmTypeName(), - "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", - offDeviceDTO.getAlarmLevelId(), - new Date(), - offDeviceDTO.getAlarmThreshold(), - offDeviceDTO.getPlace(), "1"); - alarmRecordsList.add(alarmRecords); - ledgers.add(offDeviceDTO); - } - if (alarmRecordsList.size() > 0) { - this.saveBatch(alarmRecordsList); + "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", + offDeviceDTO.getAlarmLevelId(), + new Date(), + offDeviceDTO.getAlarmThreshold(), + offDeviceDTO.getPlace(), "1"); + alarmRecordsList.add(alarmRecords); + ledgers.add(offDeviceDTO); + } + if (alarmRecordsList.size() > 0) { + this.saveBatch(alarmRecordsList); - //更新设备表状态 - List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); - iBusDeviceService.updateBusDeviceStatus(devcodeStrs); - //更新点位表 - List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); - if (ledgerCodes != null && ledgerCodes.size() > 0) - iBusLedgerService.updateLedgerStatus(ledgerCodes); - List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); - if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) - iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); - //toDo:需添加离线分析记录 + //更新设备表状态 + List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); + iBusDeviceService.updateBusDeviceStatus(devcodeStrs); + //更新点位表 + List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); + if (ledgerCodes != null && ledgerCodes.size() > 0) + iBusLedgerService.updateLedgerStatus(ledgerCodes); + List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); + if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) + iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); + //加入监控日志 + //toDo:需添加离线分析记录 + } + iMonitorLogService.saveMonitorLog("offline", "1", "离线任务判断", "1"); + } catch (Exception e) { + //添加监控异常日志 + iMonitorLogService.saveMonitorLog("offline", "0", "离线任务判断", "1"); + e.printStackTrace(); } } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java index 4c660e9..a3e45c4 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java @@ -18,7 +18,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,8 +67,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { - if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGGasOtherConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java index 308fa32..3ea8fc9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java @@ -120,4 +120,6 @@ @ApiModelProperty("监测对象id") private String watchObject; + private String manufactureName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 45f621c..d5da07e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -29,6 +29,7 @@ import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.modular.device.service.IBusLedgerPipeService; import com.casic.missiles.modular.device.service.IBusLedgerService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.server.CommonServer; @@ -71,6 +72,7 @@ private final IBusLedgerService iBusLedgerService; private final IBusLedgerPipeService iBusLedgerPipeService; private final IAlarmEventProductService iAlarmEventProductService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.brAppUrl}") private String brAppUrl; @@ -860,49 +862,57 @@ @Transactional @Override public void processOffline() { - //注意:报警类型一律为“OffLine” - List offDeviceDTOList = this.baseMapper.getOfflineDevices(); - List alarmRecordsList = new ArrayList<>(); - List ledgers = new ArrayList<>(); - for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) - continue; - } else { - //默认7天 - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) - continue; + try { + //注意:报警类型一律为“OffLine” + List offDeviceDTOList = this.baseMapper.getOfflineDevices(); + List alarmRecordsList = new ArrayList<>(); + List ledgers = new ArrayList<>(); + for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) + continue; + } else { + //默认7天 + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) + continue; + } } - } - AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), - offDeviceDTO.getLedgerCode(), - offDeviceDTO.getTagNumber(), - offDeviceDTO.getAlarmTypeId(), + AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), + offDeviceDTO.getLedgerCode(), + offDeviceDTO.getTagNumber(), + offDeviceDTO.getAlarmTypeId(), // offDeviceDTO.getAlarmTypeName(), - "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", - offDeviceDTO.getAlarmLevelId(), - new Date(), - offDeviceDTO.getAlarmThreshold(), - offDeviceDTO.getPlace(), "1"); - alarmRecordsList.add(alarmRecords); - ledgers.add(offDeviceDTO); - } - if (alarmRecordsList.size() > 0) { - this.saveBatch(alarmRecordsList); + "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", + offDeviceDTO.getAlarmLevelId(), + new Date(), + offDeviceDTO.getAlarmThreshold(), + offDeviceDTO.getPlace(), "1"); + alarmRecordsList.add(alarmRecords); + ledgers.add(offDeviceDTO); + } + if (alarmRecordsList.size() > 0) { + this.saveBatch(alarmRecordsList); - //更新设备表状态 - List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); - iBusDeviceService.updateBusDeviceStatus(devcodeStrs); - //更新点位表 - List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); - if (ledgerCodes != null && ledgerCodes.size() > 0) - iBusLedgerService.updateLedgerStatus(ledgerCodes); - List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); - if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) - iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); - //toDo:需添加离线分析记录 + //更新设备表状态 + List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); + iBusDeviceService.updateBusDeviceStatus(devcodeStrs); + //更新点位表 + List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); + if (ledgerCodes != null && ledgerCodes.size() > 0) + iBusLedgerService.updateLedgerStatus(ledgerCodes); + List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); + if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) + iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); + //加入监控日志 + //toDo:需添加离线分析记录 + } + iMonitorLogService.saveMonitorLog("offline", "1", "离线任务判断", "1"); + } catch (Exception e) { + //添加监控异常日志 + iMonitorLogService.saveMonitorLog("offline", "0", "离线任务判断", "1"); + e.printStackTrace(); } } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java index 4c660e9..a3e45c4 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java @@ -18,7 +18,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,8 +67,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { - if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGGasOtherConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index ede18a5..c2d9c30 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -49,6 +51,8 @@ private final IAlarmRecordsService alarmRecordsService; private final IAlarmRuleService alarmRuleService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -67,7 +71,7 @@ try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -78,7 +82,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java index 308fa32..3ea8fc9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java @@ -120,4 +120,6 @@ @ApiModelProperty("监测对象id") private String watchObject; + private String manufactureName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 45f621c..d5da07e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -29,6 +29,7 @@ import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.modular.device.service.IBusLedgerPipeService; import com.casic.missiles.modular.device.service.IBusLedgerService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.server.CommonServer; @@ -71,6 +72,7 @@ private final IBusLedgerService iBusLedgerService; private final IBusLedgerPipeService iBusLedgerPipeService; private final IAlarmEventProductService iAlarmEventProductService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.brAppUrl}") private String brAppUrl; @@ -860,49 +862,57 @@ @Transactional @Override public void processOffline() { - //注意:报警类型一律为“OffLine” - List offDeviceDTOList = this.baseMapper.getOfflineDevices(); - List alarmRecordsList = new ArrayList<>(); - List ledgers = new ArrayList<>(); - for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) - continue; - } else { - //默认7天 - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) - continue; + try { + //注意:报警类型一律为“OffLine” + List offDeviceDTOList = this.baseMapper.getOfflineDevices(); + List alarmRecordsList = new ArrayList<>(); + List ledgers = new ArrayList<>(); + for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) + continue; + } else { + //默认7天 + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) + continue; + } } - } - AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), - offDeviceDTO.getLedgerCode(), - offDeviceDTO.getTagNumber(), - offDeviceDTO.getAlarmTypeId(), + AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), + offDeviceDTO.getLedgerCode(), + offDeviceDTO.getTagNumber(), + offDeviceDTO.getAlarmTypeId(), // offDeviceDTO.getAlarmTypeName(), - "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", - offDeviceDTO.getAlarmLevelId(), - new Date(), - offDeviceDTO.getAlarmThreshold(), - offDeviceDTO.getPlace(), "1"); - alarmRecordsList.add(alarmRecords); - ledgers.add(offDeviceDTO); - } - if (alarmRecordsList.size() > 0) { - this.saveBatch(alarmRecordsList); + "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", + offDeviceDTO.getAlarmLevelId(), + new Date(), + offDeviceDTO.getAlarmThreshold(), + offDeviceDTO.getPlace(), "1"); + alarmRecordsList.add(alarmRecords); + ledgers.add(offDeviceDTO); + } + if (alarmRecordsList.size() > 0) { + this.saveBatch(alarmRecordsList); - //更新设备表状态 - List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); - iBusDeviceService.updateBusDeviceStatus(devcodeStrs); - //更新点位表 - List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); - if (ledgerCodes != null && ledgerCodes.size() > 0) - iBusLedgerService.updateLedgerStatus(ledgerCodes); - List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); - if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) - iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); - //toDo:需添加离线分析记录 + //更新设备表状态 + List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); + iBusDeviceService.updateBusDeviceStatus(devcodeStrs); + //更新点位表 + List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); + if (ledgerCodes != null && ledgerCodes.size() > 0) + iBusLedgerService.updateLedgerStatus(ledgerCodes); + List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); + if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) + iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); + //加入监控日志 + //toDo:需添加离线分析记录 + } + iMonitorLogService.saveMonitorLog("offline", "1", "离线任务判断", "1"); + } catch (Exception e) { + //添加监控异常日志 + iMonitorLogService.saveMonitorLog("offline", "0", "离线任务判断", "1"); + e.printStackTrace(); } } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java index 4c660e9..a3e45c4 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java @@ -18,7 +18,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,8 +67,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { - if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGGasOtherConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index ede18a5..c2d9c30 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -49,6 +51,8 @@ private final IAlarmRecordsService alarmRecordsService; private final IAlarmRuleService alarmRuleService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -67,7 +71,7 @@ try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -78,7 +82,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java index b33a1ee..d58fdf1 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGasliquidGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasliquidGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -53,6 +55,8 @@ private final IAlarmRuleService alarmRuleService; private final DataGasMapper dataGasMapper; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -70,8 +74,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { - if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -82,7 +86,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java index 308fa32..3ea8fc9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java @@ -120,4 +120,6 @@ @ApiModelProperty("监测对象id") private String watchObject; + private String manufactureName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 45f621c..d5da07e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -29,6 +29,7 @@ import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.modular.device.service.IBusLedgerPipeService; import com.casic.missiles.modular.device.service.IBusLedgerService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.server.CommonServer; @@ -71,6 +72,7 @@ private final IBusLedgerService iBusLedgerService; private final IBusLedgerPipeService iBusLedgerPipeService; private final IAlarmEventProductService iAlarmEventProductService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.brAppUrl}") private String brAppUrl; @@ -860,49 +862,57 @@ @Transactional @Override public void processOffline() { - //注意:报警类型一律为“OffLine” - List offDeviceDTOList = this.baseMapper.getOfflineDevices(); - List alarmRecordsList = new ArrayList<>(); - List ledgers = new ArrayList<>(); - for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) - continue; - } else { - //默认7天 - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) - continue; + try { + //注意:报警类型一律为“OffLine” + List offDeviceDTOList = this.baseMapper.getOfflineDevices(); + List alarmRecordsList = new ArrayList<>(); + List ledgers = new ArrayList<>(); + for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) + continue; + } else { + //默认7天 + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) + continue; + } } - } - AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), - offDeviceDTO.getLedgerCode(), - offDeviceDTO.getTagNumber(), - offDeviceDTO.getAlarmTypeId(), + AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), + offDeviceDTO.getLedgerCode(), + offDeviceDTO.getTagNumber(), + offDeviceDTO.getAlarmTypeId(), // offDeviceDTO.getAlarmTypeName(), - "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", - offDeviceDTO.getAlarmLevelId(), - new Date(), - offDeviceDTO.getAlarmThreshold(), - offDeviceDTO.getPlace(), "1"); - alarmRecordsList.add(alarmRecords); - ledgers.add(offDeviceDTO); - } - if (alarmRecordsList.size() > 0) { - this.saveBatch(alarmRecordsList); + "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", + offDeviceDTO.getAlarmLevelId(), + new Date(), + offDeviceDTO.getAlarmThreshold(), + offDeviceDTO.getPlace(), "1"); + alarmRecordsList.add(alarmRecords); + ledgers.add(offDeviceDTO); + } + if (alarmRecordsList.size() > 0) { + this.saveBatch(alarmRecordsList); - //更新设备表状态 - List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); - iBusDeviceService.updateBusDeviceStatus(devcodeStrs); - //更新点位表 - List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); - if (ledgerCodes != null && ledgerCodes.size() > 0) - iBusLedgerService.updateLedgerStatus(ledgerCodes); - List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); - if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) - iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); - //toDo:需添加离线分析记录 + //更新设备表状态 + List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); + iBusDeviceService.updateBusDeviceStatus(devcodeStrs); + //更新点位表 + List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); + if (ledgerCodes != null && ledgerCodes.size() > 0) + iBusLedgerService.updateLedgerStatus(ledgerCodes); + List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); + if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) + iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); + //加入监控日志 + //toDo:需添加离线分析记录 + } + iMonitorLogService.saveMonitorLog("offline", "1", "离线任务判断", "1"); + } catch (Exception e) { + //添加监控异常日志 + iMonitorLogService.saveMonitorLog("offline", "0", "离线任务判断", "1"); + e.printStackTrace(); } } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java index 4c660e9..a3e45c4 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java @@ -18,7 +18,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,8 +67,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { - if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGGasOtherConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index ede18a5..c2d9c30 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -49,6 +51,8 @@ private final IAlarmRecordsService alarmRecordsService; private final IAlarmRuleService alarmRuleService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -67,7 +71,7 @@ try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -78,7 +82,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java index b33a1ee..d58fdf1 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGasliquidGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasliquidGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -53,6 +55,8 @@ private final IAlarmRuleService alarmRuleService; private final DataGasMapper dataGasMapper; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -70,8 +74,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { - if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -82,7 +86,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 6297093..e51c968 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -64,7 +68,7 @@ try { if (DeviceTypeEnum.MonitorPipeOther.name().equals(json.get("devType"))) { if ("MonitorPipeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java index 308fa32..3ea8fc9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java @@ -120,4 +120,6 @@ @ApiModelProperty("监测对象id") private String watchObject; + private String manufactureName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 45f621c..d5da07e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -29,6 +29,7 @@ import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.modular.device.service.IBusLedgerPipeService; import com.casic.missiles.modular.device.service.IBusLedgerService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.server.CommonServer; @@ -71,6 +72,7 @@ private final IBusLedgerService iBusLedgerService; private final IBusLedgerPipeService iBusLedgerPipeService; private final IAlarmEventProductService iAlarmEventProductService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.brAppUrl}") private String brAppUrl; @@ -860,49 +862,57 @@ @Transactional @Override public void processOffline() { - //注意:报警类型一律为“OffLine” - List offDeviceDTOList = this.baseMapper.getOfflineDevices(); - List alarmRecordsList = new ArrayList<>(); - List ledgers = new ArrayList<>(); - for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) - continue; - } else { - //默认7天 - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) - continue; + try { + //注意:报警类型一律为“OffLine” + List offDeviceDTOList = this.baseMapper.getOfflineDevices(); + List alarmRecordsList = new ArrayList<>(); + List ledgers = new ArrayList<>(); + for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) + continue; + } else { + //默认7天 + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) + continue; + } } - } - AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), - offDeviceDTO.getLedgerCode(), - offDeviceDTO.getTagNumber(), - offDeviceDTO.getAlarmTypeId(), + AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), + offDeviceDTO.getLedgerCode(), + offDeviceDTO.getTagNumber(), + offDeviceDTO.getAlarmTypeId(), // offDeviceDTO.getAlarmTypeName(), - "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", - offDeviceDTO.getAlarmLevelId(), - new Date(), - offDeviceDTO.getAlarmThreshold(), - offDeviceDTO.getPlace(), "1"); - alarmRecordsList.add(alarmRecords); - ledgers.add(offDeviceDTO); - } - if (alarmRecordsList.size() > 0) { - this.saveBatch(alarmRecordsList); + "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", + offDeviceDTO.getAlarmLevelId(), + new Date(), + offDeviceDTO.getAlarmThreshold(), + offDeviceDTO.getPlace(), "1"); + alarmRecordsList.add(alarmRecords); + ledgers.add(offDeviceDTO); + } + if (alarmRecordsList.size() > 0) { + this.saveBatch(alarmRecordsList); - //更新设备表状态 - List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); - iBusDeviceService.updateBusDeviceStatus(devcodeStrs); - //更新点位表 - List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); - if (ledgerCodes != null && ledgerCodes.size() > 0) - iBusLedgerService.updateLedgerStatus(ledgerCodes); - List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); - if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) - iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); - //toDo:需添加离线分析记录 + //更新设备表状态 + List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); + iBusDeviceService.updateBusDeviceStatus(devcodeStrs); + //更新点位表 + List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); + if (ledgerCodes != null && ledgerCodes.size() > 0) + iBusLedgerService.updateLedgerStatus(ledgerCodes); + List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); + if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) + iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); + //加入监控日志 + //toDo:需添加离线分析记录 + } + iMonitorLogService.saveMonitorLog("offline", "1", "离线任务判断", "1"); + } catch (Exception e) { + //添加监控异常日志 + iMonitorLogService.saveMonitorLog("offline", "0", "离线任务判断", "1"); + e.printStackTrace(); } } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java index 4c660e9..a3e45c4 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java @@ -18,7 +18,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,8 +67,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { - if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGGasOtherConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index ede18a5..c2d9c30 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -49,6 +51,8 @@ private final IAlarmRecordsService alarmRecordsService; private final IAlarmRuleService alarmRuleService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -67,7 +71,7 @@ try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -78,7 +82,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java index b33a1ee..d58fdf1 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGasliquidGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasliquidGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -53,6 +55,8 @@ private final IAlarmRuleService alarmRuleService; private final DataGasMapper dataGasMapper; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -70,8 +74,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { - if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -82,7 +86,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 6297093..e51c968 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -64,7 +68,7 @@ try { if (DeviceTypeEnum.MonitorPipeOther.name().equals(json.get("devType"))) { if ("MonitorPipeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6e80323..c58dc5f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -47,6 +49,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,7 +67,7 @@ try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -74,7 +78,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java index 308fa32..3ea8fc9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java @@ -120,4 +120,6 @@ @ApiModelProperty("监测对象id") private String watchObject; + private String manufactureName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 45f621c..d5da07e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -29,6 +29,7 @@ import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.modular.device.service.IBusLedgerPipeService; import com.casic.missiles.modular.device.service.IBusLedgerService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.server.CommonServer; @@ -71,6 +72,7 @@ private final IBusLedgerService iBusLedgerService; private final IBusLedgerPipeService iBusLedgerPipeService; private final IAlarmEventProductService iAlarmEventProductService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.brAppUrl}") private String brAppUrl; @@ -860,49 +862,57 @@ @Transactional @Override public void processOffline() { - //注意:报警类型一律为“OffLine” - List offDeviceDTOList = this.baseMapper.getOfflineDevices(); - List alarmRecordsList = new ArrayList<>(); - List ledgers = new ArrayList<>(); - for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) - continue; - } else { - //默认7天 - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) - continue; + try { + //注意:报警类型一律为“OffLine” + List offDeviceDTOList = this.baseMapper.getOfflineDevices(); + List alarmRecordsList = new ArrayList<>(); + List ledgers = new ArrayList<>(); + for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) + continue; + } else { + //默认7天 + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) + continue; + } } - } - AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), - offDeviceDTO.getLedgerCode(), - offDeviceDTO.getTagNumber(), - offDeviceDTO.getAlarmTypeId(), + AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), + offDeviceDTO.getLedgerCode(), + offDeviceDTO.getTagNumber(), + offDeviceDTO.getAlarmTypeId(), // offDeviceDTO.getAlarmTypeName(), - "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", - offDeviceDTO.getAlarmLevelId(), - new Date(), - offDeviceDTO.getAlarmThreshold(), - offDeviceDTO.getPlace(), "1"); - alarmRecordsList.add(alarmRecords); - ledgers.add(offDeviceDTO); - } - if (alarmRecordsList.size() > 0) { - this.saveBatch(alarmRecordsList); + "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", + offDeviceDTO.getAlarmLevelId(), + new Date(), + offDeviceDTO.getAlarmThreshold(), + offDeviceDTO.getPlace(), "1"); + alarmRecordsList.add(alarmRecords); + ledgers.add(offDeviceDTO); + } + if (alarmRecordsList.size() > 0) { + this.saveBatch(alarmRecordsList); - //更新设备表状态 - List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); - iBusDeviceService.updateBusDeviceStatus(devcodeStrs); - //更新点位表 - List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); - if (ledgerCodes != null && ledgerCodes.size() > 0) - iBusLedgerService.updateLedgerStatus(ledgerCodes); - List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); - if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) - iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); - //toDo:需添加离线分析记录 + //更新设备表状态 + List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); + iBusDeviceService.updateBusDeviceStatus(devcodeStrs); + //更新点位表 + List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); + if (ledgerCodes != null && ledgerCodes.size() > 0) + iBusLedgerService.updateLedgerStatus(ledgerCodes); + List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); + if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) + iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); + //加入监控日志 + //toDo:需添加离线分析记录 + } + iMonitorLogService.saveMonitorLog("offline", "1", "离线任务判断", "1"); + } catch (Exception e) { + //添加监控异常日志 + iMonitorLogService.saveMonitorLog("offline", "0", "离线任务判断", "1"); + e.printStackTrace(); } } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java index 4c660e9..a3e45c4 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java @@ -18,7 +18,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,8 +67,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { - if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGGasOtherConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index ede18a5..c2d9c30 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -49,6 +51,8 @@ private final IAlarmRecordsService alarmRecordsService; private final IAlarmRuleService alarmRuleService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -67,7 +71,7 @@ try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -78,7 +82,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java index b33a1ee..d58fdf1 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGasliquidGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasliquidGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -53,6 +55,8 @@ private final IAlarmRuleService alarmRuleService; private final DataGasMapper dataGasMapper; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -70,8 +74,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { - if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -82,7 +86,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 6297093..e51c968 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -64,7 +68,7 @@ try { if (DeviceTypeEnum.MonitorPipeOther.name().equals(json.get("devType"))) { if ("MonitorPipeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6e80323..c58dc5f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -47,6 +49,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,7 +67,7 @@ try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -74,7 +78,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index bbf7253..c2f5762 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis" + prefix = "casic.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java index 308fa32..3ea8fc9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java @@ -120,4 +120,6 @@ @ApiModelProperty("监测对象id") private String watchObject; + private String manufactureName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 45f621c..d5da07e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -29,6 +29,7 @@ import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.modular.device.service.IBusLedgerPipeService; import com.casic.missiles.modular.device.service.IBusLedgerService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.server.CommonServer; @@ -71,6 +72,7 @@ private final IBusLedgerService iBusLedgerService; private final IBusLedgerPipeService iBusLedgerPipeService; private final IAlarmEventProductService iAlarmEventProductService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.brAppUrl}") private String brAppUrl; @@ -860,49 +862,57 @@ @Transactional @Override public void processOffline() { - //注意:报警类型一律为“OffLine” - List offDeviceDTOList = this.baseMapper.getOfflineDevices(); - List alarmRecordsList = new ArrayList<>(); - List ledgers = new ArrayList<>(); - for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) - continue; - } else { - //默认7天 - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) - continue; + try { + //注意:报警类型一律为“OffLine” + List offDeviceDTOList = this.baseMapper.getOfflineDevices(); + List alarmRecordsList = new ArrayList<>(); + List ledgers = new ArrayList<>(); + for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) + continue; + } else { + //默认7天 + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) + continue; + } } - } - AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), - offDeviceDTO.getLedgerCode(), - offDeviceDTO.getTagNumber(), - offDeviceDTO.getAlarmTypeId(), + AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), + offDeviceDTO.getLedgerCode(), + offDeviceDTO.getTagNumber(), + offDeviceDTO.getAlarmTypeId(), // offDeviceDTO.getAlarmTypeName(), - "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", - offDeviceDTO.getAlarmLevelId(), - new Date(), - offDeviceDTO.getAlarmThreshold(), - offDeviceDTO.getPlace(), "1"); - alarmRecordsList.add(alarmRecords); - ledgers.add(offDeviceDTO); - } - if (alarmRecordsList.size() > 0) { - this.saveBatch(alarmRecordsList); + "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", + offDeviceDTO.getAlarmLevelId(), + new Date(), + offDeviceDTO.getAlarmThreshold(), + offDeviceDTO.getPlace(), "1"); + alarmRecordsList.add(alarmRecords); + ledgers.add(offDeviceDTO); + } + if (alarmRecordsList.size() > 0) { + this.saveBatch(alarmRecordsList); - //更新设备表状态 - List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); - iBusDeviceService.updateBusDeviceStatus(devcodeStrs); - //更新点位表 - List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); - if (ledgerCodes != null && ledgerCodes.size() > 0) - iBusLedgerService.updateLedgerStatus(ledgerCodes); - List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); - if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) - iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); - //toDo:需添加离线分析记录 + //更新设备表状态 + List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); + iBusDeviceService.updateBusDeviceStatus(devcodeStrs); + //更新点位表 + List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); + if (ledgerCodes != null && ledgerCodes.size() > 0) + iBusLedgerService.updateLedgerStatus(ledgerCodes); + List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); + if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) + iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); + //加入监控日志 + //toDo:需添加离线分析记录 + } + iMonitorLogService.saveMonitorLog("offline", "1", "离线任务判断", "1"); + } catch (Exception e) { + //添加监控异常日志 + iMonitorLogService.saveMonitorLog("offline", "0", "离线任务判断", "1"); + e.printStackTrace(); } } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java index 4c660e9..a3e45c4 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java @@ -18,7 +18,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,8 +67,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { - if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGGasOtherConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index ede18a5..c2d9c30 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -49,6 +51,8 @@ private final IAlarmRecordsService alarmRecordsService; private final IAlarmRuleService alarmRuleService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -67,7 +71,7 @@ try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -78,7 +82,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java index b33a1ee..d58fdf1 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGasliquidGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasliquidGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -53,6 +55,8 @@ private final IAlarmRuleService alarmRuleService; private final DataGasMapper dataGasMapper; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -70,8 +74,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { - if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -82,7 +86,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 6297093..e51c968 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -64,7 +68,7 @@ try { if (DeviceTypeEnum.MonitorPipeOther.name().equals(json.get("devType"))) { if ("MonitorPipeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6e80323..c58dc5f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -47,6 +49,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,7 +67,7 @@ try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -74,7 +78,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index bbf7253..c2f5762 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis" + prefix = "casic.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java index f0d6c3d..f3918bc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java @@ -51,8 +51,7 @@ @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusConfigDTO busConfigTO) { - - return ReturnUtil.success(iBusConfigService.saveConfig(busConfigTO)); + return iBusConfigService.saveConfig(busConfigTO)?ReturnUtil.success():ReturnUtil.failed("配置失败"); } // @ApiOperation("编辑") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java index 308fa32..3ea8fc9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java @@ -120,4 +120,6 @@ @ApiModelProperty("监测对象id") private String watchObject; + private String manufactureName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 45f621c..d5da07e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -29,6 +29,7 @@ import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.modular.device.service.IBusLedgerPipeService; import com.casic.missiles.modular.device.service.IBusLedgerService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.server.CommonServer; @@ -71,6 +72,7 @@ private final IBusLedgerService iBusLedgerService; private final IBusLedgerPipeService iBusLedgerPipeService; private final IAlarmEventProductService iAlarmEventProductService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.brAppUrl}") private String brAppUrl; @@ -860,49 +862,57 @@ @Transactional @Override public void processOffline() { - //注意:报警类型一律为“OffLine” - List offDeviceDTOList = this.baseMapper.getOfflineDevices(); - List alarmRecordsList = new ArrayList<>(); - List ledgers = new ArrayList<>(); - for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) - continue; - } else { - //默认7天 - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) - continue; + try { + //注意:报警类型一律为“OffLine” + List offDeviceDTOList = this.baseMapper.getOfflineDevices(); + List alarmRecordsList = new ArrayList<>(); + List ledgers = new ArrayList<>(); + for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) + continue; + } else { + //默认7天 + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) + continue; + } } - } - AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), - offDeviceDTO.getLedgerCode(), - offDeviceDTO.getTagNumber(), - offDeviceDTO.getAlarmTypeId(), + AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), + offDeviceDTO.getLedgerCode(), + offDeviceDTO.getTagNumber(), + offDeviceDTO.getAlarmTypeId(), // offDeviceDTO.getAlarmTypeName(), - "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", - offDeviceDTO.getAlarmLevelId(), - new Date(), - offDeviceDTO.getAlarmThreshold(), - offDeviceDTO.getPlace(), "1"); - alarmRecordsList.add(alarmRecords); - ledgers.add(offDeviceDTO); - } - if (alarmRecordsList.size() > 0) { - this.saveBatch(alarmRecordsList); + "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", + offDeviceDTO.getAlarmLevelId(), + new Date(), + offDeviceDTO.getAlarmThreshold(), + offDeviceDTO.getPlace(), "1"); + alarmRecordsList.add(alarmRecords); + ledgers.add(offDeviceDTO); + } + if (alarmRecordsList.size() > 0) { + this.saveBatch(alarmRecordsList); - //更新设备表状态 - List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); - iBusDeviceService.updateBusDeviceStatus(devcodeStrs); - //更新点位表 - List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); - if (ledgerCodes != null && ledgerCodes.size() > 0) - iBusLedgerService.updateLedgerStatus(ledgerCodes); - List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); - if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) - iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); - //toDo:需添加离线分析记录 + //更新设备表状态 + List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); + iBusDeviceService.updateBusDeviceStatus(devcodeStrs); + //更新点位表 + List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); + if (ledgerCodes != null && ledgerCodes.size() > 0) + iBusLedgerService.updateLedgerStatus(ledgerCodes); + List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); + if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) + iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); + //加入监控日志 + //toDo:需添加离线分析记录 + } + iMonitorLogService.saveMonitorLog("offline", "1", "离线任务判断", "1"); + } catch (Exception e) { + //添加监控异常日志 + iMonitorLogService.saveMonitorLog("offline", "0", "离线任务判断", "1"); + e.printStackTrace(); } } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java index 4c660e9..a3e45c4 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java @@ -18,7 +18,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,8 +67,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { - if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGGasOtherConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index ede18a5..c2d9c30 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -49,6 +51,8 @@ private final IAlarmRecordsService alarmRecordsService; private final IAlarmRuleService alarmRuleService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -67,7 +71,7 @@ try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -78,7 +82,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java index b33a1ee..d58fdf1 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGasliquidGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasliquidGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -53,6 +55,8 @@ private final IAlarmRuleService alarmRuleService; private final DataGasMapper dataGasMapper; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -70,8 +74,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { - if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -82,7 +86,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 6297093..e51c968 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -64,7 +68,7 @@ try { if (DeviceTypeEnum.MonitorPipeOther.name().equals(json.get("devType"))) { if ("MonitorPipeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6e80323..c58dc5f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -47,6 +49,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,7 +67,7 @@ try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -74,7 +78,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index bbf7253..c2f5762 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis" + prefix = "casic.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java index f0d6c3d..f3918bc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java @@ -51,8 +51,7 @@ @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusConfigDTO busConfigTO) { - - return ReturnUtil.success(iBusConfigService.saveConfig(busConfigTO)); + return iBusConfigService.saveConfig(busConfigTO)?ReturnUtil.success():ReturnUtil.failed("配置失败"); } // @ApiOperation("编辑") diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 2288075..4d74341 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.base.service.IBaseExportService; +import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.IdsDTO; @@ -16,10 +17,12 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dict.BusConfigDict; +import com.casic.missiles.modular.device.dict.DeviceDict; import com.casic.missiles.modular.device.dto.*; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; -import com.casic.missiles.modular.log.AopLog; +import com.casic.missiles.modular.interfaces.dictmap.RoleDict; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -30,8 +33,9 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; /** *

@@ -60,17 +64,17 @@ return ReturnUtil.success(super.packForBT(iBusDeviceService.listPage(page, request))); } - @AopLog(description="新增设备",operateType = "新增") + + @BussinessLog(value = "新增设备", key = "devcode,deviceName,deviceType,installDate,productId", dict = DeviceDict.class) + @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("新增") @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusDevice busDevice) { - return ReturnUtil.success(iBusDeviceService.saveDevice(busDevice)); } - @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("编辑") @PostMapping("/edit") @ResponseBody diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java index 308fa32..3ea8fc9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java @@ -120,4 +120,6 @@ @ApiModelProperty("监测对象id") private String watchObject; + private String manufactureName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 45f621c..d5da07e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -29,6 +29,7 @@ import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.modular.device.service.IBusLedgerPipeService; import com.casic.missiles.modular.device.service.IBusLedgerService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.server.CommonServer; @@ -71,6 +72,7 @@ private final IBusLedgerService iBusLedgerService; private final IBusLedgerPipeService iBusLedgerPipeService; private final IAlarmEventProductService iAlarmEventProductService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.brAppUrl}") private String brAppUrl; @@ -860,49 +862,57 @@ @Transactional @Override public void processOffline() { - //注意:报警类型一律为“OffLine” - List offDeviceDTOList = this.baseMapper.getOfflineDevices(); - List alarmRecordsList = new ArrayList<>(); - List ledgers = new ArrayList<>(); - for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) - continue; - } else { - //默认7天 - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) - continue; + try { + //注意:报警类型一律为“OffLine” + List offDeviceDTOList = this.baseMapper.getOfflineDevices(); + List alarmRecordsList = new ArrayList<>(); + List ledgers = new ArrayList<>(); + for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) + continue; + } else { + //默认7天 + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) + continue; + } } - } - AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), - offDeviceDTO.getLedgerCode(), - offDeviceDTO.getTagNumber(), - offDeviceDTO.getAlarmTypeId(), + AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), + offDeviceDTO.getLedgerCode(), + offDeviceDTO.getTagNumber(), + offDeviceDTO.getAlarmTypeId(), // offDeviceDTO.getAlarmTypeName(), - "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", - offDeviceDTO.getAlarmLevelId(), - new Date(), - offDeviceDTO.getAlarmThreshold(), - offDeviceDTO.getPlace(), "1"); - alarmRecordsList.add(alarmRecords); - ledgers.add(offDeviceDTO); - } - if (alarmRecordsList.size() > 0) { - this.saveBatch(alarmRecordsList); + "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", + offDeviceDTO.getAlarmLevelId(), + new Date(), + offDeviceDTO.getAlarmThreshold(), + offDeviceDTO.getPlace(), "1"); + alarmRecordsList.add(alarmRecords); + ledgers.add(offDeviceDTO); + } + if (alarmRecordsList.size() > 0) { + this.saveBatch(alarmRecordsList); - //更新设备表状态 - List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); - iBusDeviceService.updateBusDeviceStatus(devcodeStrs); - //更新点位表 - List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); - if (ledgerCodes != null && ledgerCodes.size() > 0) - iBusLedgerService.updateLedgerStatus(ledgerCodes); - List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); - if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) - iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); - //toDo:需添加离线分析记录 + //更新设备表状态 + List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); + iBusDeviceService.updateBusDeviceStatus(devcodeStrs); + //更新点位表 + List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); + if (ledgerCodes != null && ledgerCodes.size() > 0) + iBusLedgerService.updateLedgerStatus(ledgerCodes); + List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); + if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) + iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); + //加入监控日志 + //toDo:需添加离线分析记录 + } + iMonitorLogService.saveMonitorLog("offline", "1", "离线任务判断", "1"); + } catch (Exception e) { + //添加监控异常日志 + iMonitorLogService.saveMonitorLog("offline", "0", "离线任务判断", "1"); + e.printStackTrace(); } } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java index 4c660e9..a3e45c4 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java @@ -18,7 +18,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,8 +67,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { - if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGGasOtherConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index ede18a5..c2d9c30 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -49,6 +51,8 @@ private final IAlarmRecordsService alarmRecordsService; private final IAlarmRuleService alarmRuleService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -67,7 +71,7 @@ try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -78,7 +82,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java index b33a1ee..d58fdf1 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGasliquidGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasliquidGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -53,6 +55,8 @@ private final IAlarmRuleService alarmRuleService; private final DataGasMapper dataGasMapper; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -70,8 +74,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { - if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -82,7 +86,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 6297093..e51c968 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -64,7 +68,7 @@ try { if (DeviceTypeEnum.MonitorPipeOther.name().equals(json.get("devType"))) { if ("MonitorPipeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6e80323..c58dc5f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -47,6 +49,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,7 +67,7 @@ try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -74,7 +78,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index bbf7253..c2f5762 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis" + prefix = "casic.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java index f0d6c3d..f3918bc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java @@ -51,8 +51,7 @@ @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusConfigDTO busConfigTO) { - - return ReturnUtil.success(iBusConfigService.saveConfig(busConfigTO)); + return iBusConfigService.saveConfig(busConfigTO)?ReturnUtil.success():ReturnUtil.failed("配置失败"); } // @ApiOperation("编辑") diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 2288075..4d74341 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.base.service.IBaseExportService; +import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.IdsDTO; @@ -16,10 +17,12 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dict.BusConfigDict; +import com.casic.missiles.modular.device.dict.DeviceDict; import com.casic.missiles.modular.device.dto.*; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; -import com.casic.missiles.modular.log.AopLog; +import com.casic.missiles.modular.interfaces.dictmap.RoleDict; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -30,8 +33,9 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; /** *

@@ -60,17 +64,17 @@ return ReturnUtil.success(super.packForBT(iBusDeviceService.listPage(page, request))); } - @AopLog(description="新增设备",operateType = "新增") + + @BussinessLog(value = "新增设备", key = "devcode,deviceName,deviceType,installDate,productId", dict = DeviceDict.class) + @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("新增") @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusDevice busDevice) { - return ReturnUtil.success(iBusDeviceService.saveDevice(busDevice)); } - @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("编辑") @PostMapping("/edit") @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java new file mode 100644 index 0000000..bc41aa6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.device.controller; + + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.MonitorLogDTO; +import com.casic.missiles.modular.device.entity.MonitorLog; +import com.casic.missiles.modular.device.service.IMonitorLogService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 协议管理 前端控制器 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Api(tags = "系统监控模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/monitorLog") +public class MonitorLogController extends ExportController { + + private final IMonitorLogService iMonitorLogService; + + @ApiOperation("查询分页接口") + @PostMapping("/listPage") + @ResponseBody + public ReturnDTO listPage(@RequestBody MonitorLogDTO request) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(ObjectUtil.isNotEmpty(request.getServerType()),"SERVER_TYPE", request.getServerType()); + queryWrapper.orderByDesc("TS"); + return ReturnUtil.success(super.packForBT(iMonitorLogService.page(page, queryWrapper))); + } + +} + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java index 308fa32..3ea8fc9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java @@ -120,4 +120,6 @@ @ApiModelProperty("监测对象id") private String watchObject; + private String manufactureName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 45f621c..d5da07e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -29,6 +29,7 @@ import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.modular.device.service.IBusLedgerPipeService; import com.casic.missiles.modular.device.service.IBusLedgerService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.server.CommonServer; @@ -71,6 +72,7 @@ private final IBusLedgerService iBusLedgerService; private final IBusLedgerPipeService iBusLedgerPipeService; private final IAlarmEventProductService iAlarmEventProductService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.brAppUrl}") private String brAppUrl; @@ -860,49 +862,57 @@ @Transactional @Override public void processOffline() { - //注意:报警类型一律为“OffLine” - List offDeviceDTOList = this.baseMapper.getOfflineDevices(); - List alarmRecordsList = new ArrayList<>(); - List ledgers = new ArrayList<>(); - for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) - continue; - } else { - //默认7天 - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) - continue; + try { + //注意:报警类型一律为“OffLine” + List offDeviceDTOList = this.baseMapper.getOfflineDevices(); + List alarmRecordsList = new ArrayList<>(); + List ledgers = new ArrayList<>(); + for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) + continue; + } else { + //默认7天 + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) + continue; + } } - } - AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), - offDeviceDTO.getLedgerCode(), - offDeviceDTO.getTagNumber(), - offDeviceDTO.getAlarmTypeId(), + AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), + offDeviceDTO.getLedgerCode(), + offDeviceDTO.getTagNumber(), + offDeviceDTO.getAlarmTypeId(), // offDeviceDTO.getAlarmTypeName(), - "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", - offDeviceDTO.getAlarmLevelId(), - new Date(), - offDeviceDTO.getAlarmThreshold(), - offDeviceDTO.getPlace(), "1"); - alarmRecordsList.add(alarmRecords); - ledgers.add(offDeviceDTO); - } - if (alarmRecordsList.size() > 0) { - this.saveBatch(alarmRecordsList); + "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", + offDeviceDTO.getAlarmLevelId(), + new Date(), + offDeviceDTO.getAlarmThreshold(), + offDeviceDTO.getPlace(), "1"); + alarmRecordsList.add(alarmRecords); + ledgers.add(offDeviceDTO); + } + if (alarmRecordsList.size() > 0) { + this.saveBatch(alarmRecordsList); - //更新设备表状态 - List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); - iBusDeviceService.updateBusDeviceStatus(devcodeStrs); - //更新点位表 - List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); - if (ledgerCodes != null && ledgerCodes.size() > 0) - iBusLedgerService.updateLedgerStatus(ledgerCodes); - List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); - if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) - iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); - //toDo:需添加离线分析记录 + //更新设备表状态 + List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); + iBusDeviceService.updateBusDeviceStatus(devcodeStrs); + //更新点位表 + List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); + if (ledgerCodes != null && ledgerCodes.size() > 0) + iBusLedgerService.updateLedgerStatus(ledgerCodes); + List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); + if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) + iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); + //加入监控日志 + //toDo:需添加离线分析记录 + } + iMonitorLogService.saveMonitorLog("offline", "1", "离线任务判断", "1"); + } catch (Exception e) { + //添加监控异常日志 + iMonitorLogService.saveMonitorLog("offline", "0", "离线任务判断", "1"); + e.printStackTrace(); } } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java index 4c660e9..a3e45c4 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java @@ -18,7 +18,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,8 +67,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { - if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGGasOtherConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index ede18a5..c2d9c30 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -49,6 +51,8 @@ private final IAlarmRecordsService alarmRecordsService; private final IAlarmRuleService alarmRuleService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -67,7 +71,7 @@ try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -78,7 +82,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java index b33a1ee..d58fdf1 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGasliquidGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasliquidGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -53,6 +55,8 @@ private final IAlarmRuleService alarmRuleService; private final DataGasMapper dataGasMapper; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -70,8 +74,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { - if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -82,7 +86,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 6297093..e51c968 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -64,7 +68,7 @@ try { if (DeviceTypeEnum.MonitorPipeOther.name().equals(json.get("devType"))) { if ("MonitorPipeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6e80323..c58dc5f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -47,6 +49,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,7 +67,7 @@ try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -74,7 +78,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index bbf7253..c2f5762 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis" + prefix = "casic.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java index f0d6c3d..f3918bc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java @@ -51,8 +51,7 @@ @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusConfigDTO busConfigTO) { - - return ReturnUtil.success(iBusConfigService.saveConfig(busConfigTO)); + return iBusConfigService.saveConfig(busConfigTO)?ReturnUtil.success():ReturnUtil.failed("配置失败"); } // @ApiOperation("编辑") diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 2288075..4d74341 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.base.service.IBaseExportService; +import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.IdsDTO; @@ -16,10 +17,12 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dict.BusConfigDict; +import com.casic.missiles.modular.device.dict.DeviceDict; import com.casic.missiles.modular.device.dto.*; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; -import com.casic.missiles.modular.log.AopLog; +import com.casic.missiles.modular.interfaces.dictmap.RoleDict; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -30,8 +33,9 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; /** *

@@ -60,17 +64,17 @@ return ReturnUtil.success(super.packForBT(iBusDeviceService.listPage(page, request))); } - @AopLog(description="新增设备",operateType = "新增") + + @BussinessLog(value = "新增设备", key = "devcode,deviceName,deviceType,installDate,productId", dict = DeviceDict.class) + @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("新增") @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusDevice busDevice) { - return ReturnUtil.success(iBusDeviceService.saveDevice(busDevice)); } - @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("编辑") @PostMapping("/edit") @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java new file mode 100644 index 0000000..bc41aa6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.device.controller; + + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.MonitorLogDTO; +import com.casic.missiles.modular.device.entity.MonitorLog; +import com.casic.missiles.modular.device.service.IMonitorLogService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 协议管理 前端控制器 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Api(tags = "系统监控模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/monitorLog") +public class MonitorLogController extends ExportController { + + private final IMonitorLogService iMonitorLogService; + + @ApiOperation("查询分页接口") + @PostMapping("/listPage") + @ResponseBody + public ReturnDTO listPage(@RequestBody MonitorLogDTO request) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(ObjectUtil.isNotEmpty(request.getServerType()),"SERVER_TYPE", request.getServerType()); + queryWrapper.orderByDesc("TS"); + return ReturnUtil.success(super.packForBT(iMonitorLogService.page(page, queryWrapper))); + } + +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java new file mode 100644 index 0000000..0d29f16 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.entity.MonitorLog; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 协议管理 Mapper 接口 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Mapper +public interface MonitorLogMapper extends BaseMapper { + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java index 308fa32..3ea8fc9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java @@ -120,4 +120,6 @@ @ApiModelProperty("监测对象id") private String watchObject; + private String manufactureName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 45f621c..d5da07e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -29,6 +29,7 @@ import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.modular.device.service.IBusLedgerPipeService; import com.casic.missiles.modular.device.service.IBusLedgerService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.server.CommonServer; @@ -71,6 +72,7 @@ private final IBusLedgerService iBusLedgerService; private final IBusLedgerPipeService iBusLedgerPipeService; private final IAlarmEventProductService iAlarmEventProductService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.brAppUrl}") private String brAppUrl; @@ -860,49 +862,57 @@ @Transactional @Override public void processOffline() { - //注意:报警类型一律为“OffLine” - List offDeviceDTOList = this.baseMapper.getOfflineDevices(); - List alarmRecordsList = new ArrayList<>(); - List ledgers = new ArrayList<>(); - for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) - continue; - } else { - //默认7天 - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) - continue; + try { + //注意:报警类型一律为“OffLine” + List offDeviceDTOList = this.baseMapper.getOfflineDevices(); + List alarmRecordsList = new ArrayList<>(); + List ledgers = new ArrayList<>(); + for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) + continue; + } else { + //默认7天 + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) + continue; + } } - } - AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), - offDeviceDTO.getLedgerCode(), - offDeviceDTO.getTagNumber(), - offDeviceDTO.getAlarmTypeId(), + AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), + offDeviceDTO.getLedgerCode(), + offDeviceDTO.getTagNumber(), + offDeviceDTO.getAlarmTypeId(), // offDeviceDTO.getAlarmTypeName(), - "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", - offDeviceDTO.getAlarmLevelId(), - new Date(), - offDeviceDTO.getAlarmThreshold(), - offDeviceDTO.getPlace(), "1"); - alarmRecordsList.add(alarmRecords); - ledgers.add(offDeviceDTO); - } - if (alarmRecordsList.size() > 0) { - this.saveBatch(alarmRecordsList); + "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", + offDeviceDTO.getAlarmLevelId(), + new Date(), + offDeviceDTO.getAlarmThreshold(), + offDeviceDTO.getPlace(), "1"); + alarmRecordsList.add(alarmRecords); + ledgers.add(offDeviceDTO); + } + if (alarmRecordsList.size() > 0) { + this.saveBatch(alarmRecordsList); - //更新设备表状态 - List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); - iBusDeviceService.updateBusDeviceStatus(devcodeStrs); - //更新点位表 - List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); - if (ledgerCodes != null && ledgerCodes.size() > 0) - iBusLedgerService.updateLedgerStatus(ledgerCodes); - List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); - if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) - iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); - //toDo:需添加离线分析记录 + //更新设备表状态 + List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); + iBusDeviceService.updateBusDeviceStatus(devcodeStrs); + //更新点位表 + List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); + if (ledgerCodes != null && ledgerCodes.size() > 0) + iBusLedgerService.updateLedgerStatus(ledgerCodes); + List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); + if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) + iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); + //加入监控日志 + //toDo:需添加离线分析记录 + } + iMonitorLogService.saveMonitorLog("offline", "1", "离线任务判断", "1"); + } catch (Exception e) { + //添加监控异常日志 + iMonitorLogService.saveMonitorLog("offline", "0", "离线任务判断", "1"); + e.printStackTrace(); } } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java index 4c660e9..a3e45c4 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java @@ -18,7 +18,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,8 +67,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { - if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGGasOtherConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index ede18a5..c2d9c30 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -49,6 +51,8 @@ private final IAlarmRecordsService alarmRecordsService; private final IAlarmRuleService alarmRuleService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -67,7 +71,7 @@ try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -78,7 +82,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java index b33a1ee..d58fdf1 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGasliquidGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasliquidGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -53,6 +55,8 @@ private final IAlarmRuleService alarmRuleService; private final DataGasMapper dataGasMapper; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -70,8 +74,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { - if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -82,7 +86,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 6297093..e51c968 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -64,7 +68,7 @@ try { if (DeviceTypeEnum.MonitorPipeOther.name().equals(json.get("devType"))) { if ("MonitorPipeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6e80323..c58dc5f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -47,6 +49,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,7 +67,7 @@ try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -74,7 +78,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index bbf7253..c2f5762 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis" + prefix = "casic.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java index f0d6c3d..f3918bc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java @@ -51,8 +51,7 @@ @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusConfigDTO busConfigTO) { - - return ReturnUtil.success(iBusConfigService.saveConfig(busConfigTO)); + return iBusConfigService.saveConfig(busConfigTO)?ReturnUtil.success():ReturnUtil.failed("配置失败"); } // @ApiOperation("编辑") diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 2288075..4d74341 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.base.service.IBaseExportService; +import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.IdsDTO; @@ -16,10 +17,12 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dict.BusConfigDict; +import com.casic.missiles.modular.device.dict.DeviceDict; import com.casic.missiles.modular.device.dto.*; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; -import com.casic.missiles.modular.log.AopLog; +import com.casic.missiles.modular.interfaces.dictmap.RoleDict; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -30,8 +33,9 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; /** *

@@ -60,17 +64,17 @@ return ReturnUtil.success(super.packForBT(iBusDeviceService.listPage(page, request))); } - @AopLog(description="新增设备",operateType = "新增") + + @BussinessLog(value = "新增设备", key = "devcode,deviceName,deviceType,installDate,productId", dict = DeviceDict.class) + @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("新增") @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusDevice busDevice) { - return ReturnUtil.success(iBusDeviceService.saveDevice(busDevice)); } - @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("编辑") @PostMapping("/edit") @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java new file mode 100644 index 0000000..bc41aa6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.device.controller; + + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.MonitorLogDTO; +import com.casic.missiles.modular.device.entity.MonitorLog; +import com.casic.missiles.modular.device.service.IMonitorLogService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 协议管理 前端控制器 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Api(tags = "系统监控模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/monitorLog") +public class MonitorLogController extends ExportController { + + private final IMonitorLogService iMonitorLogService; + + @ApiOperation("查询分页接口") + @PostMapping("/listPage") + @ResponseBody + public ReturnDTO listPage(@RequestBody MonitorLogDTO request) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(ObjectUtil.isNotEmpty(request.getServerType()),"SERVER_TYPE", request.getServerType()); + queryWrapper.orderByDesc("TS"); + return ReturnUtil.success(super.packForBT(iMonitorLogService.page(page, queryWrapper))); + } + +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java new file mode 100644 index 0000000..0d29f16 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.entity.MonitorLog; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 协议管理 Mapper 接口 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Mapper +public interface MonitorLogMapper extends BaseMapper { + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index c6d1fff..12ff233 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -75,6 +75,7 @@ and bd.CELL #{request.cell} + and bd.CELL > 0 and bd.LOGTIME = ]]> #{request.logTime1} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java index 308fa32..3ea8fc9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java @@ -120,4 +120,6 @@ @ApiModelProperty("监测对象id") private String watchObject; + private String manufactureName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 45f621c..d5da07e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -29,6 +29,7 @@ import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.modular.device.service.IBusLedgerPipeService; import com.casic.missiles.modular.device.service.IBusLedgerService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.server.CommonServer; @@ -71,6 +72,7 @@ private final IBusLedgerService iBusLedgerService; private final IBusLedgerPipeService iBusLedgerPipeService; private final IAlarmEventProductService iAlarmEventProductService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.brAppUrl}") private String brAppUrl; @@ -860,49 +862,57 @@ @Transactional @Override public void processOffline() { - //注意:报警类型一律为“OffLine” - List offDeviceDTOList = this.baseMapper.getOfflineDevices(); - List alarmRecordsList = new ArrayList<>(); - List ledgers = new ArrayList<>(); - for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) - continue; - } else { - //默认7天 - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) - continue; + try { + //注意:报警类型一律为“OffLine” + List offDeviceDTOList = this.baseMapper.getOfflineDevices(); + List alarmRecordsList = new ArrayList<>(); + List ledgers = new ArrayList<>(); + for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) + continue; + } else { + //默认7天 + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) + continue; + } } - } - AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), - offDeviceDTO.getLedgerCode(), - offDeviceDTO.getTagNumber(), - offDeviceDTO.getAlarmTypeId(), + AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), + offDeviceDTO.getLedgerCode(), + offDeviceDTO.getTagNumber(), + offDeviceDTO.getAlarmTypeId(), // offDeviceDTO.getAlarmTypeName(), - "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", - offDeviceDTO.getAlarmLevelId(), - new Date(), - offDeviceDTO.getAlarmThreshold(), - offDeviceDTO.getPlace(), "1"); - alarmRecordsList.add(alarmRecords); - ledgers.add(offDeviceDTO); - } - if (alarmRecordsList.size() > 0) { - this.saveBatch(alarmRecordsList); + "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", + offDeviceDTO.getAlarmLevelId(), + new Date(), + offDeviceDTO.getAlarmThreshold(), + offDeviceDTO.getPlace(), "1"); + alarmRecordsList.add(alarmRecords); + ledgers.add(offDeviceDTO); + } + if (alarmRecordsList.size() > 0) { + this.saveBatch(alarmRecordsList); - //更新设备表状态 - List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); - iBusDeviceService.updateBusDeviceStatus(devcodeStrs); - //更新点位表 - List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); - if (ledgerCodes != null && ledgerCodes.size() > 0) - iBusLedgerService.updateLedgerStatus(ledgerCodes); - List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); - if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) - iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); - //toDo:需添加离线分析记录 + //更新设备表状态 + List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); + iBusDeviceService.updateBusDeviceStatus(devcodeStrs); + //更新点位表 + List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); + if (ledgerCodes != null && ledgerCodes.size() > 0) + iBusLedgerService.updateLedgerStatus(ledgerCodes); + List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); + if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) + iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); + //加入监控日志 + //toDo:需添加离线分析记录 + } + iMonitorLogService.saveMonitorLog("offline", "1", "离线任务判断", "1"); + } catch (Exception e) { + //添加监控异常日志 + iMonitorLogService.saveMonitorLog("offline", "0", "离线任务判断", "1"); + e.printStackTrace(); } } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java index 4c660e9..a3e45c4 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java @@ -18,7 +18,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,8 +67,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { - if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGGasOtherConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index ede18a5..c2d9c30 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -49,6 +51,8 @@ private final IAlarmRecordsService alarmRecordsService; private final IAlarmRuleService alarmRuleService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -67,7 +71,7 @@ try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -78,7 +82,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java index b33a1ee..d58fdf1 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGasliquidGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasliquidGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -53,6 +55,8 @@ private final IAlarmRuleService alarmRuleService; private final DataGasMapper dataGasMapper; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -70,8 +74,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { - if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -82,7 +86,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 6297093..e51c968 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -64,7 +68,7 @@ try { if (DeviceTypeEnum.MonitorPipeOther.name().equals(json.get("devType"))) { if ("MonitorPipeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6e80323..c58dc5f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -47,6 +49,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,7 +67,7 @@ try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -74,7 +78,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index bbf7253..c2f5762 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis" + prefix = "casic.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java index f0d6c3d..f3918bc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java @@ -51,8 +51,7 @@ @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusConfigDTO busConfigTO) { - - return ReturnUtil.success(iBusConfigService.saveConfig(busConfigTO)); + return iBusConfigService.saveConfig(busConfigTO)?ReturnUtil.success():ReturnUtil.failed("配置失败"); } // @ApiOperation("编辑") diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 2288075..4d74341 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.base.service.IBaseExportService; +import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.IdsDTO; @@ -16,10 +17,12 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dict.BusConfigDict; +import com.casic.missiles.modular.device.dict.DeviceDict; import com.casic.missiles.modular.device.dto.*; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; -import com.casic.missiles.modular.log.AopLog; +import com.casic.missiles.modular.interfaces.dictmap.RoleDict; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -30,8 +33,9 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; /** *

@@ -60,17 +64,17 @@ return ReturnUtil.success(super.packForBT(iBusDeviceService.listPage(page, request))); } - @AopLog(description="新增设备",operateType = "新增") + + @BussinessLog(value = "新增设备", key = "devcode,deviceName,deviceType,installDate,productId", dict = DeviceDict.class) + @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("新增") @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusDevice busDevice) { - return ReturnUtil.success(iBusDeviceService.saveDevice(busDevice)); } - @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("编辑") @PostMapping("/edit") @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java new file mode 100644 index 0000000..bc41aa6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.device.controller; + + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.MonitorLogDTO; +import com.casic.missiles.modular.device.entity.MonitorLog; +import com.casic.missiles.modular.device.service.IMonitorLogService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 协议管理 前端控制器 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Api(tags = "系统监控模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/monitorLog") +public class MonitorLogController extends ExportController { + + private final IMonitorLogService iMonitorLogService; + + @ApiOperation("查询分页接口") + @PostMapping("/listPage") + @ResponseBody + public ReturnDTO listPage(@RequestBody MonitorLogDTO request) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(ObjectUtil.isNotEmpty(request.getServerType()),"SERVER_TYPE", request.getServerType()); + queryWrapper.orderByDesc("TS"); + return ReturnUtil.success(super.packForBT(iMonitorLogService.page(page, queryWrapper))); + } + +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java new file mode 100644 index 0000000..0d29f16 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.entity.MonitorLog; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 协议管理 Mapper 接口 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Mapper +public interface MonitorLogMapper extends BaseMapper { + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index c6d1fff..12ff233 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -75,6 +75,7 @@
and bd.CELL #{request.cell} + and bd.CELL > 0 and bd.LOGTIME = ]]> #{request.logTime1} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml index 0d71987..93d1973 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml @@ -63,7 +63,12 @@ SELECT - bl.* + bl.id, + bl.LEDGER_NAME, + bl.LNG_GAODE, + bl.LAT_GAODE, + bl.MONITOR_STATE, + bl.TAG_NUMBER FROM bus_ledger bl WHERE VALID = '1' AND TYPE = '2' diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml new file mode 100644 index 0000000..073a2ab --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + ID + , SERVER_NAME, `STATUS`, REMARK, TS + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java index 308fa32..3ea8fc9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java @@ -120,4 +120,6 @@ @ApiModelProperty("监测对象id") private String watchObject; + private String manufactureName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 45f621c..d5da07e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -29,6 +29,7 @@ import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.modular.device.service.IBusLedgerPipeService; import com.casic.missiles.modular.device.service.IBusLedgerService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.server.CommonServer; @@ -71,6 +72,7 @@ private final IBusLedgerService iBusLedgerService; private final IBusLedgerPipeService iBusLedgerPipeService; private final IAlarmEventProductService iAlarmEventProductService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.brAppUrl}") private String brAppUrl; @@ -860,49 +862,57 @@ @Transactional @Override public void processOffline() { - //注意:报警类型一律为“OffLine” - List offDeviceDTOList = this.baseMapper.getOfflineDevices(); - List alarmRecordsList = new ArrayList<>(); - List ledgers = new ArrayList<>(); - for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) - continue; - } else { - //默认7天 - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) - continue; + try { + //注意:报警类型一律为“OffLine” + List offDeviceDTOList = this.baseMapper.getOfflineDevices(); + List alarmRecordsList = new ArrayList<>(); + List ledgers = new ArrayList<>(); + for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) + continue; + } else { + //默认7天 + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) + continue; + } } - } - AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), - offDeviceDTO.getLedgerCode(), - offDeviceDTO.getTagNumber(), - offDeviceDTO.getAlarmTypeId(), + AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), + offDeviceDTO.getLedgerCode(), + offDeviceDTO.getTagNumber(), + offDeviceDTO.getAlarmTypeId(), // offDeviceDTO.getAlarmTypeName(), - "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", - offDeviceDTO.getAlarmLevelId(), - new Date(), - offDeviceDTO.getAlarmThreshold(), - offDeviceDTO.getPlace(), "1"); - alarmRecordsList.add(alarmRecords); - ledgers.add(offDeviceDTO); - } - if (alarmRecordsList.size() > 0) { - this.saveBatch(alarmRecordsList); + "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", + offDeviceDTO.getAlarmLevelId(), + new Date(), + offDeviceDTO.getAlarmThreshold(), + offDeviceDTO.getPlace(), "1"); + alarmRecordsList.add(alarmRecords); + ledgers.add(offDeviceDTO); + } + if (alarmRecordsList.size() > 0) { + this.saveBatch(alarmRecordsList); - //更新设备表状态 - List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); - iBusDeviceService.updateBusDeviceStatus(devcodeStrs); - //更新点位表 - List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); - if (ledgerCodes != null && ledgerCodes.size() > 0) - iBusLedgerService.updateLedgerStatus(ledgerCodes); - List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); - if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) - iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); - //toDo:需添加离线分析记录 + //更新设备表状态 + List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); + iBusDeviceService.updateBusDeviceStatus(devcodeStrs); + //更新点位表 + List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); + if (ledgerCodes != null && ledgerCodes.size() > 0) + iBusLedgerService.updateLedgerStatus(ledgerCodes); + List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); + if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) + iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); + //加入监控日志 + //toDo:需添加离线分析记录 + } + iMonitorLogService.saveMonitorLog("offline", "1", "离线任务判断", "1"); + } catch (Exception e) { + //添加监控异常日志 + iMonitorLogService.saveMonitorLog("offline", "0", "离线任务判断", "1"); + e.printStackTrace(); } } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java index 4c660e9..a3e45c4 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java @@ -18,7 +18,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,8 +67,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { - if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGGasOtherConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index ede18a5..c2d9c30 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -49,6 +51,8 @@ private final IAlarmRecordsService alarmRecordsService; private final IAlarmRuleService alarmRuleService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -67,7 +71,7 @@ try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -78,7 +82,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java index b33a1ee..d58fdf1 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGasliquidGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasliquidGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -53,6 +55,8 @@ private final IAlarmRuleService alarmRuleService; private final DataGasMapper dataGasMapper; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -70,8 +74,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { - if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -82,7 +86,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 6297093..e51c968 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -64,7 +68,7 @@ try { if (DeviceTypeEnum.MonitorPipeOther.name().equals(json.get("devType"))) { if ("MonitorPipeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6e80323..c58dc5f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -47,6 +49,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,7 +67,7 @@ try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -74,7 +78,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index bbf7253..c2f5762 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis" + prefix = "casic.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java index f0d6c3d..f3918bc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java @@ -51,8 +51,7 @@ @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusConfigDTO busConfigTO) { - - return ReturnUtil.success(iBusConfigService.saveConfig(busConfigTO)); + return iBusConfigService.saveConfig(busConfigTO)?ReturnUtil.success():ReturnUtil.failed("配置失败"); } // @ApiOperation("编辑") diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 2288075..4d74341 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.base.service.IBaseExportService; +import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.IdsDTO; @@ -16,10 +17,12 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dict.BusConfigDict; +import com.casic.missiles.modular.device.dict.DeviceDict; import com.casic.missiles.modular.device.dto.*; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; -import com.casic.missiles.modular.log.AopLog; +import com.casic.missiles.modular.interfaces.dictmap.RoleDict; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -30,8 +33,9 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; /** *

@@ -60,17 +64,17 @@ return ReturnUtil.success(super.packForBT(iBusDeviceService.listPage(page, request))); } - @AopLog(description="新增设备",operateType = "新增") + + @BussinessLog(value = "新增设备", key = "devcode,deviceName,deviceType,installDate,productId", dict = DeviceDict.class) + @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("新增") @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusDevice busDevice) { - return ReturnUtil.success(iBusDeviceService.saveDevice(busDevice)); } - @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("编辑") @PostMapping("/edit") @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java new file mode 100644 index 0000000..bc41aa6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.device.controller; + + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.MonitorLogDTO; +import com.casic.missiles.modular.device.entity.MonitorLog; +import com.casic.missiles.modular.device.service.IMonitorLogService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 协议管理 前端控制器 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Api(tags = "系统监控模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/monitorLog") +public class MonitorLogController extends ExportController { + + private final IMonitorLogService iMonitorLogService; + + @ApiOperation("查询分页接口") + @PostMapping("/listPage") + @ResponseBody + public ReturnDTO listPage(@RequestBody MonitorLogDTO request) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(ObjectUtil.isNotEmpty(request.getServerType()),"SERVER_TYPE", request.getServerType()); + queryWrapper.orderByDesc("TS"); + return ReturnUtil.success(super.packForBT(iMonitorLogService.page(page, queryWrapper))); + } + +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java new file mode 100644 index 0000000..0d29f16 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.entity.MonitorLog; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 协议管理 Mapper 接口 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Mapper +public interface MonitorLogMapper extends BaseMapper { + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index c6d1fff..12ff233 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -75,6 +75,7 @@
and bd.CELL #{request.cell} + and bd.CELL > 0 and bd.LOGTIME = ]]> #{request.logTime1} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml index 0d71987..93d1973 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml @@ -63,7 +63,12 @@ SELECT - bl.* + bl.id, + bl.LEDGER_NAME, + bl.LNG_GAODE, + bl.LAT_GAODE, + bl.MONITOR_STATE, + bl.TAG_NUMBER FROM bus_ledger bl WHERE VALID = '1' AND TYPE = '2' diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml new file mode 100644 index 0000000..073a2ab --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + ID + , SERVER_NAME, `STATUS`, REMARK, TS + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java index 6ff74b0..2981486 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java @@ -12,8 +12,7 @@ put("deviceName","设备名称"); put("deviceType","设备类型ID"); put("installDate","安装时间"); - put("wellCode","闸井编号"); - put("concenCode","集中器编号"); + put("productId","产品id"); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java index ac5daf0..f919d1b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java @@ -27,4 +27,7 @@ @ApiModelProperty("1:其他,3:管线") private String type; + @ApiModelProperty("位置类别") + private String locationCategory; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java index 308fa32..3ea8fc9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java @@ -120,4 +120,6 @@ @ApiModelProperty("监测对象id") private String watchObject; + private String manufactureName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 45f621c..d5da07e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -29,6 +29,7 @@ import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.modular.device.service.IBusLedgerPipeService; import com.casic.missiles.modular.device.service.IBusLedgerService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.server.CommonServer; @@ -71,6 +72,7 @@ private final IBusLedgerService iBusLedgerService; private final IBusLedgerPipeService iBusLedgerPipeService; private final IAlarmEventProductService iAlarmEventProductService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.brAppUrl}") private String brAppUrl; @@ -860,49 +862,57 @@ @Transactional @Override public void processOffline() { - //注意:报警类型一律为“OffLine” - List offDeviceDTOList = this.baseMapper.getOfflineDevices(); - List alarmRecordsList = new ArrayList<>(); - List ledgers = new ArrayList<>(); - for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) - continue; - } else { - //默认7天 - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) - continue; + try { + //注意:报警类型一律为“OffLine” + List offDeviceDTOList = this.baseMapper.getOfflineDevices(); + List alarmRecordsList = new ArrayList<>(); + List ledgers = new ArrayList<>(); + for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) + continue; + } else { + //默认7天 + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) + continue; + } } - } - AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), - offDeviceDTO.getLedgerCode(), - offDeviceDTO.getTagNumber(), - offDeviceDTO.getAlarmTypeId(), + AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), + offDeviceDTO.getLedgerCode(), + offDeviceDTO.getTagNumber(), + offDeviceDTO.getAlarmTypeId(), // offDeviceDTO.getAlarmTypeName(), - "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", - offDeviceDTO.getAlarmLevelId(), - new Date(), - offDeviceDTO.getAlarmThreshold(), - offDeviceDTO.getPlace(), "1"); - alarmRecordsList.add(alarmRecords); - ledgers.add(offDeviceDTO); - } - if (alarmRecordsList.size() > 0) { - this.saveBatch(alarmRecordsList); + "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", + offDeviceDTO.getAlarmLevelId(), + new Date(), + offDeviceDTO.getAlarmThreshold(), + offDeviceDTO.getPlace(), "1"); + alarmRecordsList.add(alarmRecords); + ledgers.add(offDeviceDTO); + } + if (alarmRecordsList.size() > 0) { + this.saveBatch(alarmRecordsList); - //更新设备表状态 - List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); - iBusDeviceService.updateBusDeviceStatus(devcodeStrs); - //更新点位表 - List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); - if (ledgerCodes != null && ledgerCodes.size() > 0) - iBusLedgerService.updateLedgerStatus(ledgerCodes); - List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); - if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) - iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); - //toDo:需添加离线分析记录 + //更新设备表状态 + List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); + iBusDeviceService.updateBusDeviceStatus(devcodeStrs); + //更新点位表 + List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); + if (ledgerCodes != null && ledgerCodes.size() > 0) + iBusLedgerService.updateLedgerStatus(ledgerCodes); + List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); + if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) + iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); + //加入监控日志 + //toDo:需添加离线分析记录 + } + iMonitorLogService.saveMonitorLog("offline", "1", "离线任务判断", "1"); + } catch (Exception e) { + //添加监控异常日志 + iMonitorLogService.saveMonitorLog("offline", "0", "离线任务判断", "1"); + e.printStackTrace(); } } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java index 4c660e9..a3e45c4 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java @@ -18,7 +18,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,8 +67,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { - if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGGasOtherConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index ede18a5..c2d9c30 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -49,6 +51,8 @@ private final IAlarmRecordsService alarmRecordsService; private final IAlarmRuleService alarmRuleService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -67,7 +71,7 @@ try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -78,7 +82,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java index b33a1ee..d58fdf1 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGasliquidGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasliquidGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -53,6 +55,8 @@ private final IAlarmRuleService alarmRuleService; private final DataGasMapper dataGasMapper; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -70,8 +74,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { - if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -82,7 +86,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 6297093..e51c968 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -64,7 +68,7 @@ try { if (DeviceTypeEnum.MonitorPipeOther.name().equals(json.get("devType"))) { if ("MonitorPipeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6e80323..c58dc5f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -47,6 +49,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,7 +67,7 @@ try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -74,7 +78,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index bbf7253..c2f5762 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis" + prefix = "casic.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java index f0d6c3d..f3918bc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java @@ -51,8 +51,7 @@ @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusConfigDTO busConfigTO) { - - return ReturnUtil.success(iBusConfigService.saveConfig(busConfigTO)); + return iBusConfigService.saveConfig(busConfigTO)?ReturnUtil.success():ReturnUtil.failed("配置失败"); } // @ApiOperation("编辑") diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 2288075..4d74341 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.base.service.IBaseExportService; +import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.IdsDTO; @@ -16,10 +17,12 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dict.BusConfigDict; +import com.casic.missiles.modular.device.dict.DeviceDict; import com.casic.missiles.modular.device.dto.*; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; -import com.casic.missiles.modular.log.AopLog; +import com.casic.missiles.modular.interfaces.dictmap.RoleDict; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -30,8 +33,9 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; /** *

@@ -60,17 +64,17 @@ return ReturnUtil.success(super.packForBT(iBusDeviceService.listPage(page, request))); } - @AopLog(description="新增设备",operateType = "新增") + + @BussinessLog(value = "新增设备", key = "devcode,deviceName,deviceType,installDate,productId", dict = DeviceDict.class) + @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("新增") @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusDevice busDevice) { - return ReturnUtil.success(iBusDeviceService.saveDevice(busDevice)); } - @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("编辑") @PostMapping("/edit") @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java new file mode 100644 index 0000000..bc41aa6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.device.controller; + + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.MonitorLogDTO; +import com.casic.missiles.modular.device.entity.MonitorLog; +import com.casic.missiles.modular.device.service.IMonitorLogService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 协议管理 前端控制器 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Api(tags = "系统监控模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/monitorLog") +public class MonitorLogController extends ExportController { + + private final IMonitorLogService iMonitorLogService; + + @ApiOperation("查询分页接口") + @PostMapping("/listPage") + @ResponseBody + public ReturnDTO listPage(@RequestBody MonitorLogDTO request) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(ObjectUtil.isNotEmpty(request.getServerType()),"SERVER_TYPE", request.getServerType()); + queryWrapper.orderByDesc("TS"); + return ReturnUtil.success(super.packForBT(iMonitorLogService.page(page, queryWrapper))); + } + +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java new file mode 100644 index 0000000..0d29f16 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.entity.MonitorLog; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 协议管理 Mapper 接口 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Mapper +public interface MonitorLogMapper extends BaseMapper { + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index c6d1fff..12ff233 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -75,6 +75,7 @@
and bd.CELL #{request.cell} + and bd.CELL > 0 and bd.LOGTIME = ]]> #{request.logTime1} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml index 0d71987..93d1973 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml @@ -63,7 +63,12 @@ SELECT - bl.* + bl.id, + bl.LEDGER_NAME, + bl.LNG_GAODE, + bl.LAT_GAODE, + bl.MONITOR_STATE, + bl.TAG_NUMBER FROM bus_ledger bl WHERE VALID = '1' AND TYPE = '2' diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml new file mode 100644 index 0000000..073a2ab --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + ID + , SERVER_NAME, `STATUS`, REMARK, TS + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java index 6ff74b0..2981486 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java @@ -12,8 +12,7 @@ put("deviceName","设备名称"); put("deviceType","设备类型ID"); put("installDate","安装时间"); - put("wellCode","闸井编号"); - put("concenCode","集中器编号"); + put("productId","产品id"); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java index ac5daf0..f919d1b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java @@ -27,4 +27,7 @@ @ApiModelProperty("1:其他,3:管线") private String type; + @ApiModelProperty("位置类别") + private String locationCategory; + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusStationMapDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusStationMapDTO.java new file mode 100644 index 0000000..10e0d14 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusStationMapDTO.java @@ -0,0 +1,33 @@ +package com.casic.missiles.modular.device.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class BusStationMapDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("名称") + private String ledgerName; + + @ApiModelProperty("位号") + private String tagNumber; + + @ApiModelProperty("监控状态(0:未监控,1:正常,2:异常,3:离线)") + private String monitorState; + + @ApiModelProperty("经度(高德)") + private String lngGaode; + + @ApiModelProperty("纬度(高德)") + private String latGaode; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorLogDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorLogDTO.java new file mode 100644 index 0000000..fce0e51 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorLogDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class MonitorLogDTO { + + + @ApiModelProperty("服务类型1:定时任务,2:服务监控") + @TableField("SERVER_TYPE") + private String serverType; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java index 308fa32..3ea8fc9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java @@ -120,4 +120,6 @@ @ApiModelProperty("监测对象id") private String watchObject; + private String manufactureName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 45f621c..d5da07e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -29,6 +29,7 @@ import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.modular.device.service.IBusLedgerPipeService; import com.casic.missiles.modular.device.service.IBusLedgerService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.server.CommonServer; @@ -71,6 +72,7 @@ private final IBusLedgerService iBusLedgerService; private final IBusLedgerPipeService iBusLedgerPipeService; private final IAlarmEventProductService iAlarmEventProductService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.brAppUrl}") private String brAppUrl; @@ -860,49 +862,57 @@ @Transactional @Override public void processOffline() { - //注意:报警类型一律为“OffLine” - List offDeviceDTOList = this.baseMapper.getOfflineDevices(); - List alarmRecordsList = new ArrayList<>(); - List ledgers = new ArrayList<>(); - for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) - continue; - } else { - //默认7天 - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) - continue; + try { + //注意:报警类型一律为“OffLine” + List offDeviceDTOList = this.baseMapper.getOfflineDevices(); + List alarmRecordsList = new ArrayList<>(); + List ledgers = new ArrayList<>(); + for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) + continue; + } else { + //默认7天 + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) + continue; + } } - } - AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), - offDeviceDTO.getLedgerCode(), - offDeviceDTO.getTagNumber(), - offDeviceDTO.getAlarmTypeId(), + AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), + offDeviceDTO.getLedgerCode(), + offDeviceDTO.getTagNumber(), + offDeviceDTO.getAlarmTypeId(), // offDeviceDTO.getAlarmTypeName(), - "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", - offDeviceDTO.getAlarmLevelId(), - new Date(), - offDeviceDTO.getAlarmThreshold(), - offDeviceDTO.getPlace(), "1"); - alarmRecordsList.add(alarmRecords); - ledgers.add(offDeviceDTO); - } - if (alarmRecordsList.size() > 0) { - this.saveBatch(alarmRecordsList); + "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", + offDeviceDTO.getAlarmLevelId(), + new Date(), + offDeviceDTO.getAlarmThreshold(), + offDeviceDTO.getPlace(), "1"); + alarmRecordsList.add(alarmRecords); + ledgers.add(offDeviceDTO); + } + if (alarmRecordsList.size() > 0) { + this.saveBatch(alarmRecordsList); - //更新设备表状态 - List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); - iBusDeviceService.updateBusDeviceStatus(devcodeStrs); - //更新点位表 - List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); - if (ledgerCodes != null && ledgerCodes.size() > 0) - iBusLedgerService.updateLedgerStatus(ledgerCodes); - List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); - if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) - iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); - //toDo:需添加离线分析记录 + //更新设备表状态 + List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); + iBusDeviceService.updateBusDeviceStatus(devcodeStrs); + //更新点位表 + List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); + if (ledgerCodes != null && ledgerCodes.size() > 0) + iBusLedgerService.updateLedgerStatus(ledgerCodes); + List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); + if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) + iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); + //加入监控日志 + //toDo:需添加离线分析记录 + } + iMonitorLogService.saveMonitorLog("offline", "1", "离线任务判断", "1"); + } catch (Exception e) { + //添加监控异常日志 + iMonitorLogService.saveMonitorLog("offline", "0", "离线任务判断", "1"); + e.printStackTrace(); } } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java index 4c660e9..a3e45c4 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java @@ -18,7 +18,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,8 +67,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { - if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGGasOtherConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index ede18a5..c2d9c30 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -49,6 +51,8 @@ private final IAlarmRecordsService alarmRecordsService; private final IAlarmRuleService alarmRuleService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -67,7 +71,7 @@ try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -78,7 +82,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java index b33a1ee..d58fdf1 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGasliquidGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasliquidGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -53,6 +55,8 @@ private final IAlarmRuleService alarmRuleService; private final DataGasMapper dataGasMapper; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -70,8 +74,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { - if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -82,7 +86,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 6297093..e51c968 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -64,7 +68,7 @@ try { if (DeviceTypeEnum.MonitorPipeOther.name().equals(json.get("devType"))) { if ("MonitorPipeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6e80323..c58dc5f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -47,6 +49,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,7 +67,7 @@ try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -74,7 +78,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index bbf7253..c2f5762 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis" + prefix = "casic.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java index f0d6c3d..f3918bc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java @@ -51,8 +51,7 @@ @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusConfigDTO busConfigTO) { - - return ReturnUtil.success(iBusConfigService.saveConfig(busConfigTO)); + return iBusConfigService.saveConfig(busConfigTO)?ReturnUtil.success():ReturnUtil.failed("配置失败"); } // @ApiOperation("编辑") diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 2288075..4d74341 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.base.service.IBaseExportService; +import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.IdsDTO; @@ -16,10 +17,12 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dict.BusConfigDict; +import com.casic.missiles.modular.device.dict.DeviceDict; import com.casic.missiles.modular.device.dto.*; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; -import com.casic.missiles.modular.log.AopLog; +import com.casic.missiles.modular.interfaces.dictmap.RoleDict; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -30,8 +33,9 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; /** *

@@ -60,17 +64,17 @@ return ReturnUtil.success(super.packForBT(iBusDeviceService.listPage(page, request))); } - @AopLog(description="新增设备",operateType = "新增") + + @BussinessLog(value = "新增设备", key = "devcode,deviceName,deviceType,installDate,productId", dict = DeviceDict.class) + @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("新增") @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusDevice busDevice) { - return ReturnUtil.success(iBusDeviceService.saveDevice(busDevice)); } - @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("编辑") @PostMapping("/edit") @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java new file mode 100644 index 0000000..bc41aa6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.device.controller; + + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.MonitorLogDTO; +import com.casic.missiles.modular.device.entity.MonitorLog; +import com.casic.missiles.modular.device.service.IMonitorLogService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 协议管理 前端控制器 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Api(tags = "系统监控模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/monitorLog") +public class MonitorLogController extends ExportController { + + private final IMonitorLogService iMonitorLogService; + + @ApiOperation("查询分页接口") + @PostMapping("/listPage") + @ResponseBody + public ReturnDTO listPage(@RequestBody MonitorLogDTO request) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(ObjectUtil.isNotEmpty(request.getServerType()),"SERVER_TYPE", request.getServerType()); + queryWrapper.orderByDesc("TS"); + return ReturnUtil.success(super.packForBT(iMonitorLogService.page(page, queryWrapper))); + } + +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java new file mode 100644 index 0000000..0d29f16 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.entity.MonitorLog; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 协议管理 Mapper 接口 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Mapper +public interface MonitorLogMapper extends BaseMapper { + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index c6d1fff..12ff233 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -75,6 +75,7 @@
and bd.CELL #{request.cell} + and bd.CELL > 0 and bd.LOGTIME = ]]> #{request.logTime1} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml index 0d71987..93d1973 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml @@ -63,7 +63,12 @@ SELECT - bl.* + bl.id, + bl.LEDGER_NAME, + bl.LNG_GAODE, + bl.LAT_GAODE, + bl.MONITOR_STATE, + bl.TAG_NUMBER FROM bus_ledger bl WHERE VALID = '1' AND TYPE = '2' diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml new file mode 100644 index 0000000..073a2ab --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + ID + , SERVER_NAME, `STATUS`, REMARK, TS + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java index 6ff74b0..2981486 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java @@ -12,8 +12,7 @@ put("deviceName","设备名称"); put("deviceType","设备类型ID"); put("installDate","安装时间"); - put("wellCode","闸井编号"); - put("concenCode","集中器编号"); + put("productId","产品id"); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java index ac5daf0..f919d1b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java @@ -27,4 +27,7 @@ @ApiModelProperty("1:其他,3:管线") private String type; + @ApiModelProperty("位置类别") + private String locationCategory; + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusStationMapDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusStationMapDTO.java new file mode 100644 index 0000000..10e0d14 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusStationMapDTO.java @@ -0,0 +1,33 @@ +package com.casic.missiles.modular.device.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class BusStationMapDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("名称") + private String ledgerName; + + @ApiModelProperty("位号") + private String tagNumber; + + @ApiModelProperty("监控状态(0:未监控,1:正常,2:异常,3:离线)") + private String monitorState; + + @ApiModelProperty("经度(高德)") + private String lngGaode; + + @ApiModelProperty("纬度(高德)") + private String latGaode; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorLogDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorLogDTO.java new file mode 100644 index 0000000..fce0e51 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorLogDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class MonitorLogDTO { + + + @ApiModelProperty("服务类型1:定时任务,2:服务监控") + @TableField("SERVER_TYPE") + private String serverType; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java index 407e3c1..d0f45f6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java @@ -89,10 +89,17 @@ @TableField("NB_PRODUCT_ID") private String nbProductId; + @ApiModelProperty("密钥NB_APP_KEY") + @TableField("NB_APP_KEY") + private String nbAppKey; - @ApiModelProperty("密钥") - @TableField("SECRET_KEY") - private String secretKey; + @ApiModelProperty("密钥NB_APP_SECRET") + @TableField("NB_APP_SECRET") + private String nbAppSecret; + + @ApiModelProperty("电信NB平台KEY,用于下发配置") + @TableField("MASTER_API_KEY") + private String masterApiKey; @ApiModelProperty("左侧指示带长度") @TableField("LEFT_LENGTH") diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/MonitorLog.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/MonitorLog.java new file mode 100644 index 0000000..95ef444 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/MonitorLog.java @@ -0,0 +1,57 @@ +package com.casic.missiles.modular.device.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 协议管理 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Getter +@Setter +@TableName("monitor_log") +@ApiModel(value = "MonitorLog对象", description = "协议管理 ") +public class MonitorLog implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("名称") + @TableField("SERVER_NAME") + private String serverName; + + @ApiModelProperty("服务类型1:定时任务,2:服务监控") + @TableField("SERVER_TYPE") + private String serverType; + + + @ApiModelProperty("运行状态(1、正常、0、异常)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("备注") + @TableField("REMARK") + private String remark; + + @ApiModelProperty("创建时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java index 308fa32..3ea8fc9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java @@ -120,4 +120,6 @@ @ApiModelProperty("监测对象id") private String watchObject; + private String manufactureName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 45f621c..d5da07e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -29,6 +29,7 @@ import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.modular.device.service.IBusLedgerPipeService; import com.casic.missiles.modular.device.service.IBusLedgerService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.server.CommonServer; @@ -71,6 +72,7 @@ private final IBusLedgerService iBusLedgerService; private final IBusLedgerPipeService iBusLedgerPipeService; private final IAlarmEventProductService iAlarmEventProductService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.brAppUrl}") private String brAppUrl; @@ -860,49 +862,57 @@ @Transactional @Override public void processOffline() { - //注意:报警类型一律为“OffLine” - List offDeviceDTOList = this.baseMapper.getOfflineDevices(); - List alarmRecordsList = new ArrayList<>(); - List ledgers = new ArrayList<>(); - for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) - continue; - } else { - //默认7天 - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) - continue; + try { + //注意:报警类型一律为“OffLine” + List offDeviceDTOList = this.baseMapper.getOfflineDevices(); + List alarmRecordsList = new ArrayList<>(); + List ledgers = new ArrayList<>(); + for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) + continue; + } else { + //默认7天 + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) + continue; + } } - } - AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), - offDeviceDTO.getLedgerCode(), - offDeviceDTO.getTagNumber(), - offDeviceDTO.getAlarmTypeId(), + AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), + offDeviceDTO.getLedgerCode(), + offDeviceDTO.getTagNumber(), + offDeviceDTO.getAlarmTypeId(), // offDeviceDTO.getAlarmTypeName(), - "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", - offDeviceDTO.getAlarmLevelId(), - new Date(), - offDeviceDTO.getAlarmThreshold(), - offDeviceDTO.getPlace(), "1"); - alarmRecordsList.add(alarmRecords); - ledgers.add(offDeviceDTO); - } - if (alarmRecordsList.size() > 0) { - this.saveBatch(alarmRecordsList); + "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", + offDeviceDTO.getAlarmLevelId(), + new Date(), + offDeviceDTO.getAlarmThreshold(), + offDeviceDTO.getPlace(), "1"); + alarmRecordsList.add(alarmRecords); + ledgers.add(offDeviceDTO); + } + if (alarmRecordsList.size() > 0) { + this.saveBatch(alarmRecordsList); - //更新设备表状态 - List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); - iBusDeviceService.updateBusDeviceStatus(devcodeStrs); - //更新点位表 - List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); - if (ledgerCodes != null && ledgerCodes.size() > 0) - iBusLedgerService.updateLedgerStatus(ledgerCodes); - List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); - if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) - iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); - //toDo:需添加离线分析记录 + //更新设备表状态 + List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); + iBusDeviceService.updateBusDeviceStatus(devcodeStrs); + //更新点位表 + List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); + if (ledgerCodes != null && ledgerCodes.size() > 0) + iBusLedgerService.updateLedgerStatus(ledgerCodes); + List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); + if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) + iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); + //加入监控日志 + //toDo:需添加离线分析记录 + } + iMonitorLogService.saveMonitorLog("offline", "1", "离线任务判断", "1"); + } catch (Exception e) { + //添加监控异常日志 + iMonitorLogService.saveMonitorLog("offline", "0", "离线任务判断", "1"); + e.printStackTrace(); } } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java index 4c660e9..a3e45c4 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java @@ -18,7 +18,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,8 +67,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { - if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGGasOtherConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index ede18a5..c2d9c30 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -49,6 +51,8 @@ private final IAlarmRecordsService alarmRecordsService; private final IAlarmRuleService alarmRuleService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -67,7 +71,7 @@ try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -78,7 +82,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java index b33a1ee..d58fdf1 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGasliquidGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasliquidGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -53,6 +55,8 @@ private final IAlarmRuleService alarmRuleService; private final DataGasMapper dataGasMapper; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -70,8 +74,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { - if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -82,7 +86,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 6297093..e51c968 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -64,7 +68,7 @@ try { if (DeviceTypeEnum.MonitorPipeOther.name().equals(json.get("devType"))) { if ("MonitorPipeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6e80323..c58dc5f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -47,6 +49,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,7 +67,7 @@ try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -74,7 +78,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index bbf7253..c2f5762 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis" + prefix = "casic.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java index f0d6c3d..f3918bc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java @@ -51,8 +51,7 @@ @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusConfigDTO busConfigTO) { - - return ReturnUtil.success(iBusConfigService.saveConfig(busConfigTO)); + return iBusConfigService.saveConfig(busConfigTO)?ReturnUtil.success():ReturnUtil.failed("配置失败"); } // @ApiOperation("编辑") diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 2288075..4d74341 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.base.service.IBaseExportService; +import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.IdsDTO; @@ -16,10 +17,12 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dict.BusConfigDict; +import com.casic.missiles.modular.device.dict.DeviceDict; import com.casic.missiles.modular.device.dto.*; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; -import com.casic.missiles.modular.log.AopLog; +import com.casic.missiles.modular.interfaces.dictmap.RoleDict; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -30,8 +33,9 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; /** *

@@ -60,17 +64,17 @@ return ReturnUtil.success(super.packForBT(iBusDeviceService.listPage(page, request))); } - @AopLog(description="新增设备",operateType = "新增") + + @BussinessLog(value = "新增设备", key = "devcode,deviceName,deviceType,installDate,productId", dict = DeviceDict.class) + @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("新增") @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusDevice busDevice) { - return ReturnUtil.success(iBusDeviceService.saveDevice(busDevice)); } - @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("编辑") @PostMapping("/edit") @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java new file mode 100644 index 0000000..bc41aa6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.device.controller; + + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.MonitorLogDTO; +import com.casic.missiles.modular.device.entity.MonitorLog; +import com.casic.missiles.modular.device.service.IMonitorLogService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 协议管理 前端控制器 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Api(tags = "系统监控模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/monitorLog") +public class MonitorLogController extends ExportController { + + private final IMonitorLogService iMonitorLogService; + + @ApiOperation("查询分页接口") + @PostMapping("/listPage") + @ResponseBody + public ReturnDTO listPage(@RequestBody MonitorLogDTO request) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(ObjectUtil.isNotEmpty(request.getServerType()),"SERVER_TYPE", request.getServerType()); + queryWrapper.orderByDesc("TS"); + return ReturnUtil.success(super.packForBT(iMonitorLogService.page(page, queryWrapper))); + } + +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java new file mode 100644 index 0000000..0d29f16 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.entity.MonitorLog; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 协议管理 Mapper 接口 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Mapper +public interface MonitorLogMapper extends BaseMapper { + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index c6d1fff..12ff233 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -75,6 +75,7 @@
and bd.CELL #{request.cell} + and bd.CELL > 0 and bd.LOGTIME = ]]> #{request.logTime1} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml index 0d71987..93d1973 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml @@ -63,7 +63,12 @@ SELECT - bl.* + bl.id, + bl.LEDGER_NAME, + bl.LNG_GAODE, + bl.LAT_GAODE, + bl.MONITOR_STATE, + bl.TAG_NUMBER FROM bus_ledger bl WHERE VALID = '1' AND TYPE = '2' diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml new file mode 100644 index 0000000..073a2ab --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + ID + , SERVER_NAME, `STATUS`, REMARK, TS + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java index 6ff74b0..2981486 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java @@ -12,8 +12,7 @@ put("deviceName","设备名称"); put("deviceType","设备类型ID"); put("installDate","安装时间"); - put("wellCode","闸井编号"); - put("concenCode","集中器编号"); + put("productId","产品id"); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java index ac5daf0..f919d1b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java @@ -27,4 +27,7 @@ @ApiModelProperty("1:其他,3:管线") private String type; + @ApiModelProperty("位置类别") + private String locationCategory; + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusStationMapDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusStationMapDTO.java new file mode 100644 index 0000000..10e0d14 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusStationMapDTO.java @@ -0,0 +1,33 @@ +package com.casic.missiles.modular.device.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class BusStationMapDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("名称") + private String ledgerName; + + @ApiModelProperty("位号") + private String tagNumber; + + @ApiModelProperty("监控状态(0:未监控,1:正常,2:异常,3:离线)") + private String monitorState; + + @ApiModelProperty("经度(高德)") + private String lngGaode; + + @ApiModelProperty("纬度(高德)") + private String latGaode; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorLogDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorLogDTO.java new file mode 100644 index 0000000..fce0e51 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorLogDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class MonitorLogDTO { + + + @ApiModelProperty("服务类型1:定时任务,2:服务监控") + @TableField("SERVER_TYPE") + private String serverType; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java index 407e3c1..d0f45f6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java @@ -89,10 +89,17 @@ @TableField("NB_PRODUCT_ID") private String nbProductId; + @ApiModelProperty("密钥NB_APP_KEY") + @TableField("NB_APP_KEY") + private String nbAppKey; - @ApiModelProperty("密钥") - @TableField("SECRET_KEY") - private String secretKey; + @ApiModelProperty("密钥NB_APP_SECRET") + @TableField("NB_APP_SECRET") + private String nbAppSecret; + + @ApiModelProperty("电信NB平台KEY,用于下发配置") + @TableField("MASTER_API_KEY") + private String masterApiKey; @ApiModelProperty("左侧指示带长度") @TableField("LEFT_LENGTH") diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/MonitorLog.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/MonitorLog.java new file mode 100644 index 0000000..95ef444 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/MonitorLog.java @@ -0,0 +1,57 @@ +package com.casic.missiles.modular.device.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 协议管理 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Getter +@Setter +@TableName("monitor_log") +@ApiModel(value = "MonitorLog对象", description = "协议管理 ") +public class MonitorLog implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("名称") + @TableField("SERVER_NAME") + private String serverName; + + @ApiModelProperty("服务类型1:定时任务,2:服务监控") + @TableField("SERVER_TYPE") + private String serverType; + + + @ApiModelProperty("运行状态(1、正常、0、异常)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("备注") + @TableField("REMARK") + private String remark; + + @ApiModelProperty("创建时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/rs/CommConfigDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/rs/CommConfigDTO.java new file mode 100644 index 0000000..dece4f7 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/rs/CommConfigDTO.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.device.rs; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Data +public class CommConfigDTO implements Serializable { + private static final long serialVersionUID = 1L; + + private String acqStart;//采集开始时间 + private Long interval;//采集时间间隔(分钟) + private Long period;//上传周期 + private Long times;//采集次数 + private Long repeat;//重传次数 + private String ip; + private Long port; + private Float thresh; + private Float height; + private String collect; + private String MultiCollect; + private String acqCycle; + private String upCycle; + private String sleepStartTime; + + private String acqStartFlow ; //流量采集开始时间 + private Long intervalFlow; //流量采集采集间隔(分) + private Long acqTimesFlow ;//流量采集次数 + private String upStartFlow; //流量上报开始时间 + private Long upTimesFlow; //流量上传次数 + private String acqStartNoise; //噪声采集开始时间 + private Long intervalNoise; //噪声采集采集间隔(分) + private Long acqTimesNoise;//噪声采集次数 + private String upStartNoise; //噪声上报开始时间 + private Long upTimesNoise ;//噪声上传次数 + private String acqStartPressure; //压力采集开始时间 + private Long intervalPressure;//压力采集采集间隔(分) + private Long acqTimesPressure; //压力采集次数 + private String upStartPressure; //压力上报开始时间 + private Long upTimesPressure; //压力上传次数 + private Float lowerLimitPressure; //压力报警下限 + private Float upperLimitPressure ;//压力报警下限 + private Long limitDig ;//开挖阈值 + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/rs/RedisCommon.java b/casic-device/src/main/java/com/casic/missiles/modular/device/rs/RedisCommon.java new file mode 100644 index 0000000..875a4c6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/rs/RedisCommon.java @@ -0,0 +1,40 @@ +package com.casic.missiles.modular.device.rs; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +import java.util.concurrent.TimeUnit; + +/** + * Created by test203 on 2019/5/30. + */ +@Service +public class RedisCommon { + + @Autowired + protected RedisTemplate redisTemplate; + + @Value("${casic.device.redis.invalid-time}") + private String invalidTime; + @Value("${casic.device.redis.config-prefix}") + private String configPrefix; + + + public void setRedisConfig(String key, CommConfigDTO commConfigDTO) { +// Gson g = new GsonBuilder().serializeNulls().create(); + + Gson g = new GsonBuilder().create(); + redisTemplate.opsForValue().set(configPrefix + key, + g.toJson(commConfigDTO), + Integer.valueOf(invalidTime), + TimeUnit.SECONDS); + } + + public void setRightRedisConcentrator(String concentratorcode, String devcode) { + redisTemplate.opsForList().rightPush(configPrefix + concentratorcode, "$" + devcode); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java index 308fa32..3ea8fc9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java @@ -120,4 +120,6 @@ @ApiModelProperty("监测对象id") private String watchObject; + private String manufactureName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 45f621c..d5da07e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -29,6 +29,7 @@ import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.modular.device.service.IBusLedgerPipeService; import com.casic.missiles.modular.device.service.IBusLedgerService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.server.CommonServer; @@ -71,6 +72,7 @@ private final IBusLedgerService iBusLedgerService; private final IBusLedgerPipeService iBusLedgerPipeService; private final IAlarmEventProductService iAlarmEventProductService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.brAppUrl}") private String brAppUrl; @@ -860,49 +862,57 @@ @Transactional @Override public void processOffline() { - //注意:报警类型一律为“OffLine” - List offDeviceDTOList = this.baseMapper.getOfflineDevices(); - List alarmRecordsList = new ArrayList<>(); - List ledgers = new ArrayList<>(); - for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) - continue; - } else { - //默认7天 - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) - continue; + try { + //注意:报警类型一律为“OffLine” + List offDeviceDTOList = this.baseMapper.getOfflineDevices(); + List alarmRecordsList = new ArrayList<>(); + List ledgers = new ArrayList<>(); + for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) + continue; + } else { + //默认7天 + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) + continue; + } } - } - AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), - offDeviceDTO.getLedgerCode(), - offDeviceDTO.getTagNumber(), - offDeviceDTO.getAlarmTypeId(), + AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), + offDeviceDTO.getLedgerCode(), + offDeviceDTO.getTagNumber(), + offDeviceDTO.getAlarmTypeId(), // offDeviceDTO.getAlarmTypeName(), - "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", - offDeviceDTO.getAlarmLevelId(), - new Date(), - offDeviceDTO.getAlarmThreshold(), - offDeviceDTO.getPlace(), "1"); - alarmRecordsList.add(alarmRecords); - ledgers.add(offDeviceDTO); - } - if (alarmRecordsList.size() > 0) { - this.saveBatch(alarmRecordsList); + "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", + offDeviceDTO.getAlarmLevelId(), + new Date(), + offDeviceDTO.getAlarmThreshold(), + offDeviceDTO.getPlace(), "1"); + alarmRecordsList.add(alarmRecords); + ledgers.add(offDeviceDTO); + } + if (alarmRecordsList.size() > 0) { + this.saveBatch(alarmRecordsList); - //更新设备表状态 - List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); - iBusDeviceService.updateBusDeviceStatus(devcodeStrs); - //更新点位表 - List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); - if (ledgerCodes != null && ledgerCodes.size() > 0) - iBusLedgerService.updateLedgerStatus(ledgerCodes); - List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); - if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) - iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); - //toDo:需添加离线分析记录 + //更新设备表状态 + List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); + iBusDeviceService.updateBusDeviceStatus(devcodeStrs); + //更新点位表 + List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); + if (ledgerCodes != null && ledgerCodes.size() > 0) + iBusLedgerService.updateLedgerStatus(ledgerCodes); + List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); + if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) + iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); + //加入监控日志 + //toDo:需添加离线分析记录 + } + iMonitorLogService.saveMonitorLog("offline", "1", "离线任务判断", "1"); + } catch (Exception e) { + //添加监控异常日志 + iMonitorLogService.saveMonitorLog("offline", "0", "离线任务判断", "1"); + e.printStackTrace(); } } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java index 4c660e9..a3e45c4 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java @@ -18,7 +18,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,8 +67,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { - if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGGasOtherConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index ede18a5..c2d9c30 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -49,6 +51,8 @@ private final IAlarmRecordsService alarmRecordsService; private final IAlarmRuleService alarmRuleService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -67,7 +71,7 @@ try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -78,7 +82,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java index b33a1ee..d58fdf1 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGasliquidGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasliquidGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -53,6 +55,8 @@ private final IAlarmRuleService alarmRuleService; private final DataGasMapper dataGasMapper; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -70,8 +74,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { - if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -82,7 +86,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 6297093..e51c968 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -64,7 +68,7 @@ try { if (DeviceTypeEnum.MonitorPipeOther.name().equals(json.get("devType"))) { if ("MonitorPipeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6e80323..c58dc5f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -47,6 +49,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,7 +67,7 @@ try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -74,7 +78,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index bbf7253..c2f5762 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis" + prefix = "casic.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java index f0d6c3d..f3918bc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java @@ -51,8 +51,7 @@ @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusConfigDTO busConfigTO) { - - return ReturnUtil.success(iBusConfigService.saveConfig(busConfigTO)); + return iBusConfigService.saveConfig(busConfigTO)?ReturnUtil.success():ReturnUtil.failed("配置失败"); } // @ApiOperation("编辑") diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 2288075..4d74341 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.base.service.IBaseExportService; +import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.IdsDTO; @@ -16,10 +17,12 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dict.BusConfigDict; +import com.casic.missiles.modular.device.dict.DeviceDict; import com.casic.missiles.modular.device.dto.*; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; -import com.casic.missiles.modular.log.AopLog; +import com.casic.missiles.modular.interfaces.dictmap.RoleDict; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -30,8 +33,9 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; /** *

@@ -60,17 +64,17 @@ return ReturnUtil.success(super.packForBT(iBusDeviceService.listPage(page, request))); } - @AopLog(description="新增设备",operateType = "新增") + + @BussinessLog(value = "新增设备", key = "devcode,deviceName,deviceType,installDate,productId", dict = DeviceDict.class) + @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("新增") @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusDevice busDevice) { - return ReturnUtil.success(iBusDeviceService.saveDevice(busDevice)); } - @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("编辑") @PostMapping("/edit") @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java new file mode 100644 index 0000000..bc41aa6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.device.controller; + + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.MonitorLogDTO; +import com.casic.missiles.modular.device.entity.MonitorLog; +import com.casic.missiles.modular.device.service.IMonitorLogService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 协议管理 前端控制器 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Api(tags = "系统监控模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/monitorLog") +public class MonitorLogController extends ExportController { + + private final IMonitorLogService iMonitorLogService; + + @ApiOperation("查询分页接口") + @PostMapping("/listPage") + @ResponseBody + public ReturnDTO listPage(@RequestBody MonitorLogDTO request) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(ObjectUtil.isNotEmpty(request.getServerType()),"SERVER_TYPE", request.getServerType()); + queryWrapper.orderByDesc("TS"); + return ReturnUtil.success(super.packForBT(iMonitorLogService.page(page, queryWrapper))); + } + +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java new file mode 100644 index 0000000..0d29f16 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.entity.MonitorLog; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 协议管理 Mapper 接口 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Mapper +public interface MonitorLogMapper extends BaseMapper { + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index c6d1fff..12ff233 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -75,6 +75,7 @@
and bd.CELL #{request.cell} + and bd.CELL > 0 and bd.LOGTIME = ]]> #{request.logTime1} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml index 0d71987..93d1973 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml @@ -63,7 +63,12 @@ SELECT - bl.* + bl.id, + bl.LEDGER_NAME, + bl.LNG_GAODE, + bl.LAT_GAODE, + bl.MONITOR_STATE, + bl.TAG_NUMBER FROM bus_ledger bl WHERE VALID = '1' AND TYPE = '2' diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml new file mode 100644 index 0000000..073a2ab --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + ID + , SERVER_NAME, `STATUS`, REMARK, TS + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java index 6ff74b0..2981486 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java @@ -12,8 +12,7 @@ put("deviceName","设备名称"); put("deviceType","设备类型ID"); put("installDate","安装时间"); - put("wellCode","闸井编号"); - put("concenCode","集中器编号"); + put("productId","产品id"); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java index ac5daf0..f919d1b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java @@ -27,4 +27,7 @@ @ApiModelProperty("1:其他,3:管线") private String type; + @ApiModelProperty("位置类别") + private String locationCategory; + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusStationMapDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusStationMapDTO.java new file mode 100644 index 0000000..10e0d14 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusStationMapDTO.java @@ -0,0 +1,33 @@ +package com.casic.missiles.modular.device.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class BusStationMapDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("名称") + private String ledgerName; + + @ApiModelProperty("位号") + private String tagNumber; + + @ApiModelProperty("监控状态(0:未监控,1:正常,2:异常,3:离线)") + private String monitorState; + + @ApiModelProperty("经度(高德)") + private String lngGaode; + + @ApiModelProperty("纬度(高德)") + private String latGaode; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorLogDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorLogDTO.java new file mode 100644 index 0000000..fce0e51 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorLogDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class MonitorLogDTO { + + + @ApiModelProperty("服务类型1:定时任务,2:服务监控") + @TableField("SERVER_TYPE") + private String serverType; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java index 407e3c1..d0f45f6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java @@ -89,10 +89,17 @@ @TableField("NB_PRODUCT_ID") private String nbProductId; + @ApiModelProperty("密钥NB_APP_KEY") + @TableField("NB_APP_KEY") + private String nbAppKey; - @ApiModelProperty("密钥") - @TableField("SECRET_KEY") - private String secretKey; + @ApiModelProperty("密钥NB_APP_SECRET") + @TableField("NB_APP_SECRET") + private String nbAppSecret; + + @ApiModelProperty("电信NB平台KEY,用于下发配置") + @TableField("MASTER_API_KEY") + private String masterApiKey; @ApiModelProperty("左侧指示带长度") @TableField("LEFT_LENGTH") diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/MonitorLog.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/MonitorLog.java new file mode 100644 index 0000000..95ef444 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/MonitorLog.java @@ -0,0 +1,57 @@ +package com.casic.missiles.modular.device.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 协议管理 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Getter +@Setter +@TableName("monitor_log") +@ApiModel(value = "MonitorLog对象", description = "协议管理 ") +public class MonitorLog implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("名称") + @TableField("SERVER_NAME") + private String serverName; + + @ApiModelProperty("服务类型1:定时任务,2:服务监控") + @TableField("SERVER_TYPE") + private String serverType; + + + @ApiModelProperty("运行状态(1、正常、0、异常)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("备注") + @TableField("REMARK") + private String remark; + + @ApiModelProperty("创建时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/rs/CommConfigDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/rs/CommConfigDTO.java new file mode 100644 index 0000000..dece4f7 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/rs/CommConfigDTO.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.device.rs; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Data +public class CommConfigDTO implements Serializable { + private static final long serialVersionUID = 1L; + + private String acqStart;//采集开始时间 + private Long interval;//采集时间间隔(分钟) + private Long period;//上传周期 + private Long times;//采集次数 + private Long repeat;//重传次数 + private String ip; + private Long port; + private Float thresh; + private Float height; + private String collect; + private String MultiCollect; + private String acqCycle; + private String upCycle; + private String sleepStartTime; + + private String acqStartFlow ; //流量采集开始时间 + private Long intervalFlow; //流量采集采集间隔(分) + private Long acqTimesFlow ;//流量采集次数 + private String upStartFlow; //流量上报开始时间 + private Long upTimesFlow; //流量上传次数 + private String acqStartNoise; //噪声采集开始时间 + private Long intervalNoise; //噪声采集采集间隔(分) + private Long acqTimesNoise;//噪声采集次数 + private String upStartNoise; //噪声上报开始时间 + private Long upTimesNoise ;//噪声上传次数 + private String acqStartPressure; //压力采集开始时间 + private Long intervalPressure;//压力采集采集间隔(分) + private Long acqTimesPressure; //压力采集次数 + private String upStartPressure; //压力上报开始时间 + private Long upTimesPressure; //压力上传次数 + private Float lowerLimitPressure; //压力报警下限 + private Float upperLimitPressure ;//压力报警下限 + private Long limitDig ;//开挖阈值 + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/rs/RedisCommon.java b/casic-device/src/main/java/com/casic/missiles/modular/device/rs/RedisCommon.java new file mode 100644 index 0000000..875a4c6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/rs/RedisCommon.java @@ -0,0 +1,40 @@ +package com.casic.missiles.modular.device.rs; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +import java.util.concurrent.TimeUnit; + +/** + * Created by test203 on 2019/5/30. + */ +@Service +public class RedisCommon { + + @Autowired + protected RedisTemplate redisTemplate; + + @Value("${casic.device.redis.invalid-time}") + private String invalidTime; + @Value("${casic.device.redis.config-prefix}") + private String configPrefix; + + + public void setRedisConfig(String key, CommConfigDTO commConfigDTO) { +// Gson g = new GsonBuilder().serializeNulls().create(); + + Gson g = new GsonBuilder().create(); + redisTemplate.opsForValue().set(configPrefix + key, + g.toJson(commConfigDTO), + Integer.valueOf(invalidTime), + TimeUnit.SECONDS); + } + + public void setRightRedisConcentrator(String concentratorcode, String devcode) { + redisTemplate.opsForList().rightPush(configPrefix + concentratorcode, "$" + devcode); + } +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusConfigService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusConfigService.java index 70f740f..9fb2140 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusConfigService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusConfigService.java @@ -21,6 +21,8 @@ boolean saveConfig(BusConfigDTO busConfigTO); + boolean updateStatus(String devCode); + boolean saveConfigOther(BusConfigOtherDTO busConfigOtherDTO); Page pageList(Page page, BusConfigRequestDTO requestDTO); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusImeiIccidService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusImeiIccidService.java index 889703f..4172472 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusImeiIccidService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusImeiIccidService.java @@ -13,4 +13,6 @@ */ public interface IBusImeiIccidService extends IService { + void saveData(String devCode,String imei,String iccid); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java index 308fa32..3ea8fc9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java @@ -120,4 +120,6 @@ @ApiModelProperty("监测对象id") private String watchObject; + private String manufactureName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 45f621c..d5da07e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -29,6 +29,7 @@ import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.modular.device.service.IBusLedgerPipeService; import com.casic.missiles.modular.device.service.IBusLedgerService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.server.CommonServer; @@ -71,6 +72,7 @@ private final IBusLedgerService iBusLedgerService; private final IBusLedgerPipeService iBusLedgerPipeService; private final IAlarmEventProductService iAlarmEventProductService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.brAppUrl}") private String brAppUrl; @@ -860,49 +862,57 @@ @Transactional @Override public void processOffline() { - //注意:报警类型一律为“OffLine” - List offDeviceDTOList = this.baseMapper.getOfflineDevices(); - List alarmRecordsList = new ArrayList<>(); - List ledgers = new ArrayList<>(); - for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) - continue; - } else { - //默认7天 - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) - continue; + try { + //注意:报警类型一律为“OffLine” + List offDeviceDTOList = this.baseMapper.getOfflineDevices(); + List alarmRecordsList = new ArrayList<>(); + List ledgers = new ArrayList<>(); + for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) + continue; + } else { + //默认7天 + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) + continue; + } } - } - AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), - offDeviceDTO.getLedgerCode(), - offDeviceDTO.getTagNumber(), - offDeviceDTO.getAlarmTypeId(), + AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), + offDeviceDTO.getLedgerCode(), + offDeviceDTO.getTagNumber(), + offDeviceDTO.getAlarmTypeId(), // offDeviceDTO.getAlarmTypeName(), - "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", - offDeviceDTO.getAlarmLevelId(), - new Date(), - offDeviceDTO.getAlarmThreshold(), - offDeviceDTO.getPlace(), "1"); - alarmRecordsList.add(alarmRecords); - ledgers.add(offDeviceDTO); - } - if (alarmRecordsList.size() > 0) { - this.saveBatch(alarmRecordsList); + "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", + offDeviceDTO.getAlarmLevelId(), + new Date(), + offDeviceDTO.getAlarmThreshold(), + offDeviceDTO.getPlace(), "1"); + alarmRecordsList.add(alarmRecords); + ledgers.add(offDeviceDTO); + } + if (alarmRecordsList.size() > 0) { + this.saveBatch(alarmRecordsList); - //更新设备表状态 - List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); - iBusDeviceService.updateBusDeviceStatus(devcodeStrs); - //更新点位表 - List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); - if (ledgerCodes != null && ledgerCodes.size() > 0) - iBusLedgerService.updateLedgerStatus(ledgerCodes); - List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); - if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) - iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); - //toDo:需添加离线分析记录 + //更新设备表状态 + List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); + iBusDeviceService.updateBusDeviceStatus(devcodeStrs); + //更新点位表 + List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); + if (ledgerCodes != null && ledgerCodes.size() > 0) + iBusLedgerService.updateLedgerStatus(ledgerCodes); + List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); + if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) + iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); + //加入监控日志 + //toDo:需添加离线分析记录 + } + iMonitorLogService.saveMonitorLog("offline", "1", "离线任务判断", "1"); + } catch (Exception e) { + //添加监控异常日志 + iMonitorLogService.saveMonitorLog("offline", "0", "离线任务判断", "1"); + e.printStackTrace(); } } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java index 4c660e9..a3e45c4 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java @@ -18,7 +18,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,8 +67,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { - if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGGasOtherConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index ede18a5..c2d9c30 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -49,6 +51,8 @@ private final IAlarmRecordsService alarmRecordsService; private final IAlarmRuleService alarmRuleService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -67,7 +71,7 @@ try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -78,7 +82,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java index b33a1ee..d58fdf1 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGasliquidGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasliquidGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -53,6 +55,8 @@ private final IAlarmRuleService alarmRuleService; private final DataGasMapper dataGasMapper; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -70,8 +74,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { - if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -82,7 +86,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 6297093..e51c968 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -64,7 +68,7 @@ try { if (DeviceTypeEnum.MonitorPipeOther.name().equals(json.get("devType"))) { if ("MonitorPipeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6e80323..c58dc5f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -47,6 +49,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,7 +67,7 @@ try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -74,7 +78,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index bbf7253..c2f5762 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis" + prefix = "casic.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java index f0d6c3d..f3918bc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java @@ -51,8 +51,7 @@ @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusConfigDTO busConfigTO) { - - return ReturnUtil.success(iBusConfigService.saveConfig(busConfigTO)); + return iBusConfigService.saveConfig(busConfigTO)?ReturnUtil.success():ReturnUtil.failed("配置失败"); } // @ApiOperation("编辑") diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 2288075..4d74341 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.base.service.IBaseExportService; +import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.IdsDTO; @@ -16,10 +17,12 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dict.BusConfigDict; +import com.casic.missiles.modular.device.dict.DeviceDict; import com.casic.missiles.modular.device.dto.*; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; -import com.casic.missiles.modular.log.AopLog; +import com.casic.missiles.modular.interfaces.dictmap.RoleDict; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -30,8 +33,9 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; /** *

@@ -60,17 +64,17 @@ return ReturnUtil.success(super.packForBT(iBusDeviceService.listPage(page, request))); } - @AopLog(description="新增设备",operateType = "新增") + + @BussinessLog(value = "新增设备", key = "devcode,deviceName,deviceType,installDate,productId", dict = DeviceDict.class) + @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("新增") @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusDevice busDevice) { - return ReturnUtil.success(iBusDeviceService.saveDevice(busDevice)); } - @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("编辑") @PostMapping("/edit") @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java new file mode 100644 index 0000000..bc41aa6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.device.controller; + + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.MonitorLogDTO; +import com.casic.missiles.modular.device.entity.MonitorLog; +import com.casic.missiles.modular.device.service.IMonitorLogService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 协议管理 前端控制器 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Api(tags = "系统监控模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/monitorLog") +public class MonitorLogController extends ExportController { + + private final IMonitorLogService iMonitorLogService; + + @ApiOperation("查询分页接口") + @PostMapping("/listPage") + @ResponseBody + public ReturnDTO listPage(@RequestBody MonitorLogDTO request) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(ObjectUtil.isNotEmpty(request.getServerType()),"SERVER_TYPE", request.getServerType()); + queryWrapper.orderByDesc("TS"); + return ReturnUtil.success(super.packForBT(iMonitorLogService.page(page, queryWrapper))); + } + +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java new file mode 100644 index 0000000..0d29f16 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.entity.MonitorLog; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 协议管理 Mapper 接口 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Mapper +public interface MonitorLogMapper extends BaseMapper { + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index c6d1fff..12ff233 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -75,6 +75,7 @@
and bd.CELL #{request.cell} + and bd.CELL > 0 and bd.LOGTIME = ]]> #{request.logTime1} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml index 0d71987..93d1973 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml @@ -63,7 +63,12 @@ SELECT - bl.* + bl.id, + bl.LEDGER_NAME, + bl.LNG_GAODE, + bl.LAT_GAODE, + bl.MONITOR_STATE, + bl.TAG_NUMBER FROM bus_ledger bl WHERE VALID = '1' AND TYPE = '2' diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml new file mode 100644 index 0000000..073a2ab --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + ID + , SERVER_NAME, `STATUS`, REMARK, TS + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java index 6ff74b0..2981486 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java @@ -12,8 +12,7 @@ put("deviceName","设备名称"); put("deviceType","设备类型ID"); put("installDate","安装时间"); - put("wellCode","闸井编号"); - put("concenCode","集中器编号"); + put("productId","产品id"); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java index ac5daf0..f919d1b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java @@ -27,4 +27,7 @@ @ApiModelProperty("1:其他,3:管线") private String type; + @ApiModelProperty("位置类别") + private String locationCategory; + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusStationMapDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusStationMapDTO.java new file mode 100644 index 0000000..10e0d14 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusStationMapDTO.java @@ -0,0 +1,33 @@ +package com.casic.missiles.modular.device.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class BusStationMapDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("名称") + private String ledgerName; + + @ApiModelProperty("位号") + private String tagNumber; + + @ApiModelProperty("监控状态(0:未监控,1:正常,2:异常,3:离线)") + private String monitorState; + + @ApiModelProperty("经度(高德)") + private String lngGaode; + + @ApiModelProperty("纬度(高德)") + private String latGaode; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorLogDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorLogDTO.java new file mode 100644 index 0000000..fce0e51 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorLogDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class MonitorLogDTO { + + + @ApiModelProperty("服务类型1:定时任务,2:服务监控") + @TableField("SERVER_TYPE") + private String serverType; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java index 407e3c1..d0f45f6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java @@ -89,10 +89,17 @@ @TableField("NB_PRODUCT_ID") private String nbProductId; + @ApiModelProperty("密钥NB_APP_KEY") + @TableField("NB_APP_KEY") + private String nbAppKey; - @ApiModelProperty("密钥") - @TableField("SECRET_KEY") - private String secretKey; + @ApiModelProperty("密钥NB_APP_SECRET") + @TableField("NB_APP_SECRET") + private String nbAppSecret; + + @ApiModelProperty("电信NB平台KEY,用于下发配置") + @TableField("MASTER_API_KEY") + private String masterApiKey; @ApiModelProperty("左侧指示带长度") @TableField("LEFT_LENGTH") diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/MonitorLog.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/MonitorLog.java new file mode 100644 index 0000000..95ef444 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/MonitorLog.java @@ -0,0 +1,57 @@ +package com.casic.missiles.modular.device.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 协议管理 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Getter +@Setter +@TableName("monitor_log") +@ApiModel(value = "MonitorLog对象", description = "协议管理 ") +public class MonitorLog implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("名称") + @TableField("SERVER_NAME") + private String serverName; + + @ApiModelProperty("服务类型1:定时任务,2:服务监控") + @TableField("SERVER_TYPE") + private String serverType; + + + @ApiModelProperty("运行状态(1、正常、0、异常)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("备注") + @TableField("REMARK") + private String remark; + + @ApiModelProperty("创建时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/rs/CommConfigDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/rs/CommConfigDTO.java new file mode 100644 index 0000000..dece4f7 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/rs/CommConfigDTO.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.device.rs; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Data +public class CommConfigDTO implements Serializable { + private static final long serialVersionUID = 1L; + + private String acqStart;//采集开始时间 + private Long interval;//采集时间间隔(分钟) + private Long period;//上传周期 + private Long times;//采集次数 + private Long repeat;//重传次数 + private String ip; + private Long port; + private Float thresh; + private Float height; + private String collect; + private String MultiCollect; + private String acqCycle; + private String upCycle; + private String sleepStartTime; + + private String acqStartFlow ; //流量采集开始时间 + private Long intervalFlow; //流量采集采集间隔(分) + private Long acqTimesFlow ;//流量采集次数 + private String upStartFlow; //流量上报开始时间 + private Long upTimesFlow; //流量上传次数 + private String acqStartNoise; //噪声采集开始时间 + private Long intervalNoise; //噪声采集采集间隔(分) + private Long acqTimesNoise;//噪声采集次数 + private String upStartNoise; //噪声上报开始时间 + private Long upTimesNoise ;//噪声上传次数 + private String acqStartPressure; //压力采集开始时间 + private Long intervalPressure;//压力采集采集间隔(分) + private Long acqTimesPressure; //压力采集次数 + private String upStartPressure; //压力上报开始时间 + private Long upTimesPressure; //压力上传次数 + private Float lowerLimitPressure; //压力报警下限 + private Float upperLimitPressure ;//压力报警下限 + private Long limitDig ;//开挖阈值 + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/rs/RedisCommon.java b/casic-device/src/main/java/com/casic/missiles/modular/device/rs/RedisCommon.java new file mode 100644 index 0000000..875a4c6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/rs/RedisCommon.java @@ -0,0 +1,40 @@ +package com.casic.missiles.modular.device.rs; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +import java.util.concurrent.TimeUnit; + +/** + * Created by test203 on 2019/5/30. + */ +@Service +public class RedisCommon { + + @Autowired + protected RedisTemplate redisTemplate; + + @Value("${casic.device.redis.invalid-time}") + private String invalidTime; + @Value("${casic.device.redis.config-prefix}") + private String configPrefix; + + + public void setRedisConfig(String key, CommConfigDTO commConfigDTO) { +// Gson g = new GsonBuilder().serializeNulls().create(); + + Gson g = new GsonBuilder().create(); + redisTemplate.opsForValue().set(configPrefix + key, + g.toJson(commConfigDTO), + Integer.valueOf(invalidTime), + TimeUnit.SECONDS); + } + + public void setRightRedisConcentrator(String concentratorcode, String devcode) { + redisTemplate.opsForList().rightPush(configPrefix + concentratorcode, "$" + devcode); + } +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusConfigService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusConfigService.java index 70f740f..9fb2140 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusConfigService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusConfigService.java @@ -21,6 +21,8 @@ boolean saveConfig(BusConfigDTO busConfigTO); + boolean updateStatus(String devCode); + boolean saveConfigOther(BusConfigOtherDTO busConfigOtherDTO); Page pageList(Page page, BusConfigRequestDTO requestDTO); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusImeiIccidService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusImeiIccidService.java index 889703f..4172472 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusImeiIccidService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusImeiIccidService.java @@ -13,4 +13,6 @@ */ public interface IBusImeiIccidService extends IService { + void saveData(String devCode,String imei,String iccid); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IMonitorLogService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IMonitorLogService.java new file mode 100644 index 0000000..64b4aeb --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IMonitorLogService.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.device.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.device.entity.MonitorLog; + +/** + *

+ * 协议管理 服务类 + *

+ * + * @author zt + * @since 2025-02-11 + */ +public interface IMonitorLogService extends IService { + + void saveMonitorLog(String serverName,String status,String remark,String severType); + + void checkServer(); + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusConfigServiceImpl.java index ef207ef..a6a658a 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusConfigServiceImpl.java @@ -2,7 +2,9 @@ import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.serializer.SerializerFeature; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; @@ -13,6 +15,8 @@ import com.casic.missiles.modular.device.dto.BusConfigRequestDTO; import com.casic.missiles.modular.device.entity.BusConfig; import com.casic.missiles.modular.device.entity.BusDevice; +import com.casic.missiles.modular.device.rs.CommConfigDTO; +import com.casic.missiles.modular.device.rs.RedisCommon; import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.util.HttpClientUtils; @@ -43,6 +47,7 @@ private final AbstractPermissionContext abstractPermissionContext; private final IBusDeviceService iBusDeviceService; + private final RedisCommon redisCommon; private final ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(3, 6, 60, TimeUnit.SECONDS, new LinkedBlockingDeque<>(10)); @Value("${casic.brSendConfigUrl}") @@ -51,40 +56,51 @@ @Transactional @Override public boolean saveConfig(BusConfigDTO busConfigTO) { - //todo:批量写入 - List devcodes = busConfigTO.getDevCodeList(); - devcodes.forEach(devcode -> { - switch (busConfigTO.getDeviceTypeName()) { - case "燃气智能监测终端": - //采集间隔,重传次数,上传周期 - busConfigTO.setFramecontent("reloadInterval:" - .concat(busConfigTO.getCollectInterval()) - .concat(";") - .concat("reloadInterval:") - .concat(busConfigTO.getReloadInterval()) - .concat(";") - .concat("uploadPeriod:") - .concat(busConfigTO.getUploadPeriod())); - busConfigTO.setFramecontentDesc("采集间隔:" - .concat(busConfigTO.getCollectInterval()) - .concat("分;").concat("重传次数:") - .concat(busConfigTO.getReloadInterval()) - .concat("次;").concat("上传周期:") - .concat(busConfigTO.getUploadPeriod()) - .concat("分")); - break; - default: - break; - } - //添加操作人 - AuthUser user = abstractPermissionContext.getAuthService().getLoginUser(); - if (null != user) { - busConfigTO.setOperator(user.getId()); - busConfigTO.setOperatorName(user.getName()); - } - busConfigTO.setDevcode(devcode); - this.baseMapper.insert(busConfigTO); - }); + + try { + //todo:批量写入 + List devcodes = busConfigTO.getDevCodeList(); + devcodes.forEach(devcode -> { + switch (busConfigTO.getDeviceTypeName()) { + case "燃气智能监测终端(一体化)": + case "燃气智能监测终端": + //采集间隔,重传次数,上传周期 + busConfigTO.setFramecontent("collectInterval:" + .concat(busConfigTO.getCollectInterval()) + .concat(";") + .concat("reloadInterval:") + .concat(busConfigTO.getReloadInterval()) + .concat(";") + .concat("uploadPeriod:") + .concat(busConfigTO.getUploadPeriod())); + busConfigTO.setFramecontentDesc("采集间隔:" + .concat(busConfigTO.getCollectInterval()) + .concat("分;").concat("重传次数:") + .concat(busConfigTO.getReloadInterval()) + .concat("次;").concat("上传周期:") + .concat(busConfigTO.getUploadPeriod()) + .concat("分")); + redisCommon.setRedisConfig(devcode,CommConfigDTO.builder().repeat(Long.valueOf(busConfigTO.getReloadInterval())) + .interval(Long.valueOf(busConfigTO.getCollectInterval())) + .period(Long.valueOf(busConfigTO.getUploadPeriod())).build()); + break; + default: + break; + } + //添加操作人 + AuthUser user = abstractPermissionContext.getAuthService().getLoginUser(); + if (null != user) { + busConfigTO.setOperator(user.getId()); + busConfigTO.setOperatorName(user.getName()); + } + busConfigTO.setDevcode(devcode); + this.baseMapper.insert(busConfigTO); + }); + }catch (Exception e){ + e.printStackTrace(); + return false; + } + return true; } @@ -98,7 +114,7 @@ queryWrapper.like(ObjectUtil.isNotEmpty(requestDTO.getOperatorName()), "OPERATOR_NAME", requestDTO.getOperatorName()); queryWrapper.ge(ObjectUtil.isNotEmpty(requestDTO.getBeginTime()), "WRITETIME", requestDTO.getBeginTime()); queryWrapper.le(ObjectUtil.isNotEmpty(requestDTO.getEndTime()), "WRITETIME", requestDTO.getEndTime()); - queryWrapper.orderByDesc( "WRITETIME"); + queryWrapper.orderByDesc("WRITETIME"); return this.baseMapper.selectPage(page, queryWrapper); } @@ -121,33 +137,48 @@ threadPoolExecutor.execute( () -> { - //发送第三方下发: - if (busConfigOtherDTO.getProductName().contains("管网哨兵")) { - List busDeviceList = iBusDeviceService.getDevicesByCodes(devcodes); + List busDeviceList = iBusDeviceService.getDevicesByCodes(devcodes); + try { + //发送前先下发设备电信平台aep属性 + List> aepMapList = new ArrayList<>(); for (BusDevice busDevice : busDeviceList) { - if (ObjectUtil.isAllNotEmpty(busDevice.getNbProductId(), busDevice.getNbDeviceId())) { - Map commandMap = new HashMap<>(); - commandMap.put("productId", busDevice.getNbProductId()); - commandMap.put("devCode", busDevice.getDevcode()); - commandMap.put("deviceId", busDevice.getNbDeviceId()); - commandMap.put("cmdList", busConfigOtherDTO.getCommandConfigList()); - HttpClientUtils.post(brSendConfigUrl+"/tube/config/send", JSON.toJSONString(commandMap)); + Map aepMap = new HashMap<>(); + aepMap.put("MASTER_API_KEY", busDevice.getMasterApiKey()); + aepMap.put("NB_DEVICE_ID", busDevice.getNbDeviceId()); + aepMap.put("NB_PRODUCT_ID", busDevice.getNbProductId()); + aepMap.put("NB_APP_KEY", busDevice.getNbAppKey()); + aepMap.put("NB_APP_SECRET", busDevice.getNbAppSecret()); + aepMap.put("DEVCODE", busDevice.getDevcode()); + aepMapList.add(aepMap); + } + HttpClientUtils.post(brSendConfigUrl + "/api/device/aepExt", JSON.toJSONString(aepMapList, SerializerFeature.WriteMapNullValue)); + } catch (Exception e) { + e.printStackTrace(); + } finally { + //发送第三方下发: + if (busConfigOtherDTO.getProductName().contains("管网哨兵")) { + for (BusDevice busDevice : busDeviceList) { + if (ObjectUtil.isAllNotEmpty(busDevice.getNbProductId(), busDevice.getNbDeviceId())) { + Map commandMap = new HashMap<>(); + commandMap.put("productId", busDevice.getNbProductId()); + commandMap.put("devCode", busDevice.getDevcode()); + commandMap.put("deviceId", busDevice.getNbDeviceId()); + commandMap.put("cmdList", busConfigOtherDTO.getCommandConfigList()); + HttpClientUtils.post(brSendConfigUrl + "/tube/config/send", JSON.toJSONString(commandMap)); + } + } + } else if (busConfigOtherDTO.getProductName().contains("智能警示桩")) { + for (BusDevice busDevice : busDeviceList) { + if (ObjectUtil.isAllNotEmpty(busDevice.getNbProductId(), busDevice.getNbDeviceId())) { + Map commandMap = new HashMap<>(); + commandMap.put("productId", busDevice.getNbProductId()); + commandMap.put("devCode", busDevice.getDevcode()); + commandMap.put("deviceId", busDevice.getNbDeviceId()); + commandMap.put("cmdList", busConfigOtherDTO.getCommandConfigList()); + HttpClientUtils.post(brSendConfigUrl + "/sentinel/config/send", JSON.toJSONString(commandMap)); + } } } - } else if (busConfigOtherDTO.getProductName().contains("智能警示桩")) { - - List busDeviceList = iBusDeviceService.getDevicesByCodes(devcodes); - for (BusDevice busDevice : busDeviceList) { - if (ObjectUtil.isAllNotEmpty(busDevice.getNbProductId(), busDevice.getNbDeviceId())) { - Map commandMap = new HashMap<>(); - commandMap.put("productId", busDevice.getNbProductId()); - commandMap.put("devCode", busDevice.getDevcode()); - commandMap.put("deviceId", busDevice.getNbDeviceId()); - commandMap.put("cmdList", busConfigOtherDTO.getCommandConfigList()); - HttpClientUtils.post(brSendConfigUrl+"/sentinel/config/send", JSON.toJSONString(commandMap)); - } - } - } } ); @@ -173,4 +204,13 @@ // HttpClientUtils.post("brAppUrl", JSON.toJSONString(map)); // return true; } + + @Override + public boolean updateStatus(String devCode) { + UpdateWrapper queryWrapper = new UpdateWrapper<>(); + queryWrapper.eq("DEVCODE", devCode); + queryWrapper.eq("STATUS", "0"); + queryWrapper.set("STATUS", "1"); + return this.update(queryWrapper); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java index 308fa32..3ea8fc9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java @@ -120,4 +120,6 @@ @ApiModelProperty("监测对象id") private String watchObject; + private String manufactureName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 45f621c..d5da07e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -29,6 +29,7 @@ import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.modular.device.service.IBusLedgerPipeService; import com.casic.missiles.modular.device.service.IBusLedgerService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.server.CommonServer; @@ -71,6 +72,7 @@ private final IBusLedgerService iBusLedgerService; private final IBusLedgerPipeService iBusLedgerPipeService; private final IAlarmEventProductService iAlarmEventProductService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.brAppUrl}") private String brAppUrl; @@ -860,49 +862,57 @@ @Transactional @Override public void processOffline() { - //注意:报警类型一律为“OffLine” - List offDeviceDTOList = this.baseMapper.getOfflineDevices(); - List alarmRecordsList = new ArrayList<>(); - List ledgers = new ArrayList<>(); - for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) - continue; - } else { - //默认7天 - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) - continue; + try { + //注意:报警类型一律为“OffLine” + List offDeviceDTOList = this.baseMapper.getOfflineDevices(); + List alarmRecordsList = new ArrayList<>(); + List ledgers = new ArrayList<>(); + for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) + continue; + } else { + //默认7天 + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) + continue; + } } - } - AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), - offDeviceDTO.getLedgerCode(), - offDeviceDTO.getTagNumber(), - offDeviceDTO.getAlarmTypeId(), + AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), + offDeviceDTO.getLedgerCode(), + offDeviceDTO.getTagNumber(), + offDeviceDTO.getAlarmTypeId(), // offDeviceDTO.getAlarmTypeName(), - "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", - offDeviceDTO.getAlarmLevelId(), - new Date(), - offDeviceDTO.getAlarmThreshold(), - offDeviceDTO.getPlace(), "1"); - alarmRecordsList.add(alarmRecords); - ledgers.add(offDeviceDTO); - } - if (alarmRecordsList.size() > 0) { - this.saveBatch(alarmRecordsList); + "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", + offDeviceDTO.getAlarmLevelId(), + new Date(), + offDeviceDTO.getAlarmThreshold(), + offDeviceDTO.getPlace(), "1"); + alarmRecordsList.add(alarmRecords); + ledgers.add(offDeviceDTO); + } + if (alarmRecordsList.size() > 0) { + this.saveBatch(alarmRecordsList); - //更新设备表状态 - List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); - iBusDeviceService.updateBusDeviceStatus(devcodeStrs); - //更新点位表 - List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); - if (ledgerCodes != null && ledgerCodes.size() > 0) - iBusLedgerService.updateLedgerStatus(ledgerCodes); - List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); - if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) - iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); - //toDo:需添加离线分析记录 + //更新设备表状态 + List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); + iBusDeviceService.updateBusDeviceStatus(devcodeStrs); + //更新点位表 + List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); + if (ledgerCodes != null && ledgerCodes.size() > 0) + iBusLedgerService.updateLedgerStatus(ledgerCodes); + List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); + if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) + iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); + //加入监控日志 + //toDo:需添加离线分析记录 + } + iMonitorLogService.saveMonitorLog("offline", "1", "离线任务判断", "1"); + } catch (Exception e) { + //添加监控异常日志 + iMonitorLogService.saveMonitorLog("offline", "0", "离线任务判断", "1"); + e.printStackTrace(); } } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java index 4c660e9..a3e45c4 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java @@ -18,7 +18,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,8 +67,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { - if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGGasOtherConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index ede18a5..c2d9c30 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -49,6 +51,8 @@ private final IAlarmRecordsService alarmRecordsService; private final IAlarmRuleService alarmRuleService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -67,7 +71,7 @@ try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -78,7 +82,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java index b33a1ee..d58fdf1 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGasliquidGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasliquidGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -53,6 +55,8 @@ private final IAlarmRuleService alarmRuleService; private final DataGasMapper dataGasMapper; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -70,8 +74,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { - if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -82,7 +86,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 6297093..e51c968 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -64,7 +68,7 @@ try { if (DeviceTypeEnum.MonitorPipeOther.name().equals(json.get("devType"))) { if ("MonitorPipeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6e80323..c58dc5f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -47,6 +49,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,7 +67,7 @@ try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -74,7 +78,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index bbf7253..c2f5762 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis" + prefix = "casic.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java index f0d6c3d..f3918bc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java @@ -51,8 +51,7 @@ @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusConfigDTO busConfigTO) { - - return ReturnUtil.success(iBusConfigService.saveConfig(busConfigTO)); + return iBusConfigService.saveConfig(busConfigTO)?ReturnUtil.success():ReturnUtil.failed("配置失败"); } // @ApiOperation("编辑") diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 2288075..4d74341 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.base.service.IBaseExportService; +import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.IdsDTO; @@ -16,10 +17,12 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dict.BusConfigDict; +import com.casic.missiles.modular.device.dict.DeviceDict; import com.casic.missiles.modular.device.dto.*; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; -import com.casic.missiles.modular.log.AopLog; +import com.casic.missiles.modular.interfaces.dictmap.RoleDict; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -30,8 +33,9 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; /** *

@@ -60,17 +64,17 @@ return ReturnUtil.success(super.packForBT(iBusDeviceService.listPage(page, request))); } - @AopLog(description="新增设备",operateType = "新增") + + @BussinessLog(value = "新增设备", key = "devcode,deviceName,deviceType,installDate,productId", dict = DeviceDict.class) + @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("新增") @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusDevice busDevice) { - return ReturnUtil.success(iBusDeviceService.saveDevice(busDevice)); } - @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("编辑") @PostMapping("/edit") @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java new file mode 100644 index 0000000..bc41aa6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.device.controller; + + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.MonitorLogDTO; +import com.casic.missiles.modular.device.entity.MonitorLog; +import com.casic.missiles.modular.device.service.IMonitorLogService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 协议管理 前端控制器 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Api(tags = "系统监控模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/monitorLog") +public class MonitorLogController extends ExportController { + + private final IMonitorLogService iMonitorLogService; + + @ApiOperation("查询分页接口") + @PostMapping("/listPage") + @ResponseBody + public ReturnDTO listPage(@RequestBody MonitorLogDTO request) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(ObjectUtil.isNotEmpty(request.getServerType()),"SERVER_TYPE", request.getServerType()); + queryWrapper.orderByDesc("TS"); + return ReturnUtil.success(super.packForBT(iMonitorLogService.page(page, queryWrapper))); + } + +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java new file mode 100644 index 0000000..0d29f16 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.entity.MonitorLog; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 协议管理 Mapper 接口 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Mapper +public interface MonitorLogMapper extends BaseMapper { + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index c6d1fff..12ff233 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -75,6 +75,7 @@
and bd.CELL #{request.cell} + and bd.CELL > 0 and bd.LOGTIME = ]]> #{request.logTime1} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml index 0d71987..93d1973 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml @@ -63,7 +63,12 @@ SELECT - bl.* + bl.id, + bl.LEDGER_NAME, + bl.LNG_GAODE, + bl.LAT_GAODE, + bl.MONITOR_STATE, + bl.TAG_NUMBER FROM bus_ledger bl WHERE VALID = '1' AND TYPE = '2' diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml new file mode 100644 index 0000000..073a2ab --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + ID + , SERVER_NAME, `STATUS`, REMARK, TS + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java index 6ff74b0..2981486 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java @@ -12,8 +12,7 @@ put("deviceName","设备名称"); put("deviceType","设备类型ID"); put("installDate","安装时间"); - put("wellCode","闸井编号"); - put("concenCode","集中器编号"); + put("productId","产品id"); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java index ac5daf0..f919d1b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java @@ -27,4 +27,7 @@ @ApiModelProperty("1:其他,3:管线") private String type; + @ApiModelProperty("位置类别") + private String locationCategory; + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusStationMapDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusStationMapDTO.java new file mode 100644 index 0000000..10e0d14 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusStationMapDTO.java @@ -0,0 +1,33 @@ +package com.casic.missiles.modular.device.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class BusStationMapDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("名称") + private String ledgerName; + + @ApiModelProperty("位号") + private String tagNumber; + + @ApiModelProperty("监控状态(0:未监控,1:正常,2:异常,3:离线)") + private String monitorState; + + @ApiModelProperty("经度(高德)") + private String lngGaode; + + @ApiModelProperty("纬度(高德)") + private String latGaode; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorLogDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorLogDTO.java new file mode 100644 index 0000000..fce0e51 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorLogDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class MonitorLogDTO { + + + @ApiModelProperty("服务类型1:定时任务,2:服务监控") + @TableField("SERVER_TYPE") + private String serverType; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java index 407e3c1..d0f45f6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java @@ -89,10 +89,17 @@ @TableField("NB_PRODUCT_ID") private String nbProductId; + @ApiModelProperty("密钥NB_APP_KEY") + @TableField("NB_APP_KEY") + private String nbAppKey; - @ApiModelProperty("密钥") - @TableField("SECRET_KEY") - private String secretKey; + @ApiModelProperty("密钥NB_APP_SECRET") + @TableField("NB_APP_SECRET") + private String nbAppSecret; + + @ApiModelProperty("电信NB平台KEY,用于下发配置") + @TableField("MASTER_API_KEY") + private String masterApiKey; @ApiModelProperty("左侧指示带长度") @TableField("LEFT_LENGTH") diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/MonitorLog.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/MonitorLog.java new file mode 100644 index 0000000..95ef444 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/MonitorLog.java @@ -0,0 +1,57 @@ +package com.casic.missiles.modular.device.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 协议管理 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Getter +@Setter +@TableName("monitor_log") +@ApiModel(value = "MonitorLog对象", description = "协议管理 ") +public class MonitorLog implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("名称") + @TableField("SERVER_NAME") + private String serverName; + + @ApiModelProperty("服务类型1:定时任务,2:服务监控") + @TableField("SERVER_TYPE") + private String serverType; + + + @ApiModelProperty("运行状态(1、正常、0、异常)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("备注") + @TableField("REMARK") + private String remark; + + @ApiModelProperty("创建时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/rs/CommConfigDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/rs/CommConfigDTO.java new file mode 100644 index 0000000..dece4f7 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/rs/CommConfigDTO.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.device.rs; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Data +public class CommConfigDTO implements Serializable { + private static final long serialVersionUID = 1L; + + private String acqStart;//采集开始时间 + private Long interval;//采集时间间隔(分钟) + private Long period;//上传周期 + private Long times;//采集次数 + private Long repeat;//重传次数 + private String ip; + private Long port; + private Float thresh; + private Float height; + private String collect; + private String MultiCollect; + private String acqCycle; + private String upCycle; + private String sleepStartTime; + + private String acqStartFlow ; //流量采集开始时间 + private Long intervalFlow; //流量采集采集间隔(分) + private Long acqTimesFlow ;//流量采集次数 + private String upStartFlow; //流量上报开始时间 + private Long upTimesFlow; //流量上传次数 + private String acqStartNoise; //噪声采集开始时间 + private Long intervalNoise; //噪声采集采集间隔(分) + private Long acqTimesNoise;//噪声采集次数 + private String upStartNoise; //噪声上报开始时间 + private Long upTimesNoise ;//噪声上传次数 + private String acqStartPressure; //压力采集开始时间 + private Long intervalPressure;//压力采集采集间隔(分) + private Long acqTimesPressure; //压力采集次数 + private String upStartPressure; //压力上报开始时间 + private Long upTimesPressure; //压力上传次数 + private Float lowerLimitPressure; //压力报警下限 + private Float upperLimitPressure ;//压力报警下限 + private Long limitDig ;//开挖阈值 + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/rs/RedisCommon.java b/casic-device/src/main/java/com/casic/missiles/modular/device/rs/RedisCommon.java new file mode 100644 index 0000000..875a4c6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/rs/RedisCommon.java @@ -0,0 +1,40 @@ +package com.casic.missiles.modular.device.rs; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +import java.util.concurrent.TimeUnit; + +/** + * Created by test203 on 2019/5/30. + */ +@Service +public class RedisCommon { + + @Autowired + protected RedisTemplate redisTemplate; + + @Value("${casic.device.redis.invalid-time}") + private String invalidTime; + @Value("${casic.device.redis.config-prefix}") + private String configPrefix; + + + public void setRedisConfig(String key, CommConfigDTO commConfigDTO) { +// Gson g = new GsonBuilder().serializeNulls().create(); + + Gson g = new GsonBuilder().create(); + redisTemplate.opsForValue().set(configPrefix + key, + g.toJson(commConfigDTO), + Integer.valueOf(invalidTime), + TimeUnit.SECONDS); + } + + public void setRightRedisConcentrator(String concentratorcode, String devcode) { + redisTemplate.opsForList().rightPush(configPrefix + concentratorcode, "$" + devcode); + } +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusConfigService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusConfigService.java index 70f740f..9fb2140 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusConfigService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusConfigService.java @@ -21,6 +21,8 @@ boolean saveConfig(BusConfigDTO busConfigTO); + boolean updateStatus(String devCode); + boolean saveConfigOther(BusConfigOtherDTO busConfigOtherDTO); Page pageList(Page page, BusConfigRequestDTO requestDTO); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusImeiIccidService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusImeiIccidService.java index 889703f..4172472 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusImeiIccidService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusImeiIccidService.java @@ -13,4 +13,6 @@ */ public interface IBusImeiIccidService extends IService { + void saveData(String devCode,String imei,String iccid); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IMonitorLogService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IMonitorLogService.java new file mode 100644 index 0000000..64b4aeb --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IMonitorLogService.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.device.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.device.entity.MonitorLog; + +/** + *

+ * 协议管理 服务类 + *

+ * + * @author zt + * @since 2025-02-11 + */ +public interface IMonitorLogService extends IService { + + void saveMonitorLog(String serverName,String status,String remark,String severType); + + void checkServer(); + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusConfigServiceImpl.java index ef207ef..a6a658a 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusConfigServiceImpl.java @@ -2,7 +2,9 @@ import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.serializer.SerializerFeature; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; @@ -13,6 +15,8 @@ import com.casic.missiles.modular.device.dto.BusConfigRequestDTO; import com.casic.missiles.modular.device.entity.BusConfig; import com.casic.missiles.modular.device.entity.BusDevice; +import com.casic.missiles.modular.device.rs.CommConfigDTO; +import com.casic.missiles.modular.device.rs.RedisCommon; import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.util.HttpClientUtils; @@ -43,6 +47,7 @@ private final AbstractPermissionContext abstractPermissionContext; private final IBusDeviceService iBusDeviceService; + private final RedisCommon redisCommon; private final ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(3, 6, 60, TimeUnit.SECONDS, new LinkedBlockingDeque<>(10)); @Value("${casic.brSendConfigUrl}") @@ -51,40 +56,51 @@ @Transactional @Override public boolean saveConfig(BusConfigDTO busConfigTO) { - //todo:批量写入 - List devcodes = busConfigTO.getDevCodeList(); - devcodes.forEach(devcode -> { - switch (busConfigTO.getDeviceTypeName()) { - case "燃气智能监测终端": - //采集间隔,重传次数,上传周期 - busConfigTO.setFramecontent("reloadInterval:" - .concat(busConfigTO.getCollectInterval()) - .concat(";") - .concat("reloadInterval:") - .concat(busConfigTO.getReloadInterval()) - .concat(";") - .concat("uploadPeriod:") - .concat(busConfigTO.getUploadPeriod())); - busConfigTO.setFramecontentDesc("采集间隔:" - .concat(busConfigTO.getCollectInterval()) - .concat("分;").concat("重传次数:") - .concat(busConfigTO.getReloadInterval()) - .concat("次;").concat("上传周期:") - .concat(busConfigTO.getUploadPeriod()) - .concat("分")); - break; - default: - break; - } - //添加操作人 - AuthUser user = abstractPermissionContext.getAuthService().getLoginUser(); - if (null != user) { - busConfigTO.setOperator(user.getId()); - busConfigTO.setOperatorName(user.getName()); - } - busConfigTO.setDevcode(devcode); - this.baseMapper.insert(busConfigTO); - }); + + try { + //todo:批量写入 + List devcodes = busConfigTO.getDevCodeList(); + devcodes.forEach(devcode -> { + switch (busConfigTO.getDeviceTypeName()) { + case "燃气智能监测终端(一体化)": + case "燃气智能监测终端": + //采集间隔,重传次数,上传周期 + busConfigTO.setFramecontent("collectInterval:" + .concat(busConfigTO.getCollectInterval()) + .concat(";") + .concat("reloadInterval:") + .concat(busConfigTO.getReloadInterval()) + .concat(";") + .concat("uploadPeriod:") + .concat(busConfigTO.getUploadPeriod())); + busConfigTO.setFramecontentDesc("采集间隔:" + .concat(busConfigTO.getCollectInterval()) + .concat("分;").concat("重传次数:") + .concat(busConfigTO.getReloadInterval()) + .concat("次;").concat("上传周期:") + .concat(busConfigTO.getUploadPeriod()) + .concat("分")); + redisCommon.setRedisConfig(devcode,CommConfigDTO.builder().repeat(Long.valueOf(busConfigTO.getReloadInterval())) + .interval(Long.valueOf(busConfigTO.getCollectInterval())) + .period(Long.valueOf(busConfigTO.getUploadPeriod())).build()); + break; + default: + break; + } + //添加操作人 + AuthUser user = abstractPermissionContext.getAuthService().getLoginUser(); + if (null != user) { + busConfigTO.setOperator(user.getId()); + busConfigTO.setOperatorName(user.getName()); + } + busConfigTO.setDevcode(devcode); + this.baseMapper.insert(busConfigTO); + }); + }catch (Exception e){ + e.printStackTrace(); + return false; + } + return true; } @@ -98,7 +114,7 @@ queryWrapper.like(ObjectUtil.isNotEmpty(requestDTO.getOperatorName()), "OPERATOR_NAME", requestDTO.getOperatorName()); queryWrapper.ge(ObjectUtil.isNotEmpty(requestDTO.getBeginTime()), "WRITETIME", requestDTO.getBeginTime()); queryWrapper.le(ObjectUtil.isNotEmpty(requestDTO.getEndTime()), "WRITETIME", requestDTO.getEndTime()); - queryWrapper.orderByDesc( "WRITETIME"); + queryWrapper.orderByDesc("WRITETIME"); return this.baseMapper.selectPage(page, queryWrapper); } @@ -121,33 +137,48 @@ threadPoolExecutor.execute( () -> { - //发送第三方下发: - if (busConfigOtherDTO.getProductName().contains("管网哨兵")) { - List busDeviceList = iBusDeviceService.getDevicesByCodes(devcodes); + List busDeviceList = iBusDeviceService.getDevicesByCodes(devcodes); + try { + //发送前先下发设备电信平台aep属性 + List> aepMapList = new ArrayList<>(); for (BusDevice busDevice : busDeviceList) { - if (ObjectUtil.isAllNotEmpty(busDevice.getNbProductId(), busDevice.getNbDeviceId())) { - Map commandMap = new HashMap<>(); - commandMap.put("productId", busDevice.getNbProductId()); - commandMap.put("devCode", busDevice.getDevcode()); - commandMap.put("deviceId", busDevice.getNbDeviceId()); - commandMap.put("cmdList", busConfigOtherDTO.getCommandConfigList()); - HttpClientUtils.post(brSendConfigUrl+"/tube/config/send", JSON.toJSONString(commandMap)); + Map aepMap = new HashMap<>(); + aepMap.put("MASTER_API_KEY", busDevice.getMasterApiKey()); + aepMap.put("NB_DEVICE_ID", busDevice.getNbDeviceId()); + aepMap.put("NB_PRODUCT_ID", busDevice.getNbProductId()); + aepMap.put("NB_APP_KEY", busDevice.getNbAppKey()); + aepMap.put("NB_APP_SECRET", busDevice.getNbAppSecret()); + aepMap.put("DEVCODE", busDevice.getDevcode()); + aepMapList.add(aepMap); + } + HttpClientUtils.post(brSendConfigUrl + "/api/device/aepExt", JSON.toJSONString(aepMapList, SerializerFeature.WriteMapNullValue)); + } catch (Exception e) { + e.printStackTrace(); + } finally { + //发送第三方下发: + if (busConfigOtherDTO.getProductName().contains("管网哨兵")) { + for (BusDevice busDevice : busDeviceList) { + if (ObjectUtil.isAllNotEmpty(busDevice.getNbProductId(), busDevice.getNbDeviceId())) { + Map commandMap = new HashMap<>(); + commandMap.put("productId", busDevice.getNbProductId()); + commandMap.put("devCode", busDevice.getDevcode()); + commandMap.put("deviceId", busDevice.getNbDeviceId()); + commandMap.put("cmdList", busConfigOtherDTO.getCommandConfigList()); + HttpClientUtils.post(brSendConfigUrl + "/tube/config/send", JSON.toJSONString(commandMap)); + } + } + } else if (busConfigOtherDTO.getProductName().contains("智能警示桩")) { + for (BusDevice busDevice : busDeviceList) { + if (ObjectUtil.isAllNotEmpty(busDevice.getNbProductId(), busDevice.getNbDeviceId())) { + Map commandMap = new HashMap<>(); + commandMap.put("productId", busDevice.getNbProductId()); + commandMap.put("devCode", busDevice.getDevcode()); + commandMap.put("deviceId", busDevice.getNbDeviceId()); + commandMap.put("cmdList", busConfigOtherDTO.getCommandConfigList()); + HttpClientUtils.post(brSendConfigUrl + "/sentinel/config/send", JSON.toJSONString(commandMap)); + } } } - } else if (busConfigOtherDTO.getProductName().contains("智能警示桩")) { - - List busDeviceList = iBusDeviceService.getDevicesByCodes(devcodes); - for (BusDevice busDevice : busDeviceList) { - if (ObjectUtil.isAllNotEmpty(busDevice.getNbProductId(), busDevice.getNbDeviceId())) { - Map commandMap = new HashMap<>(); - commandMap.put("productId", busDevice.getNbProductId()); - commandMap.put("devCode", busDevice.getDevcode()); - commandMap.put("deviceId", busDevice.getNbDeviceId()); - commandMap.put("cmdList", busConfigOtherDTO.getCommandConfigList()); - HttpClientUtils.post(brSendConfigUrl+"/sentinel/config/send", JSON.toJSONString(commandMap)); - } - } - } } ); @@ -173,4 +204,13 @@ // HttpClientUtils.post("brAppUrl", JSON.toJSONString(map)); // return true; } + + @Override + public boolean updateStatus(String devCode) { + UpdateWrapper queryWrapper = new UpdateWrapper<>(); + queryWrapper.eq("DEVCODE", devCode); + queryWrapper.eq("STATUS", "0"); + queryWrapper.set("STATUS", "1"); + return this.update(queryWrapper); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusImeiIccidServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusImeiIccidServiceImpl.java index c03f1a5..168ba4d 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusImeiIccidServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusImeiIccidServiceImpl.java @@ -17,4 +17,13 @@ @Service public class BusImeiIccidServiceImpl extends ServiceImpl implements IBusImeiIccidService { + + @Override + public void saveData(String devCode, String imei, String iccid) { + BusImeiIccid busImeiIccid = new BusImeiIccid(); + busImeiIccid.setIccid(iccid); + busImeiIccid.setImei(imei); + busImeiIccid.setDevcode(devCode); + this.baseMapper.insert(busImeiIccid); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusLedgerPipeServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusLedgerPipeServiceImpl.java index 7f8bfdc..d29e59a 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusLedgerPipeServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusLedgerPipeServiceImpl.java @@ -61,6 +61,7 @@ queryWrapper.like(ObjectUtil.isNotEmpty(request.getPosition()), "POSITION", request.getPosition()); queryWrapper.in(ObjectUtil.isNotEmpty(deptIds), "DEPTID", deptIds); queryWrapper.eq(ObjectUtil.isNotEmpty(request.getType()), "TYPE", request.getType()); + queryWrapper.eq(ObjectUtil.isNotEmpty(request.getLocationCategory()), "LOCATION_CATEGORY", request.getLocationCategory()); Page pipePage = this.page(page, queryWrapper); List pipeList = pipePage.getRecords(); pipeList.forEach(pipe -> { @@ -88,7 +89,7 @@ public BusLedgerPipeResponseDTO detail(Long id, String devcode) { BusLedgerPipeResponseDTO busLedgerPipeResponseDTO = this.baseMapper.detail(id, devcode); if (null != busLedgerPipeResponseDTO) { - busLedgerPipeResponseDTO.setStatus("1".equals(busLedgerPipeResponseDTO.getStatus()) ? "正常" : "异常"); + busLedgerPipeResponseDTO.setStatus("0".equals(busLedgerPipeResponseDTO.getStatus()) ? "离线" : "正常"); busLedgerPipeResponseDTO.setOnState(abstractDictService.getDictNameByCode("useStatus", busLedgerPipeResponseDTO.getOnState())); // 使用状态字典值 busLedgerPipeResponseDTO.setDeptName(ObjectUtil.isNotEmpty(busLedgerPipeResponseDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(busLedgerPipeResponseDTO.getDeptid()) : ""); // 管理单位名称 busLedgerPipeResponseDTO.setPressType(abstractDictService.getDictNameByCode("wellType", busLedgerPipeResponseDTO.getPressType())); // 位置状态字典值 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java index 308fa32..3ea8fc9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java @@ -120,4 +120,6 @@ @ApiModelProperty("监测对象id") private String watchObject; + private String manufactureName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 45f621c..d5da07e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -29,6 +29,7 @@ import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.modular.device.service.IBusLedgerPipeService; import com.casic.missiles.modular.device.service.IBusLedgerService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.server.CommonServer; @@ -71,6 +72,7 @@ private final IBusLedgerService iBusLedgerService; private final IBusLedgerPipeService iBusLedgerPipeService; private final IAlarmEventProductService iAlarmEventProductService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.brAppUrl}") private String brAppUrl; @@ -860,49 +862,57 @@ @Transactional @Override public void processOffline() { - //注意:报警类型一律为“OffLine” - List offDeviceDTOList = this.baseMapper.getOfflineDevices(); - List alarmRecordsList = new ArrayList<>(); - List ledgers = new ArrayList<>(); - for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) - continue; - } else { - //默认7天 - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) - continue; + try { + //注意:报警类型一律为“OffLine” + List offDeviceDTOList = this.baseMapper.getOfflineDevices(); + List alarmRecordsList = new ArrayList<>(); + List ledgers = new ArrayList<>(); + for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) + continue; + } else { + //默认7天 + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) + continue; + } } - } - AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), - offDeviceDTO.getLedgerCode(), - offDeviceDTO.getTagNumber(), - offDeviceDTO.getAlarmTypeId(), + AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), + offDeviceDTO.getLedgerCode(), + offDeviceDTO.getTagNumber(), + offDeviceDTO.getAlarmTypeId(), // offDeviceDTO.getAlarmTypeName(), - "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", - offDeviceDTO.getAlarmLevelId(), - new Date(), - offDeviceDTO.getAlarmThreshold(), - offDeviceDTO.getPlace(), "1"); - alarmRecordsList.add(alarmRecords); - ledgers.add(offDeviceDTO); - } - if (alarmRecordsList.size() > 0) { - this.saveBatch(alarmRecordsList); + "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", + offDeviceDTO.getAlarmLevelId(), + new Date(), + offDeviceDTO.getAlarmThreshold(), + offDeviceDTO.getPlace(), "1"); + alarmRecordsList.add(alarmRecords); + ledgers.add(offDeviceDTO); + } + if (alarmRecordsList.size() > 0) { + this.saveBatch(alarmRecordsList); - //更新设备表状态 - List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); - iBusDeviceService.updateBusDeviceStatus(devcodeStrs); - //更新点位表 - List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); - if (ledgerCodes != null && ledgerCodes.size() > 0) - iBusLedgerService.updateLedgerStatus(ledgerCodes); - List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); - if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) - iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); - //toDo:需添加离线分析记录 + //更新设备表状态 + List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); + iBusDeviceService.updateBusDeviceStatus(devcodeStrs); + //更新点位表 + List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); + if (ledgerCodes != null && ledgerCodes.size() > 0) + iBusLedgerService.updateLedgerStatus(ledgerCodes); + List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); + if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) + iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); + //加入监控日志 + //toDo:需添加离线分析记录 + } + iMonitorLogService.saveMonitorLog("offline", "1", "离线任务判断", "1"); + } catch (Exception e) { + //添加监控异常日志 + iMonitorLogService.saveMonitorLog("offline", "0", "离线任务判断", "1"); + e.printStackTrace(); } } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java index 4c660e9..a3e45c4 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java @@ -18,7 +18,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,8 +67,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { - if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGGasOtherConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index ede18a5..c2d9c30 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -49,6 +51,8 @@ private final IAlarmRecordsService alarmRecordsService; private final IAlarmRuleService alarmRuleService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -67,7 +71,7 @@ try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -78,7 +82,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java index b33a1ee..d58fdf1 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGasliquidGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasliquidGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -53,6 +55,8 @@ private final IAlarmRuleService alarmRuleService; private final DataGasMapper dataGasMapper; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -70,8 +74,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { - if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -82,7 +86,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 6297093..e51c968 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -64,7 +68,7 @@ try { if (DeviceTypeEnum.MonitorPipeOther.name().equals(json.get("devType"))) { if ("MonitorPipeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6e80323..c58dc5f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -47,6 +49,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,7 +67,7 @@ try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -74,7 +78,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index bbf7253..c2f5762 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis" + prefix = "casic.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java index f0d6c3d..f3918bc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java @@ -51,8 +51,7 @@ @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusConfigDTO busConfigTO) { - - return ReturnUtil.success(iBusConfigService.saveConfig(busConfigTO)); + return iBusConfigService.saveConfig(busConfigTO)?ReturnUtil.success():ReturnUtil.failed("配置失败"); } // @ApiOperation("编辑") diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 2288075..4d74341 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.base.service.IBaseExportService; +import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.IdsDTO; @@ -16,10 +17,12 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dict.BusConfigDict; +import com.casic.missiles.modular.device.dict.DeviceDict; import com.casic.missiles.modular.device.dto.*; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; -import com.casic.missiles.modular.log.AopLog; +import com.casic.missiles.modular.interfaces.dictmap.RoleDict; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -30,8 +33,9 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; /** *

@@ -60,17 +64,17 @@ return ReturnUtil.success(super.packForBT(iBusDeviceService.listPage(page, request))); } - @AopLog(description="新增设备",operateType = "新增") + + @BussinessLog(value = "新增设备", key = "devcode,deviceName,deviceType,installDate,productId", dict = DeviceDict.class) + @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("新增") @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusDevice busDevice) { - return ReturnUtil.success(iBusDeviceService.saveDevice(busDevice)); } - @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("编辑") @PostMapping("/edit") @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java new file mode 100644 index 0000000..bc41aa6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.device.controller; + + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.MonitorLogDTO; +import com.casic.missiles.modular.device.entity.MonitorLog; +import com.casic.missiles.modular.device.service.IMonitorLogService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 协议管理 前端控制器 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Api(tags = "系统监控模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/monitorLog") +public class MonitorLogController extends ExportController { + + private final IMonitorLogService iMonitorLogService; + + @ApiOperation("查询分页接口") + @PostMapping("/listPage") + @ResponseBody + public ReturnDTO listPage(@RequestBody MonitorLogDTO request) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(ObjectUtil.isNotEmpty(request.getServerType()),"SERVER_TYPE", request.getServerType()); + queryWrapper.orderByDesc("TS"); + return ReturnUtil.success(super.packForBT(iMonitorLogService.page(page, queryWrapper))); + } + +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java new file mode 100644 index 0000000..0d29f16 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.entity.MonitorLog; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 协议管理 Mapper 接口 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Mapper +public interface MonitorLogMapper extends BaseMapper { + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index c6d1fff..12ff233 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -75,6 +75,7 @@
and bd.CELL #{request.cell} + and bd.CELL > 0 and bd.LOGTIME = ]]> #{request.logTime1} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml index 0d71987..93d1973 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml @@ -63,7 +63,12 @@ SELECT - bl.* + bl.id, + bl.LEDGER_NAME, + bl.LNG_GAODE, + bl.LAT_GAODE, + bl.MONITOR_STATE, + bl.TAG_NUMBER FROM bus_ledger bl WHERE VALID = '1' AND TYPE = '2' diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml new file mode 100644 index 0000000..073a2ab --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + ID + , SERVER_NAME, `STATUS`, REMARK, TS + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java index 6ff74b0..2981486 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java @@ -12,8 +12,7 @@ put("deviceName","设备名称"); put("deviceType","设备类型ID"); put("installDate","安装时间"); - put("wellCode","闸井编号"); - put("concenCode","集中器编号"); + put("productId","产品id"); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java index ac5daf0..f919d1b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java @@ -27,4 +27,7 @@ @ApiModelProperty("1:其他,3:管线") private String type; + @ApiModelProperty("位置类别") + private String locationCategory; + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusStationMapDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusStationMapDTO.java new file mode 100644 index 0000000..10e0d14 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusStationMapDTO.java @@ -0,0 +1,33 @@ +package com.casic.missiles.modular.device.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class BusStationMapDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("名称") + private String ledgerName; + + @ApiModelProperty("位号") + private String tagNumber; + + @ApiModelProperty("监控状态(0:未监控,1:正常,2:异常,3:离线)") + private String monitorState; + + @ApiModelProperty("经度(高德)") + private String lngGaode; + + @ApiModelProperty("纬度(高德)") + private String latGaode; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorLogDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorLogDTO.java new file mode 100644 index 0000000..fce0e51 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorLogDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class MonitorLogDTO { + + + @ApiModelProperty("服务类型1:定时任务,2:服务监控") + @TableField("SERVER_TYPE") + private String serverType; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java index 407e3c1..d0f45f6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java @@ -89,10 +89,17 @@ @TableField("NB_PRODUCT_ID") private String nbProductId; + @ApiModelProperty("密钥NB_APP_KEY") + @TableField("NB_APP_KEY") + private String nbAppKey; - @ApiModelProperty("密钥") - @TableField("SECRET_KEY") - private String secretKey; + @ApiModelProperty("密钥NB_APP_SECRET") + @TableField("NB_APP_SECRET") + private String nbAppSecret; + + @ApiModelProperty("电信NB平台KEY,用于下发配置") + @TableField("MASTER_API_KEY") + private String masterApiKey; @ApiModelProperty("左侧指示带长度") @TableField("LEFT_LENGTH") diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/MonitorLog.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/MonitorLog.java new file mode 100644 index 0000000..95ef444 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/MonitorLog.java @@ -0,0 +1,57 @@ +package com.casic.missiles.modular.device.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 协议管理 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Getter +@Setter +@TableName("monitor_log") +@ApiModel(value = "MonitorLog对象", description = "协议管理 ") +public class MonitorLog implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("名称") + @TableField("SERVER_NAME") + private String serverName; + + @ApiModelProperty("服务类型1:定时任务,2:服务监控") + @TableField("SERVER_TYPE") + private String serverType; + + + @ApiModelProperty("运行状态(1、正常、0、异常)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("备注") + @TableField("REMARK") + private String remark; + + @ApiModelProperty("创建时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/rs/CommConfigDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/rs/CommConfigDTO.java new file mode 100644 index 0000000..dece4f7 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/rs/CommConfigDTO.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.device.rs; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Data +public class CommConfigDTO implements Serializable { + private static final long serialVersionUID = 1L; + + private String acqStart;//采集开始时间 + private Long interval;//采集时间间隔(分钟) + private Long period;//上传周期 + private Long times;//采集次数 + private Long repeat;//重传次数 + private String ip; + private Long port; + private Float thresh; + private Float height; + private String collect; + private String MultiCollect; + private String acqCycle; + private String upCycle; + private String sleepStartTime; + + private String acqStartFlow ; //流量采集开始时间 + private Long intervalFlow; //流量采集采集间隔(分) + private Long acqTimesFlow ;//流量采集次数 + private String upStartFlow; //流量上报开始时间 + private Long upTimesFlow; //流量上传次数 + private String acqStartNoise; //噪声采集开始时间 + private Long intervalNoise; //噪声采集采集间隔(分) + private Long acqTimesNoise;//噪声采集次数 + private String upStartNoise; //噪声上报开始时间 + private Long upTimesNoise ;//噪声上传次数 + private String acqStartPressure; //压力采集开始时间 + private Long intervalPressure;//压力采集采集间隔(分) + private Long acqTimesPressure; //压力采集次数 + private String upStartPressure; //压力上报开始时间 + private Long upTimesPressure; //压力上传次数 + private Float lowerLimitPressure; //压力报警下限 + private Float upperLimitPressure ;//压力报警下限 + private Long limitDig ;//开挖阈值 + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/rs/RedisCommon.java b/casic-device/src/main/java/com/casic/missiles/modular/device/rs/RedisCommon.java new file mode 100644 index 0000000..875a4c6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/rs/RedisCommon.java @@ -0,0 +1,40 @@ +package com.casic.missiles.modular.device.rs; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +import java.util.concurrent.TimeUnit; + +/** + * Created by test203 on 2019/5/30. + */ +@Service +public class RedisCommon { + + @Autowired + protected RedisTemplate redisTemplate; + + @Value("${casic.device.redis.invalid-time}") + private String invalidTime; + @Value("${casic.device.redis.config-prefix}") + private String configPrefix; + + + public void setRedisConfig(String key, CommConfigDTO commConfigDTO) { +// Gson g = new GsonBuilder().serializeNulls().create(); + + Gson g = new GsonBuilder().create(); + redisTemplate.opsForValue().set(configPrefix + key, + g.toJson(commConfigDTO), + Integer.valueOf(invalidTime), + TimeUnit.SECONDS); + } + + public void setRightRedisConcentrator(String concentratorcode, String devcode) { + redisTemplate.opsForList().rightPush(configPrefix + concentratorcode, "$" + devcode); + } +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusConfigService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusConfigService.java index 70f740f..9fb2140 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusConfigService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusConfigService.java @@ -21,6 +21,8 @@ boolean saveConfig(BusConfigDTO busConfigTO); + boolean updateStatus(String devCode); + boolean saveConfigOther(BusConfigOtherDTO busConfigOtherDTO); Page pageList(Page page, BusConfigRequestDTO requestDTO); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusImeiIccidService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusImeiIccidService.java index 889703f..4172472 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusImeiIccidService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusImeiIccidService.java @@ -13,4 +13,6 @@ */ public interface IBusImeiIccidService extends IService { + void saveData(String devCode,String imei,String iccid); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IMonitorLogService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IMonitorLogService.java new file mode 100644 index 0000000..64b4aeb --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IMonitorLogService.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.device.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.device.entity.MonitorLog; + +/** + *

+ * 协议管理 服务类 + *

+ * + * @author zt + * @since 2025-02-11 + */ +public interface IMonitorLogService extends IService { + + void saveMonitorLog(String serverName,String status,String remark,String severType); + + void checkServer(); + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusConfigServiceImpl.java index ef207ef..a6a658a 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusConfigServiceImpl.java @@ -2,7 +2,9 @@ import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.serializer.SerializerFeature; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; @@ -13,6 +15,8 @@ import com.casic.missiles.modular.device.dto.BusConfigRequestDTO; import com.casic.missiles.modular.device.entity.BusConfig; import com.casic.missiles.modular.device.entity.BusDevice; +import com.casic.missiles.modular.device.rs.CommConfigDTO; +import com.casic.missiles.modular.device.rs.RedisCommon; import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.util.HttpClientUtils; @@ -43,6 +47,7 @@ private final AbstractPermissionContext abstractPermissionContext; private final IBusDeviceService iBusDeviceService; + private final RedisCommon redisCommon; private final ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(3, 6, 60, TimeUnit.SECONDS, new LinkedBlockingDeque<>(10)); @Value("${casic.brSendConfigUrl}") @@ -51,40 +56,51 @@ @Transactional @Override public boolean saveConfig(BusConfigDTO busConfigTO) { - //todo:批量写入 - List devcodes = busConfigTO.getDevCodeList(); - devcodes.forEach(devcode -> { - switch (busConfigTO.getDeviceTypeName()) { - case "燃气智能监测终端": - //采集间隔,重传次数,上传周期 - busConfigTO.setFramecontent("reloadInterval:" - .concat(busConfigTO.getCollectInterval()) - .concat(";") - .concat("reloadInterval:") - .concat(busConfigTO.getReloadInterval()) - .concat(";") - .concat("uploadPeriod:") - .concat(busConfigTO.getUploadPeriod())); - busConfigTO.setFramecontentDesc("采集间隔:" - .concat(busConfigTO.getCollectInterval()) - .concat("分;").concat("重传次数:") - .concat(busConfigTO.getReloadInterval()) - .concat("次;").concat("上传周期:") - .concat(busConfigTO.getUploadPeriod()) - .concat("分")); - break; - default: - break; - } - //添加操作人 - AuthUser user = abstractPermissionContext.getAuthService().getLoginUser(); - if (null != user) { - busConfigTO.setOperator(user.getId()); - busConfigTO.setOperatorName(user.getName()); - } - busConfigTO.setDevcode(devcode); - this.baseMapper.insert(busConfigTO); - }); + + try { + //todo:批量写入 + List devcodes = busConfigTO.getDevCodeList(); + devcodes.forEach(devcode -> { + switch (busConfigTO.getDeviceTypeName()) { + case "燃气智能监测终端(一体化)": + case "燃气智能监测终端": + //采集间隔,重传次数,上传周期 + busConfigTO.setFramecontent("collectInterval:" + .concat(busConfigTO.getCollectInterval()) + .concat(";") + .concat("reloadInterval:") + .concat(busConfigTO.getReloadInterval()) + .concat(";") + .concat("uploadPeriod:") + .concat(busConfigTO.getUploadPeriod())); + busConfigTO.setFramecontentDesc("采集间隔:" + .concat(busConfigTO.getCollectInterval()) + .concat("分;").concat("重传次数:") + .concat(busConfigTO.getReloadInterval()) + .concat("次;").concat("上传周期:") + .concat(busConfigTO.getUploadPeriod()) + .concat("分")); + redisCommon.setRedisConfig(devcode,CommConfigDTO.builder().repeat(Long.valueOf(busConfigTO.getReloadInterval())) + .interval(Long.valueOf(busConfigTO.getCollectInterval())) + .period(Long.valueOf(busConfigTO.getUploadPeriod())).build()); + break; + default: + break; + } + //添加操作人 + AuthUser user = abstractPermissionContext.getAuthService().getLoginUser(); + if (null != user) { + busConfigTO.setOperator(user.getId()); + busConfigTO.setOperatorName(user.getName()); + } + busConfigTO.setDevcode(devcode); + this.baseMapper.insert(busConfigTO); + }); + }catch (Exception e){ + e.printStackTrace(); + return false; + } + return true; } @@ -98,7 +114,7 @@ queryWrapper.like(ObjectUtil.isNotEmpty(requestDTO.getOperatorName()), "OPERATOR_NAME", requestDTO.getOperatorName()); queryWrapper.ge(ObjectUtil.isNotEmpty(requestDTO.getBeginTime()), "WRITETIME", requestDTO.getBeginTime()); queryWrapper.le(ObjectUtil.isNotEmpty(requestDTO.getEndTime()), "WRITETIME", requestDTO.getEndTime()); - queryWrapper.orderByDesc( "WRITETIME"); + queryWrapper.orderByDesc("WRITETIME"); return this.baseMapper.selectPage(page, queryWrapper); } @@ -121,33 +137,48 @@ threadPoolExecutor.execute( () -> { - //发送第三方下发: - if (busConfigOtherDTO.getProductName().contains("管网哨兵")) { - List busDeviceList = iBusDeviceService.getDevicesByCodes(devcodes); + List busDeviceList = iBusDeviceService.getDevicesByCodes(devcodes); + try { + //发送前先下发设备电信平台aep属性 + List> aepMapList = new ArrayList<>(); for (BusDevice busDevice : busDeviceList) { - if (ObjectUtil.isAllNotEmpty(busDevice.getNbProductId(), busDevice.getNbDeviceId())) { - Map commandMap = new HashMap<>(); - commandMap.put("productId", busDevice.getNbProductId()); - commandMap.put("devCode", busDevice.getDevcode()); - commandMap.put("deviceId", busDevice.getNbDeviceId()); - commandMap.put("cmdList", busConfigOtherDTO.getCommandConfigList()); - HttpClientUtils.post(brSendConfigUrl+"/tube/config/send", JSON.toJSONString(commandMap)); + Map aepMap = new HashMap<>(); + aepMap.put("MASTER_API_KEY", busDevice.getMasterApiKey()); + aepMap.put("NB_DEVICE_ID", busDevice.getNbDeviceId()); + aepMap.put("NB_PRODUCT_ID", busDevice.getNbProductId()); + aepMap.put("NB_APP_KEY", busDevice.getNbAppKey()); + aepMap.put("NB_APP_SECRET", busDevice.getNbAppSecret()); + aepMap.put("DEVCODE", busDevice.getDevcode()); + aepMapList.add(aepMap); + } + HttpClientUtils.post(brSendConfigUrl + "/api/device/aepExt", JSON.toJSONString(aepMapList, SerializerFeature.WriteMapNullValue)); + } catch (Exception e) { + e.printStackTrace(); + } finally { + //发送第三方下发: + if (busConfigOtherDTO.getProductName().contains("管网哨兵")) { + for (BusDevice busDevice : busDeviceList) { + if (ObjectUtil.isAllNotEmpty(busDevice.getNbProductId(), busDevice.getNbDeviceId())) { + Map commandMap = new HashMap<>(); + commandMap.put("productId", busDevice.getNbProductId()); + commandMap.put("devCode", busDevice.getDevcode()); + commandMap.put("deviceId", busDevice.getNbDeviceId()); + commandMap.put("cmdList", busConfigOtherDTO.getCommandConfigList()); + HttpClientUtils.post(brSendConfigUrl + "/tube/config/send", JSON.toJSONString(commandMap)); + } + } + } else if (busConfigOtherDTO.getProductName().contains("智能警示桩")) { + for (BusDevice busDevice : busDeviceList) { + if (ObjectUtil.isAllNotEmpty(busDevice.getNbProductId(), busDevice.getNbDeviceId())) { + Map commandMap = new HashMap<>(); + commandMap.put("productId", busDevice.getNbProductId()); + commandMap.put("devCode", busDevice.getDevcode()); + commandMap.put("deviceId", busDevice.getNbDeviceId()); + commandMap.put("cmdList", busConfigOtherDTO.getCommandConfigList()); + HttpClientUtils.post(brSendConfigUrl + "/sentinel/config/send", JSON.toJSONString(commandMap)); + } } } - } else if (busConfigOtherDTO.getProductName().contains("智能警示桩")) { - - List busDeviceList = iBusDeviceService.getDevicesByCodes(devcodes); - for (BusDevice busDevice : busDeviceList) { - if (ObjectUtil.isAllNotEmpty(busDevice.getNbProductId(), busDevice.getNbDeviceId())) { - Map commandMap = new HashMap<>(); - commandMap.put("productId", busDevice.getNbProductId()); - commandMap.put("devCode", busDevice.getDevcode()); - commandMap.put("deviceId", busDevice.getNbDeviceId()); - commandMap.put("cmdList", busConfigOtherDTO.getCommandConfigList()); - HttpClientUtils.post(brSendConfigUrl+"/sentinel/config/send", JSON.toJSONString(commandMap)); - } - } - } } ); @@ -173,4 +204,13 @@ // HttpClientUtils.post("brAppUrl", JSON.toJSONString(map)); // return true; } + + @Override + public boolean updateStatus(String devCode) { + UpdateWrapper queryWrapper = new UpdateWrapper<>(); + queryWrapper.eq("DEVCODE", devCode); + queryWrapper.eq("STATUS", "0"); + queryWrapper.set("STATUS", "1"); + return this.update(queryWrapper); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusImeiIccidServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusImeiIccidServiceImpl.java index c03f1a5..168ba4d 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusImeiIccidServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusImeiIccidServiceImpl.java @@ -17,4 +17,13 @@ @Service public class BusImeiIccidServiceImpl extends ServiceImpl implements IBusImeiIccidService { + + @Override + public void saveData(String devCode, String imei, String iccid) { + BusImeiIccid busImeiIccid = new BusImeiIccid(); + busImeiIccid.setIccid(iccid); + busImeiIccid.setImei(imei); + busImeiIccid.setDevcode(devCode); + this.baseMapper.insert(busImeiIccid); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusLedgerPipeServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusLedgerPipeServiceImpl.java index 7f8bfdc..d29e59a 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusLedgerPipeServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusLedgerPipeServiceImpl.java @@ -61,6 +61,7 @@ queryWrapper.like(ObjectUtil.isNotEmpty(request.getPosition()), "POSITION", request.getPosition()); queryWrapper.in(ObjectUtil.isNotEmpty(deptIds), "DEPTID", deptIds); queryWrapper.eq(ObjectUtil.isNotEmpty(request.getType()), "TYPE", request.getType()); + queryWrapper.eq(ObjectUtil.isNotEmpty(request.getLocationCategory()), "LOCATION_CATEGORY", request.getLocationCategory()); Page pipePage = this.page(page, queryWrapper); List pipeList = pipePage.getRecords(); pipeList.forEach(pipe -> { @@ -88,7 +89,7 @@ public BusLedgerPipeResponseDTO detail(Long id, String devcode) { BusLedgerPipeResponseDTO busLedgerPipeResponseDTO = this.baseMapper.detail(id, devcode); if (null != busLedgerPipeResponseDTO) { - busLedgerPipeResponseDTO.setStatus("1".equals(busLedgerPipeResponseDTO.getStatus()) ? "正常" : "异常"); + busLedgerPipeResponseDTO.setStatus("0".equals(busLedgerPipeResponseDTO.getStatus()) ? "离线" : "正常"); busLedgerPipeResponseDTO.setOnState(abstractDictService.getDictNameByCode("useStatus", busLedgerPipeResponseDTO.getOnState())); // 使用状态字典值 busLedgerPipeResponseDTO.setDeptName(ObjectUtil.isNotEmpty(busLedgerPipeResponseDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(busLedgerPipeResponseDTO.getDeptid()) : ""); // 管理单位名称 busLedgerPipeResponseDTO.setPressType(abstractDictService.getDictNameByCode("wellType", busLedgerPipeResponseDTO.getPressType())); // 位置状态字典值 diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/MonitorLogServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/MonitorLogServiceImpl.java new file mode 100644 index 0000000..b3e32cd --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/MonitorLogServiceImpl.java @@ -0,0 +1,61 @@ +package com.casic.missiles.modular.device.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.device.dao.MonitorLogMapper; +import com.casic.missiles.modular.device.entity.MonitorLog; +import com.casic.missiles.modular.device.service.IMonitorLogService; +import org.springframework.stereotype.Service; + +import java.net.InetAddress; +import java.net.InetSocketAddress; +import java.net.Socket; + +/** + *

+ * 协议管理 服务实现类 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Service +public class MonitorLogServiceImpl extends ServiceImpl implements IMonitorLogService { + + + @Override + public void saveMonitorLog(String serverName, String status, String remark, String severType) { + MonitorLog monitorLog = new MonitorLog(); + monitorLog.setRemark(remark); + monitorLog.setServerName(serverName); + monitorLog.setStatus(status); + monitorLog.setServerType(severType); + this.save(monitorLog); + } + + @Override + public void checkServer() { + this.saveMonitorLog("xtServer",isHostReachable("172.17.240.116",9092)?"1":"0","迅腾大眼据服务","2"); + this.saveMonitorLog("sensorhubServer",isHostReachable("172.17.112.21",4011)?"1":"0","新协议解析服务","2"); + this.saveMonitorLog("mysqlServer",(isHostReachable("172.27.34.168",3316)?"1":"0"),"数据库服务","2"); + this.saveMonitorLog("redis",(isHostReachable("172.17.112.21",6379)?"1":"0"),"redis服务","2"); + } + + + public static boolean isHostReachable(String ip, int port) { + try { + Socket socket = new Socket(); + socket.connect(new InetSocketAddress(ip, port), 5000); + return true; + } catch (Exception e) { + return false; + } + } + + public static void main(String[] args) { + String ip = "111.198.10.15"; // 替换为你的IP地址 + int port = 116444; // 超时时间,单位毫秒 + boolean reachable = isHostReachable(ip, port); + System.out.println("Host at IP " + ip + " is " + (reachable ? "reachable" : "not reachable")); + } + +} diff --git a/casic-job/src/main/java/com/casic/missiles/job/handler/CheckingJob.java b/casic-job/src/main/java/com/casic/missiles/job/handler/CheckingJob.java index f847fdf..863b091 100644 --- a/casic-job/src/main/java/com/casic/missiles/job/handler/CheckingJob.java +++ b/casic-job/src/main/java/com/casic/missiles/job/handler/CheckingJob.java @@ -9,6 +9,7 @@ import com.casic.missiles.modular.device.service.IBusGridService; import com.casic.missiles.modular.device.service.IBusLedgerService; import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import lombok.RequiredArgsConstructor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -38,6 +39,7 @@ private final IBusLedgerService iBusLedgerService; private final ICtUserService iCtUserService; private final IBusGridService iBusGridService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.enabled}") public void setEnabled(boolean enabled) { @@ -53,11 +55,7 @@ if (!enabled) { return; } - try { - iAlarmRecordsService.processOffline(); - } catch (Exception ex) { - logger.error(ex.getMessage(), ex); - } + iAlarmRecordsService.processOffline(); } @@ -104,11 +102,25 @@ iCtUserService.synAllUsers(); //同步网格 iBusGridService.synAllGrids(); + + //同步任务监控日志 + iMonitorLogService.saveMonitorLog("synchronous","1","部门、台账、用户同步任务","1"); } catch (Exception ex) { + //同步任务异常监控日志 + iMonitorLogService.saveMonitorLog("synchronous","0","部门、台账、用户同步任务","1"); logger.error(ex.getMessage(), ex); } } + @Scheduled(cron = "0 0 2 * * ?") + public void checkServer() { + logger.info("开始执行服务监控"); + if (!enabled) { + return; + } + iMonitorLogService.checkServer(); + } + // TaskScheduler taskScheduler = SpringContextUtil.getApplicationContext().getBean(TaskScheduler.class); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java index 308fa32..3ea8fc9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java @@ -120,4 +120,6 @@ @ApiModelProperty("监测对象id") private String watchObject; + private String manufactureName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 45f621c..d5da07e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -29,6 +29,7 @@ import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.modular.device.service.IBusLedgerPipeService; import com.casic.missiles.modular.device.service.IBusLedgerService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.server.CommonServer; @@ -71,6 +72,7 @@ private final IBusLedgerService iBusLedgerService; private final IBusLedgerPipeService iBusLedgerPipeService; private final IAlarmEventProductService iAlarmEventProductService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.brAppUrl}") private String brAppUrl; @@ -860,49 +862,57 @@ @Transactional @Override public void processOffline() { - //注意:报警类型一律为“OffLine” - List offDeviceDTOList = this.baseMapper.getOfflineDevices(); - List alarmRecordsList = new ArrayList<>(); - List ledgers = new ArrayList<>(); - for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) - continue; - } else { - //默认7天 - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) - continue; + try { + //注意:报警类型一律为“OffLine” + List offDeviceDTOList = this.baseMapper.getOfflineDevices(); + List alarmRecordsList = new ArrayList<>(); + List ledgers = new ArrayList<>(); + for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) + continue; + } else { + //默认7天 + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) + continue; + } } - } - AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), - offDeviceDTO.getLedgerCode(), - offDeviceDTO.getTagNumber(), - offDeviceDTO.getAlarmTypeId(), + AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), + offDeviceDTO.getLedgerCode(), + offDeviceDTO.getTagNumber(), + offDeviceDTO.getAlarmTypeId(), // offDeviceDTO.getAlarmTypeName(), - "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", - offDeviceDTO.getAlarmLevelId(), - new Date(), - offDeviceDTO.getAlarmThreshold(), - offDeviceDTO.getPlace(), "1"); - alarmRecordsList.add(alarmRecords); - ledgers.add(offDeviceDTO); - } - if (alarmRecordsList.size() > 0) { - this.saveBatch(alarmRecordsList); + "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", + offDeviceDTO.getAlarmLevelId(), + new Date(), + offDeviceDTO.getAlarmThreshold(), + offDeviceDTO.getPlace(), "1"); + alarmRecordsList.add(alarmRecords); + ledgers.add(offDeviceDTO); + } + if (alarmRecordsList.size() > 0) { + this.saveBatch(alarmRecordsList); - //更新设备表状态 - List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); - iBusDeviceService.updateBusDeviceStatus(devcodeStrs); - //更新点位表 - List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); - if (ledgerCodes != null && ledgerCodes.size() > 0) - iBusLedgerService.updateLedgerStatus(ledgerCodes); - List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); - if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) - iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); - //toDo:需添加离线分析记录 + //更新设备表状态 + List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); + iBusDeviceService.updateBusDeviceStatus(devcodeStrs); + //更新点位表 + List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); + if (ledgerCodes != null && ledgerCodes.size() > 0) + iBusLedgerService.updateLedgerStatus(ledgerCodes); + List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); + if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) + iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); + //加入监控日志 + //toDo:需添加离线分析记录 + } + iMonitorLogService.saveMonitorLog("offline", "1", "离线任务判断", "1"); + } catch (Exception e) { + //添加监控异常日志 + iMonitorLogService.saveMonitorLog("offline", "0", "离线任务判断", "1"); + e.printStackTrace(); } } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java index 4c660e9..a3e45c4 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java @@ -18,7 +18,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,8 +67,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { - if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGGasOtherConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index ede18a5..c2d9c30 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -49,6 +51,8 @@ private final IAlarmRecordsService alarmRecordsService; private final IAlarmRuleService alarmRuleService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -67,7 +71,7 @@ try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -78,7 +82,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java index b33a1ee..d58fdf1 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGasliquidGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasliquidGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -53,6 +55,8 @@ private final IAlarmRuleService alarmRuleService; private final DataGasMapper dataGasMapper; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -70,8 +74,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { - if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -82,7 +86,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 6297093..e51c968 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -64,7 +68,7 @@ try { if (DeviceTypeEnum.MonitorPipeOther.name().equals(json.get("devType"))) { if ("MonitorPipeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6e80323..c58dc5f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -47,6 +49,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,7 +67,7 @@ try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -74,7 +78,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index bbf7253..c2f5762 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis" + prefix = "casic.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java index f0d6c3d..f3918bc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java @@ -51,8 +51,7 @@ @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusConfigDTO busConfigTO) { - - return ReturnUtil.success(iBusConfigService.saveConfig(busConfigTO)); + return iBusConfigService.saveConfig(busConfigTO)?ReturnUtil.success():ReturnUtil.failed("配置失败"); } // @ApiOperation("编辑") diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 2288075..4d74341 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.base.service.IBaseExportService; +import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.IdsDTO; @@ -16,10 +17,12 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dict.BusConfigDict; +import com.casic.missiles.modular.device.dict.DeviceDict; import com.casic.missiles.modular.device.dto.*; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; -import com.casic.missiles.modular.log.AopLog; +import com.casic.missiles.modular.interfaces.dictmap.RoleDict; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -30,8 +33,9 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; /** *

@@ -60,17 +64,17 @@ return ReturnUtil.success(super.packForBT(iBusDeviceService.listPage(page, request))); } - @AopLog(description="新增设备",operateType = "新增") + + @BussinessLog(value = "新增设备", key = "devcode,deviceName,deviceType,installDate,productId", dict = DeviceDict.class) + @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("新增") @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusDevice busDevice) { - return ReturnUtil.success(iBusDeviceService.saveDevice(busDevice)); } - @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("编辑") @PostMapping("/edit") @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java new file mode 100644 index 0000000..bc41aa6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.device.controller; + + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.MonitorLogDTO; +import com.casic.missiles.modular.device.entity.MonitorLog; +import com.casic.missiles.modular.device.service.IMonitorLogService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 协议管理 前端控制器 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Api(tags = "系统监控模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/monitorLog") +public class MonitorLogController extends ExportController { + + private final IMonitorLogService iMonitorLogService; + + @ApiOperation("查询分页接口") + @PostMapping("/listPage") + @ResponseBody + public ReturnDTO listPage(@RequestBody MonitorLogDTO request) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(ObjectUtil.isNotEmpty(request.getServerType()),"SERVER_TYPE", request.getServerType()); + queryWrapper.orderByDesc("TS"); + return ReturnUtil.success(super.packForBT(iMonitorLogService.page(page, queryWrapper))); + } + +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java new file mode 100644 index 0000000..0d29f16 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.entity.MonitorLog; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 协议管理 Mapper 接口 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Mapper +public interface MonitorLogMapper extends BaseMapper { + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index c6d1fff..12ff233 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -75,6 +75,7 @@
and bd.CELL #{request.cell} + and bd.CELL > 0 and bd.LOGTIME = ]]> #{request.logTime1} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml index 0d71987..93d1973 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml @@ -63,7 +63,12 @@ SELECT - bl.* + bl.id, + bl.LEDGER_NAME, + bl.LNG_GAODE, + bl.LAT_GAODE, + bl.MONITOR_STATE, + bl.TAG_NUMBER FROM bus_ledger bl WHERE VALID = '1' AND TYPE = '2' diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml new file mode 100644 index 0000000..073a2ab --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/MonitorLogMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + ID + , SERVER_NAME, `STATUS`, REMARK, TS + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java index 6ff74b0..2981486 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dict/DeviceDict.java @@ -12,8 +12,7 @@ put("deviceName","设备名称"); put("deviceType","设备类型ID"); put("installDate","安装时间"); - put("wellCode","闸井编号"); - put("concenCode","集中器编号"); + put("productId","产品id"); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java index ac5daf0..f919d1b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeRequestDTO.java @@ -27,4 +27,7 @@ @ApiModelProperty("1:其他,3:管线") private String type; + @ApiModelProperty("位置类别") + private String locationCategory; + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusStationMapDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusStationMapDTO.java new file mode 100644 index 0000000..10e0d14 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusStationMapDTO.java @@ -0,0 +1,33 @@ +package com.casic.missiles.modular.device.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class BusStationMapDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("名称") + private String ledgerName; + + @ApiModelProperty("位号") + private String tagNumber; + + @ApiModelProperty("监控状态(0:未监控,1:正常,2:异常,3:离线)") + private String monitorState; + + @ApiModelProperty("经度(高德)") + private String lngGaode; + + @ApiModelProperty("纬度(高德)") + private String latGaode; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorLogDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorLogDTO.java new file mode 100644 index 0000000..fce0e51 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorLogDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class MonitorLogDTO { + + + @ApiModelProperty("服务类型1:定时任务,2:服务监控") + @TableField("SERVER_TYPE") + private String serverType; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java index 407e3c1..d0f45f6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java @@ -89,10 +89,17 @@ @TableField("NB_PRODUCT_ID") private String nbProductId; + @ApiModelProperty("密钥NB_APP_KEY") + @TableField("NB_APP_KEY") + private String nbAppKey; - @ApiModelProperty("密钥") - @TableField("SECRET_KEY") - private String secretKey; + @ApiModelProperty("密钥NB_APP_SECRET") + @TableField("NB_APP_SECRET") + private String nbAppSecret; + + @ApiModelProperty("电信NB平台KEY,用于下发配置") + @TableField("MASTER_API_KEY") + private String masterApiKey; @ApiModelProperty("左侧指示带长度") @TableField("LEFT_LENGTH") diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/MonitorLog.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/MonitorLog.java new file mode 100644 index 0000000..95ef444 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/MonitorLog.java @@ -0,0 +1,57 @@ +package com.casic.missiles.modular.device.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 协议管理 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Getter +@Setter +@TableName("monitor_log") +@ApiModel(value = "MonitorLog对象", description = "协议管理 ") +public class MonitorLog implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("名称") + @TableField("SERVER_NAME") + private String serverName; + + @ApiModelProperty("服务类型1:定时任务,2:服务监控") + @TableField("SERVER_TYPE") + private String serverType; + + + @ApiModelProperty("运行状态(1、正常、0、异常)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("备注") + @TableField("REMARK") + private String remark; + + @ApiModelProperty("创建时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/rs/CommConfigDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/rs/CommConfigDTO.java new file mode 100644 index 0000000..dece4f7 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/rs/CommConfigDTO.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.device.rs; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Data +public class CommConfigDTO implements Serializable { + private static final long serialVersionUID = 1L; + + private String acqStart;//采集开始时间 + private Long interval;//采集时间间隔(分钟) + private Long period;//上传周期 + private Long times;//采集次数 + private Long repeat;//重传次数 + private String ip; + private Long port; + private Float thresh; + private Float height; + private String collect; + private String MultiCollect; + private String acqCycle; + private String upCycle; + private String sleepStartTime; + + private String acqStartFlow ; //流量采集开始时间 + private Long intervalFlow; //流量采集采集间隔(分) + private Long acqTimesFlow ;//流量采集次数 + private String upStartFlow; //流量上报开始时间 + private Long upTimesFlow; //流量上传次数 + private String acqStartNoise; //噪声采集开始时间 + private Long intervalNoise; //噪声采集采集间隔(分) + private Long acqTimesNoise;//噪声采集次数 + private String upStartNoise; //噪声上报开始时间 + private Long upTimesNoise ;//噪声上传次数 + private String acqStartPressure; //压力采集开始时间 + private Long intervalPressure;//压力采集采集间隔(分) + private Long acqTimesPressure; //压力采集次数 + private String upStartPressure; //压力上报开始时间 + private Long upTimesPressure; //压力上传次数 + private Float lowerLimitPressure; //压力报警下限 + private Float upperLimitPressure ;//压力报警下限 + private Long limitDig ;//开挖阈值 + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/rs/RedisCommon.java b/casic-device/src/main/java/com/casic/missiles/modular/device/rs/RedisCommon.java new file mode 100644 index 0000000..875a4c6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/rs/RedisCommon.java @@ -0,0 +1,40 @@ +package com.casic.missiles.modular.device.rs; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +import java.util.concurrent.TimeUnit; + +/** + * Created by test203 on 2019/5/30. + */ +@Service +public class RedisCommon { + + @Autowired + protected RedisTemplate redisTemplate; + + @Value("${casic.device.redis.invalid-time}") + private String invalidTime; + @Value("${casic.device.redis.config-prefix}") + private String configPrefix; + + + public void setRedisConfig(String key, CommConfigDTO commConfigDTO) { +// Gson g = new GsonBuilder().serializeNulls().create(); + + Gson g = new GsonBuilder().create(); + redisTemplate.opsForValue().set(configPrefix + key, + g.toJson(commConfigDTO), + Integer.valueOf(invalidTime), + TimeUnit.SECONDS); + } + + public void setRightRedisConcentrator(String concentratorcode, String devcode) { + redisTemplate.opsForList().rightPush(configPrefix + concentratorcode, "$" + devcode); + } +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusConfigService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusConfigService.java index 70f740f..9fb2140 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusConfigService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusConfigService.java @@ -21,6 +21,8 @@ boolean saveConfig(BusConfigDTO busConfigTO); + boolean updateStatus(String devCode); + boolean saveConfigOther(BusConfigOtherDTO busConfigOtherDTO); Page pageList(Page page, BusConfigRequestDTO requestDTO); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusImeiIccidService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusImeiIccidService.java index 889703f..4172472 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusImeiIccidService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusImeiIccidService.java @@ -13,4 +13,6 @@ */ public interface IBusImeiIccidService extends IService { + void saveData(String devCode,String imei,String iccid); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IMonitorLogService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IMonitorLogService.java new file mode 100644 index 0000000..64b4aeb --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IMonitorLogService.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.device.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.device.entity.MonitorLog; + +/** + *

+ * 协议管理 服务类 + *

+ * + * @author zt + * @since 2025-02-11 + */ +public interface IMonitorLogService extends IService { + + void saveMonitorLog(String serverName,String status,String remark,String severType); + + void checkServer(); + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusConfigServiceImpl.java index ef207ef..a6a658a 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusConfigServiceImpl.java @@ -2,7 +2,9 @@ import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.serializer.SerializerFeature; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; @@ -13,6 +15,8 @@ import com.casic.missiles.modular.device.dto.BusConfigRequestDTO; import com.casic.missiles.modular.device.entity.BusConfig; import com.casic.missiles.modular.device.entity.BusDevice; +import com.casic.missiles.modular.device.rs.CommConfigDTO; +import com.casic.missiles.modular.device.rs.RedisCommon; import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.util.HttpClientUtils; @@ -43,6 +47,7 @@ private final AbstractPermissionContext abstractPermissionContext; private final IBusDeviceService iBusDeviceService; + private final RedisCommon redisCommon; private final ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(3, 6, 60, TimeUnit.SECONDS, new LinkedBlockingDeque<>(10)); @Value("${casic.brSendConfigUrl}") @@ -51,40 +56,51 @@ @Transactional @Override public boolean saveConfig(BusConfigDTO busConfigTO) { - //todo:批量写入 - List devcodes = busConfigTO.getDevCodeList(); - devcodes.forEach(devcode -> { - switch (busConfigTO.getDeviceTypeName()) { - case "燃气智能监测终端": - //采集间隔,重传次数,上传周期 - busConfigTO.setFramecontent("reloadInterval:" - .concat(busConfigTO.getCollectInterval()) - .concat(";") - .concat("reloadInterval:") - .concat(busConfigTO.getReloadInterval()) - .concat(";") - .concat("uploadPeriod:") - .concat(busConfigTO.getUploadPeriod())); - busConfigTO.setFramecontentDesc("采集间隔:" - .concat(busConfigTO.getCollectInterval()) - .concat("分;").concat("重传次数:") - .concat(busConfigTO.getReloadInterval()) - .concat("次;").concat("上传周期:") - .concat(busConfigTO.getUploadPeriod()) - .concat("分")); - break; - default: - break; - } - //添加操作人 - AuthUser user = abstractPermissionContext.getAuthService().getLoginUser(); - if (null != user) { - busConfigTO.setOperator(user.getId()); - busConfigTO.setOperatorName(user.getName()); - } - busConfigTO.setDevcode(devcode); - this.baseMapper.insert(busConfigTO); - }); + + try { + //todo:批量写入 + List devcodes = busConfigTO.getDevCodeList(); + devcodes.forEach(devcode -> { + switch (busConfigTO.getDeviceTypeName()) { + case "燃气智能监测终端(一体化)": + case "燃气智能监测终端": + //采集间隔,重传次数,上传周期 + busConfigTO.setFramecontent("collectInterval:" + .concat(busConfigTO.getCollectInterval()) + .concat(";") + .concat("reloadInterval:") + .concat(busConfigTO.getReloadInterval()) + .concat(";") + .concat("uploadPeriod:") + .concat(busConfigTO.getUploadPeriod())); + busConfigTO.setFramecontentDesc("采集间隔:" + .concat(busConfigTO.getCollectInterval()) + .concat("分;").concat("重传次数:") + .concat(busConfigTO.getReloadInterval()) + .concat("次;").concat("上传周期:") + .concat(busConfigTO.getUploadPeriod()) + .concat("分")); + redisCommon.setRedisConfig(devcode,CommConfigDTO.builder().repeat(Long.valueOf(busConfigTO.getReloadInterval())) + .interval(Long.valueOf(busConfigTO.getCollectInterval())) + .period(Long.valueOf(busConfigTO.getUploadPeriod())).build()); + break; + default: + break; + } + //添加操作人 + AuthUser user = abstractPermissionContext.getAuthService().getLoginUser(); + if (null != user) { + busConfigTO.setOperator(user.getId()); + busConfigTO.setOperatorName(user.getName()); + } + busConfigTO.setDevcode(devcode); + this.baseMapper.insert(busConfigTO); + }); + }catch (Exception e){ + e.printStackTrace(); + return false; + } + return true; } @@ -98,7 +114,7 @@ queryWrapper.like(ObjectUtil.isNotEmpty(requestDTO.getOperatorName()), "OPERATOR_NAME", requestDTO.getOperatorName()); queryWrapper.ge(ObjectUtil.isNotEmpty(requestDTO.getBeginTime()), "WRITETIME", requestDTO.getBeginTime()); queryWrapper.le(ObjectUtil.isNotEmpty(requestDTO.getEndTime()), "WRITETIME", requestDTO.getEndTime()); - queryWrapper.orderByDesc( "WRITETIME"); + queryWrapper.orderByDesc("WRITETIME"); return this.baseMapper.selectPage(page, queryWrapper); } @@ -121,33 +137,48 @@ threadPoolExecutor.execute( () -> { - //发送第三方下发: - if (busConfigOtherDTO.getProductName().contains("管网哨兵")) { - List busDeviceList = iBusDeviceService.getDevicesByCodes(devcodes); + List busDeviceList = iBusDeviceService.getDevicesByCodes(devcodes); + try { + //发送前先下发设备电信平台aep属性 + List> aepMapList = new ArrayList<>(); for (BusDevice busDevice : busDeviceList) { - if (ObjectUtil.isAllNotEmpty(busDevice.getNbProductId(), busDevice.getNbDeviceId())) { - Map commandMap = new HashMap<>(); - commandMap.put("productId", busDevice.getNbProductId()); - commandMap.put("devCode", busDevice.getDevcode()); - commandMap.put("deviceId", busDevice.getNbDeviceId()); - commandMap.put("cmdList", busConfigOtherDTO.getCommandConfigList()); - HttpClientUtils.post(brSendConfigUrl+"/tube/config/send", JSON.toJSONString(commandMap)); + Map aepMap = new HashMap<>(); + aepMap.put("MASTER_API_KEY", busDevice.getMasterApiKey()); + aepMap.put("NB_DEVICE_ID", busDevice.getNbDeviceId()); + aepMap.put("NB_PRODUCT_ID", busDevice.getNbProductId()); + aepMap.put("NB_APP_KEY", busDevice.getNbAppKey()); + aepMap.put("NB_APP_SECRET", busDevice.getNbAppSecret()); + aepMap.put("DEVCODE", busDevice.getDevcode()); + aepMapList.add(aepMap); + } + HttpClientUtils.post(brSendConfigUrl + "/api/device/aepExt", JSON.toJSONString(aepMapList, SerializerFeature.WriteMapNullValue)); + } catch (Exception e) { + e.printStackTrace(); + } finally { + //发送第三方下发: + if (busConfigOtherDTO.getProductName().contains("管网哨兵")) { + for (BusDevice busDevice : busDeviceList) { + if (ObjectUtil.isAllNotEmpty(busDevice.getNbProductId(), busDevice.getNbDeviceId())) { + Map commandMap = new HashMap<>(); + commandMap.put("productId", busDevice.getNbProductId()); + commandMap.put("devCode", busDevice.getDevcode()); + commandMap.put("deviceId", busDevice.getNbDeviceId()); + commandMap.put("cmdList", busConfigOtherDTO.getCommandConfigList()); + HttpClientUtils.post(brSendConfigUrl + "/tube/config/send", JSON.toJSONString(commandMap)); + } + } + } else if (busConfigOtherDTO.getProductName().contains("智能警示桩")) { + for (BusDevice busDevice : busDeviceList) { + if (ObjectUtil.isAllNotEmpty(busDevice.getNbProductId(), busDevice.getNbDeviceId())) { + Map commandMap = new HashMap<>(); + commandMap.put("productId", busDevice.getNbProductId()); + commandMap.put("devCode", busDevice.getDevcode()); + commandMap.put("deviceId", busDevice.getNbDeviceId()); + commandMap.put("cmdList", busConfigOtherDTO.getCommandConfigList()); + HttpClientUtils.post(brSendConfigUrl + "/sentinel/config/send", JSON.toJSONString(commandMap)); + } } } - } else if (busConfigOtherDTO.getProductName().contains("智能警示桩")) { - - List busDeviceList = iBusDeviceService.getDevicesByCodes(devcodes); - for (BusDevice busDevice : busDeviceList) { - if (ObjectUtil.isAllNotEmpty(busDevice.getNbProductId(), busDevice.getNbDeviceId())) { - Map commandMap = new HashMap<>(); - commandMap.put("productId", busDevice.getNbProductId()); - commandMap.put("devCode", busDevice.getDevcode()); - commandMap.put("deviceId", busDevice.getNbDeviceId()); - commandMap.put("cmdList", busConfigOtherDTO.getCommandConfigList()); - HttpClientUtils.post(brSendConfigUrl+"/sentinel/config/send", JSON.toJSONString(commandMap)); - } - } - } } ); @@ -173,4 +204,13 @@ // HttpClientUtils.post("brAppUrl", JSON.toJSONString(map)); // return true; } + + @Override + public boolean updateStatus(String devCode) { + UpdateWrapper queryWrapper = new UpdateWrapper<>(); + queryWrapper.eq("DEVCODE", devCode); + queryWrapper.eq("STATUS", "0"); + queryWrapper.set("STATUS", "1"); + return this.update(queryWrapper); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusImeiIccidServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusImeiIccidServiceImpl.java index c03f1a5..168ba4d 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusImeiIccidServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusImeiIccidServiceImpl.java @@ -17,4 +17,13 @@ @Service public class BusImeiIccidServiceImpl extends ServiceImpl implements IBusImeiIccidService { + + @Override + public void saveData(String devCode, String imei, String iccid) { + BusImeiIccid busImeiIccid = new BusImeiIccid(); + busImeiIccid.setIccid(iccid); + busImeiIccid.setImei(imei); + busImeiIccid.setDevcode(devCode); + this.baseMapper.insert(busImeiIccid); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusLedgerPipeServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusLedgerPipeServiceImpl.java index 7f8bfdc..d29e59a 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusLedgerPipeServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusLedgerPipeServiceImpl.java @@ -61,6 +61,7 @@ queryWrapper.like(ObjectUtil.isNotEmpty(request.getPosition()), "POSITION", request.getPosition()); queryWrapper.in(ObjectUtil.isNotEmpty(deptIds), "DEPTID", deptIds); queryWrapper.eq(ObjectUtil.isNotEmpty(request.getType()), "TYPE", request.getType()); + queryWrapper.eq(ObjectUtil.isNotEmpty(request.getLocationCategory()), "LOCATION_CATEGORY", request.getLocationCategory()); Page pipePage = this.page(page, queryWrapper); List pipeList = pipePage.getRecords(); pipeList.forEach(pipe -> { @@ -88,7 +89,7 @@ public BusLedgerPipeResponseDTO detail(Long id, String devcode) { BusLedgerPipeResponseDTO busLedgerPipeResponseDTO = this.baseMapper.detail(id, devcode); if (null != busLedgerPipeResponseDTO) { - busLedgerPipeResponseDTO.setStatus("1".equals(busLedgerPipeResponseDTO.getStatus()) ? "正常" : "异常"); + busLedgerPipeResponseDTO.setStatus("0".equals(busLedgerPipeResponseDTO.getStatus()) ? "离线" : "正常"); busLedgerPipeResponseDTO.setOnState(abstractDictService.getDictNameByCode("useStatus", busLedgerPipeResponseDTO.getOnState())); // 使用状态字典值 busLedgerPipeResponseDTO.setDeptName(ObjectUtil.isNotEmpty(busLedgerPipeResponseDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(busLedgerPipeResponseDTO.getDeptid()) : ""); // 管理单位名称 busLedgerPipeResponseDTO.setPressType(abstractDictService.getDictNameByCode("wellType", busLedgerPipeResponseDTO.getPressType())); // 位置状态字典值 diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/MonitorLogServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/MonitorLogServiceImpl.java new file mode 100644 index 0000000..b3e32cd --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/MonitorLogServiceImpl.java @@ -0,0 +1,61 @@ +package com.casic.missiles.modular.device.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.device.dao.MonitorLogMapper; +import com.casic.missiles.modular.device.entity.MonitorLog; +import com.casic.missiles.modular.device.service.IMonitorLogService; +import org.springframework.stereotype.Service; + +import java.net.InetAddress; +import java.net.InetSocketAddress; +import java.net.Socket; + +/** + *

+ * 协议管理 服务实现类 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Service +public class MonitorLogServiceImpl extends ServiceImpl implements IMonitorLogService { + + + @Override + public void saveMonitorLog(String serverName, String status, String remark, String severType) { + MonitorLog monitorLog = new MonitorLog(); + monitorLog.setRemark(remark); + monitorLog.setServerName(serverName); + monitorLog.setStatus(status); + monitorLog.setServerType(severType); + this.save(monitorLog); + } + + @Override + public void checkServer() { + this.saveMonitorLog("xtServer",isHostReachable("172.17.240.116",9092)?"1":"0","迅腾大眼据服务","2"); + this.saveMonitorLog("sensorhubServer",isHostReachable("172.17.112.21",4011)?"1":"0","新协议解析服务","2"); + this.saveMonitorLog("mysqlServer",(isHostReachable("172.27.34.168",3316)?"1":"0"),"数据库服务","2"); + this.saveMonitorLog("redis",(isHostReachable("172.17.112.21",6379)?"1":"0"),"redis服务","2"); + } + + + public static boolean isHostReachable(String ip, int port) { + try { + Socket socket = new Socket(); + socket.connect(new InetSocketAddress(ip, port), 5000); + return true; + } catch (Exception e) { + return false; + } + } + + public static void main(String[] args) { + String ip = "111.198.10.15"; // 替换为你的IP地址 + int port = 116444; // 超时时间,单位毫秒 + boolean reachable = isHostReachable(ip, port); + System.out.println("Host at IP " + ip + " is " + (reachable ? "reachable" : "not reachable")); + } + +} diff --git a/casic-job/src/main/java/com/casic/missiles/job/handler/CheckingJob.java b/casic-job/src/main/java/com/casic/missiles/job/handler/CheckingJob.java index f847fdf..863b091 100644 --- a/casic-job/src/main/java/com/casic/missiles/job/handler/CheckingJob.java +++ b/casic-job/src/main/java/com/casic/missiles/job/handler/CheckingJob.java @@ -9,6 +9,7 @@ import com.casic.missiles.modular.device.service.IBusGridService; import com.casic.missiles.modular.device.service.IBusLedgerService; import com.casic.missiles.modular.device.service.ICtUserService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import lombok.RequiredArgsConstructor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -38,6 +39,7 @@ private final IBusLedgerService iBusLedgerService; private final ICtUserService iCtUserService; private final IBusGridService iBusGridService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.enabled}") public void setEnabled(boolean enabled) { @@ -53,11 +55,7 @@ if (!enabled) { return; } - try { - iAlarmRecordsService.processOffline(); - } catch (Exception ex) { - logger.error(ex.getMessage(), ex); - } + iAlarmRecordsService.processOffline(); } @@ -104,11 +102,25 @@ iCtUserService.synAllUsers(); //同步网格 iBusGridService.synAllGrids(); + + //同步任务监控日志 + iMonitorLogService.saveMonitorLog("synchronous","1","部门、台账、用户同步任务","1"); } catch (Exception ex) { + //同步任务异常监控日志 + iMonitorLogService.saveMonitorLog("synchronous","0","部门、台账、用户同步任务","1"); logger.error(ex.getMessage(), ex); } } + @Scheduled(cron = "0 0 2 * * ?") + public void checkServer() { + logger.info("开始执行服务监控"); + if (!enabled) { + return; + } + iMonitorLogService.checkServer(); + } + // TaskScheduler taskScheduler = SpringContextUtil.getApplicationContext().getBean(TaskScheduler.class); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java index 2aead9a..0b6b360 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -65,7 +65,7 @@ //策略配置 .strategyConfig(builder -> { - builder.addInclude("data_gas_other") // 设置需要生成的表名 + builder.addInclude("bus_imei_iccid") // 设置需要生成的表名 .addTablePrefix() // 设置过滤表前缀 .entityBuilder() //实体类配置 .enableLombok() //使用lombok diff --git a/casic-web/src/main/resources/config/application-dev.yml b/casic-web/src/main/resources/config/application-dev.yml index dc535ea..e9fcd51 100644 --- a/casic-web/src/main/resources/config/application-dev.yml +++ b/casic-web/src/main/resources/config/application-dev.yml @@ -32,7 +32,7 @@ brPanControlUrl: http://172.17.240.116:9092/HK/controCearm brPanVideoUrl: http://172.17.240.116:9092/HK/getPlayBackUrl brPanRealVideoUrl: http://172.17.240.116:9092/HK/getUrl - brSendConfigUrl: http://172.17.112.21:4011 + brSendConfigUrl: http://111.198.10.15:11642 enabled: true smartcity: config: diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 5595be7..4d53779 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -341,6 +341,7 @@ ay.ALARM_TYPE, ay.ALARM_CATEGORY, ac.ALARM_LEVEL as alarmLevelName, + bm.NAME AS manufactureName, TIMESTAMPDIFF(MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME) as cancelDuration FROM alarm_records rd @@ -349,6 +350,8 @@ LEFT JOIN bus_ledger_all_view lr ON rd.LEDGER_CODE = lr.ledgerCode and rd.LEDGER_NUMBER=lr.tagNumber LEFT JOIN alarm_type ay ON ay.id = rd.ALARM_TYPE_ID LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL + left JOIN base_product bpt on bpt.ID = bd.PRODUCT_ID + LEFT JOIN bus_manufacturer bm on bm.ID = bpt.MANUFACTURER_ID where rd.id=#{id} limit 1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java index 308fa32..3ea8fc9 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDetailDTO.java @@ -120,4 +120,6 @@ @ApiModelProperty("监测对象id") private String watchObject; + private String manufactureName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 45f621c..d5da07e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -29,6 +29,7 @@ import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.modular.device.service.IBusLedgerPipeService; import com.casic.missiles.modular.device.service.IBusLedgerService; +import com.casic.missiles.modular.device.service.IMonitorLogService; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.server.CommonServer; @@ -71,6 +72,7 @@ private final IBusLedgerService iBusLedgerService; private final IBusLedgerPipeService iBusLedgerPipeService; private final IAlarmEventProductService iAlarmEventProductService; + private final IMonitorLogService iMonitorLogService; @Value("${casic.brAppUrl}") private String brAppUrl; @@ -860,49 +862,57 @@ @Transactional @Override public void processOffline() { - //注意:报警类型一律为“OffLine” - List offDeviceDTOList = this.baseMapper.getOfflineDevices(); - List alarmRecordsList = new ArrayList<>(); - List ledgers = new ArrayList<>(); - for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { - if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) - continue; - } else { - //默认7天 - if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) - continue; + try { + //注意:报警类型一律为“OffLine” + List offDeviceDTOList = this.baseMapper.getOfflineDevices(); + List alarmRecordsList = new ArrayList<>(); + List ledgers = new ArrayList<>(); + for (OffDeviceDTO offDeviceDTO : offDeviceDTOList) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getLogtime())) { + if (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays())) { + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < offDeviceDTO.getOffDays()) + continue; + } else { + //默认7天 + if (DateUtil.between(offDeviceDTO.getLogtime(), new Date(), DAY, false) < 7) + continue; + } } - } - AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), - offDeviceDTO.getLedgerCode(), - offDeviceDTO.getTagNumber(), - offDeviceDTO.getAlarmTypeId(), + AlarmRecords alarmRecords = new AlarmRecords(offDeviceDTO.getDevcode(), + offDeviceDTO.getLedgerCode(), + offDeviceDTO.getTagNumber(), + offDeviceDTO.getAlarmTypeId(), // offDeviceDTO.getAlarmTypeName(), - "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", - offDeviceDTO.getAlarmLevelId(), - new Date(), - offDeviceDTO.getAlarmThreshold(), - offDeviceDTO.getPlace(), "1"); - alarmRecordsList.add(alarmRecords); - ledgers.add(offDeviceDTO); - } - if (alarmRecordsList.size() > 0) { - this.saveBatch(alarmRecordsList); + "离线超" + (ObjectUtil.isNotEmpty(offDeviceDTO.getOffDays()) ? offDeviceDTO.getOffDays() : "7") + "天", + offDeviceDTO.getAlarmLevelId(), + new Date(), + offDeviceDTO.getAlarmThreshold(), + offDeviceDTO.getPlace(), "1"); + alarmRecordsList.add(alarmRecords); + ledgers.add(offDeviceDTO); + } + if (alarmRecordsList.size() > 0) { + this.saveBatch(alarmRecordsList); - //更新设备表状态 - List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); - iBusDeviceService.updateBusDeviceStatus(devcodeStrs); - //更新点位表 - List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); - if (ledgerCodes != null && ledgerCodes.size() > 0) - iBusLedgerService.updateLedgerStatus(ledgerCodes); - List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); - if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) - iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); - //toDo:需添加离线分析记录 + //更新设备表状态 + List devcodeStrs = alarmRecordsList.stream().map(AlarmRecords::getDevcode).distinct().collect(Collectors.toList()); + iBusDeviceService.updateBusDeviceStatus(devcodeStrs); + //更新点位表 + List ledgerCodes = ledgers.stream().filter(offDeviceDTO -> "1".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getLedgerCode).distinct().collect(Collectors.toList()); + if (ledgerCodes != null && ledgerCodes.size() > 0) + iBusLedgerService.updateLedgerStatus(ledgerCodes); + List ledgerPipeCodes = ledgers.stream().filter(offDeviceDTO -> "3".equals(offDeviceDTO.getType())).map(OffDeviceDTO::getTagNumber).distinct().collect(Collectors.toList()); + if (ledgerPipeCodes != null && ledgerPipeCodes.size() > 0) + iBusLedgerPipeService.updateMonitorStatus(ledgerPipeCodes); + //加入监控日志 + //toDo:需添加离线分析记录 + } + iMonitorLogService.saveMonitorLog("offline", "1", "离线任务判断", "1"); + } catch (Exception e) { + //添加监控异常日志 + iMonitorLogService.saveMonitorLog("offline", "0", "离线任务判断", "1"); + e.printStackTrace(); } } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java index 4c660e9..a3e45c4 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasOtherServiceImpl.java @@ -18,7 +18,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,8 +67,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { - if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGGasOtherConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index ede18a5..c2d9c30 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -49,6 +51,8 @@ private final IAlarmRecordsService alarmRecordsService; private final IAlarmRuleService alarmRuleService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -67,7 +71,7 @@ try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -78,7 +82,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java index b33a1ee..d58fdf1 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasliquidGasServiceImpl.java @@ -15,7 +15,9 @@ import com.casic.missiles.modular.data.entity.DataGasliquidGas; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasliquidGasService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -53,6 +55,8 @@ private final IAlarmRuleService alarmRuleService; private final DataGasMapper dataGasMapper; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -70,8 +74,8 @@ } else if (mType[2].equals(json.get("mType"))) {//更新下发参数状态 try { if (DeviceTypeEnum.Methane.name().equals(json.get("devType"))) { - if ("MethaneConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + if ("LGConfigSuccess".equals(jsonObject.get("bType"))) { + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -82,7 +86,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 6297093..e51c968 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +50,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -64,7 +68,7 @@ try { if (DeviceTypeEnum.MonitorPipeOther.name().equals(json.get("devType"))) { if ("MonitorPipeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -75,7 +79,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6e80323..c58dc5f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -17,7 +17,9 @@ import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import com.casic.missiles.modular.data.service.ITrackLogService; +import com.casic.missiles.modular.device.service.IBusConfigService; import com.casic.missiles.modular.device.service.IBusDeviceService; +import com.casic.missiles.modular.device.service.IBusImeiIccidService; import com.casic.missiles.util.CommonUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -47,6 +49,8 @@ private final IAlarmRuleService alarmRuleService; private final ITrackLogService iTrackLogService; private final IBusDeviceService busDeviceService; + private final IBusConfigService busConfigService; + private final IBusImeiIccidService imeiManager; @Override public void process(String dataContent) { @@ -63,7 +67,7 @@ try { if (DeviceTypeEnum.TubeOther.name().equals(json.get("devType"))) { if ("TubeOtherConfigSuccess".equals(jsonObject.get("bType"))) { -// deviceConfigManager.updateStatus(devCode); + busConfigService.updateStatus(devCode); } } } catch (Exception e) { @@ -74,7 +78,7 @@ try { String imei = jsonObject.get("imei").toString(); String iccid = jsonObject.get("iccid").toString(); -// imeiManager.saveData(devCode, imei, iccid); + imeiManager.saveData(devCode, imei, iccid); } catch (Exception e) { e.printStackTrace(); log.error("--------ERROR:设备编号:" + devCode + ",更新参数下发状态失败-------"); diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index bbf7253..c2f5762 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis" + prefix = "casic.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java index f0d6c3d..f3918bc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusConfigController.java @@ -51,8 +51,7 @@ @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusConfigDTO busConfigTO) { - - return ReturnUtil.success(iBusConfigService.saveConfig(busConfigTO)); + return iBusConfigService.saveConfig(busConfigTO)?ReturnUtil.success():ReturnUtil.failed("配置失败"); } // @ApiOperation("编辑") diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 2288075..4d74341 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.base.service.IBaseExportService; +import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.IdsDTO; @@ -16,10 +17,12 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dict.BusConfigDict; +import com.casic.missiles.modular.device.dict.DeviceDict; import com.casic.missiles.modular.device.dto.*; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; -import com.casic.missiles.modular.log.AopLog; +import com.casic.missiles.modular.interfaces.dictmap.RoleDict; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -30,8 +33,9 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; /** *

@@ -60,17 +64,17 @@ return ReturnUtil.success(super.packForBT(iBusDeviceService.listPage(page, request))); } - @AopLog(description="新增设备",operateType = "新增") + + @BussinessLog(value = "新增设备", key = "devcode,deviceName,deviceType,installDate,productId", dict = DeviceDict.class) + @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("新增") @PostMapping("/add") @ResponseBody public ReturnDTO add(@RequestBody BusDevice busDevice) { - return ReturnUtil.success(iBusDeviceService.saveDevice(busDevice)); } - @CacheEvict(value="busLedgersCache", key="#busDevice.getDevcode()") @ApiOperation("编辑") @PostMapping("/edit") @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java new file mode 100644 index 0000000..bc41aa6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/MonitorLogController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.device.controller; + + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.MonitorLogDTO; +import com.casic.missiles.modular.device.entity.MonitorLog; +import com.casic.missiles.modular.device.service.IMonitorLogService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 协议管理 前端控制器 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Api(tags = "系统监控模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/monitorLog") +public class MonitorLogController extends ExportController { + + private final IMonitorLogService iMonitorLogService; + + @ApiOperation("查询分页接口") + @PostMapping("/listPage") + @ResponseBody + public ReturnDTO listPage(@RequestBody MonitorLogDTO request) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(ObjectUtil.isNotEmpty(request.getServerType()),"SERVER_TYPE", request.getServerType()); + queryWrapper.orderByDesc("TS"); + return ReturnUtil.success(super.packForBT(iMonitorLogService.page(page, queryWrapper))); + } + +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java new file mode 100644 index 0000000..0d29f16 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/MonitorLogMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.device.entity.MonitorLog; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 协议管理 Mapper 接口 + *

+ * + * @author zt + * @since 2025-02-11 + */ +@Mapper +public interface MonitorLogMapper extends BaseMapper { + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index c6d1fff..12ff233 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -75,6 +75,7 @@
and bd.CELL #{request.cell} + and bd.CELL > 0 and bd.LOGTIME = ]]> #{request.logTime1} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml index 0d71987..93d1973 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusStationMonitorMapper.xml @@ -63,7 +63,12 @@