diff --git a/zc-business/src/main/java/com/zc/business/domain/DcDevice.java b/zc-business/src/main/java/com/zc/business/domain/DcDevice.java index 9976584f..8d45cdd3 100644 --- a/zc-business/src/main/java/com/zc/business/domain/DcDevice.java +++ b/zc-business/src/main/java/com/zc/business/domain/DcDevice.java @@ -29,9 +29,11 @@ public class DcDevice { public static final String OFFLINE = "0"; // 在线状态 public static final String ONLINE = "1"; - + @ApiModelProperty("设备名称") + @Excel(name = "设备名称") + private String deviceName; @ApiModelProperty("ID") - @Excel(name = "设备ID") + //@Excel(name = "设备ID") @TableId(value = "id", type = IdType.AUTO) private Long id; @ApiModelProperty("物联设备ID") @@ -41,7 +43,7 @@ public class DcDevice { //@Excel(name = "所属机构") private Long groupId; @ApiModelProperty("产品ID") - @Excel(name = "产品ID") + //@Excel(name = "产品ID") private Long productId; @ApiModelProperty("桩号") @Excel(name = "桩号") @@ -49,9 +51,6 @@ public class DcDevice { @ApiModelProperty("方向1-上行(菏泽方向),2-中,3-下行(济南方向)") @Excel(name = "方向", readConverterExp = "1=菏泽方向,3=济南方向") private String direction; - @ApiModelProperty("设备名称") - @Excel(name = "设备名称") - private String deviceName; @ApiModelProperty("设备编号") @Excel(name = "设备编号") private String deviceCode; diff --git a/zc-business/src/main/java/com/zc/business/service/impl/DcEventServiceImpl.java b/zc-business/src/main/java/com/zc/business/service/impl/DcEventServiceImpl.java index 970b6fdd..b6a56db2 100644 --- a/zc-business/src/main/java/com/zc/business/service/impl/DcEventServiceImpl.java +++ b/zc-business/src/main/java/com/zc/business/service/impl/DcEventServiceImpl.java @@ -447,7 +447,7 @@ public class DcEventServiceImpl extends ServiceImpl impl //交通管制 if (eventType == UniversalEnum.THREE.getNumber() && dcEvent.getDcEventTrafficControl().getFacilityIds()[i] != null) { String facilityId = String.valueOf(dcEvent.getDcEventTrafficControl().getFacilityIds()[i]); - // dcEvent.setStakeMark(extracted(facilityId)); + dcEvent.setStakeMark(extracted(facilityId)); } dcEvent.setOccurrenceTime(DateUtils.getNowDate());//默认发生时间 dcEventMapper.insertDcEvent(dcEvent); @@ -522,7 +522,7 @@ public class DcEventServiceImpl extends ServiceImpl impl //交通管制 if (eventType == UniversalEnum.THREE.getNumber() && dcEvent.getDcEventTrafficControl().getFacilityIds()[i] != null) { String facilityId = String.valueOf(dcEvent.getDcEventTrafficControl().getFacilityIds()[i]); - // dcEvent.setStakeMark(extracted(facilityId)); + dcEvent.setStakeMark(extracted(facilityId)); } dcEvent.setOccurrenceTime(DateUtils.getNowDate());//默认发生时间 @@ -938,14 +938,45 @@ public class DcEventServiceImpl extends ServiceImpl impl @Override public int updateDcEvent(DcEvent dcEvent) { -/* - //事件类型校验 - for (EventTypeEnum value : EventTypeEnum.values()) { - if (dcEvent.getEventType().toString().equals(value.getInfo())){ - dcEvent.setEventType(Long.valueOf(value.getCode())); - } + //获取事件类型 + int eventType = Math.toIntExact(dcEvent.getEventType()); + + //处理无桩号事件 + //交通事故 + if (eventType == UniversalEnum.ONE.getNumber() && dcEvent.getDcEventAccident().getFacilityId() != null) { + String facilityId = String.valueOf(dcEvent.getDcEventAccident().getFacilityId()); + dcEvent.setStakeMark(extracted(facilityId)); + } + //车辆事故 + if (eventType == UniversalEnum.TWO.getNumber() && dcEvent.getDcEventVehicleAccident().getFacilityId() != null) { + String facilityId = String.valueOf(dcEvent.getDcEventVehicleAccident().getFacilityId()); + dcEvent.setStakeMark(extracted(facilityId)); + } + //交通管制 + if (eventType == UniversalEnum.THREE.getNumber() && dcEvent.getDcEventTrafficControl().getFacilityIds() != null) { + String facilityId = String.valueOf(dcEvent.getDcEventTrafficControl().getFacilityIds()[UniversalEnum.ZERO.getNumber()]); + dcEvent.setStakeMark(extracted(facilityId)); + } + if (eventType == UniversalEnum.THREE.getNumber() && dcEvent.getDcEventTrafficControl().getFacilityId() != null && dcEvent.getDcEventTrafficControl().getFacilityId() > 0) { + String facilityId = String.valueOf(dcEvent.getDcEventTrafficControl().getFacilityId()); + dcEvent.setStakeMark(extracted(facilityId)); + } + //交通拥堵 + if (eventType == UniversalEnum.FOUR.getNumber() && dcEvent.getDcEventTrafficCongestion().getFacilityId() != null) { + String facilityId = String.valueOf(dcEvent.getDcEventTrafficCongestion().getFacilityId()); + dcEvent.setStakeMark(extracted(facilityId)); + } + + //施工建设 + if (eventType == UniversalEnum.SEVEN.getNumber() && dcEvent.getDcEventConstruction().getFacilityId() != null) { + String facilityId = String.valueOf(dcEvent.getDcEventConstruction().getFacilityId()); + dcEvent.setStakeMark(extracted(facilityId)); + } + //服务区异常 + if (eventType == UniversalEnum.EIGHT.getNumber() && dcEvent.getDcEventServiceArea().getFacilityId() != null) { + String facilityId = String.valueOf(dcEvent.getDcEventServiceArea().getFacilityId()); + dcEvent.setStakeMark(extracted(facilityId)); } -*/ //桩号校验 if (!com.ruoyi.common.utils.StakeMarkUtils.checkStakeMark(dcEvent.getStakeMark())) { return UniversalEnum.MINUS_ONE.getNumber(); @@ -997,7 +1028,6 @@ public class DcEventServiceImpl extends ServiceImpl impl MdEvent mdEvent = new MdEvent(dcEvent); middleDatabaseService.updateMiddleDatabaseEvent(mdEvent); - int eventType = Math.toIntExact(dcEvent.getEventType()); switch (eventType) { //交通事故 case 1: diff --git a/zc-business/src/main/java/com/zc/business/statistics/handler/TrafficGantryMetricsStatistics.java b/zc-business/src/main/java/com/zc/business/statistics/handler/TrafficGantryMetricsStatistics.java index 35a6a2ab..67fa8865 100644 --- a/zc-business/src/main/java/com/zc/business/statistics/handler/TrafficGantryMetricsStatistics.java +++ b/zc-business/src/main/java/com/zc/business/statistics/handler/TrafficGantryMetricsStatistics.java @@ -45,7 +45,7 @@ public class TrafficGantryMetricsStatistics { /** - * 定义每小时第20分钟执行的任务,用于清除过期缓存数据并将缓存中的数据整合后保存至数据库。 + * 定义每小时第30分钟执行的任务,用于清除过期缓存数据并将缓存中的数据整合后保存至数据库。 */ @Scheduled(cron = "0 30 * * * ?") // 每小时的30分整点执行该任务 public void performHourlyCleanupAndPersist() { @@ -96,7 +96,6 @@ public class TrafficGantryMetricsStatistics { // 添加日门架指标数据到缓存中 lastHourData.forEach(DailyGantryMetricsStatisticsCache::addCacheData); // 添加三日门架指标数据到缓存中 - // threeDays.forEach(DailyGantryMetricsStatisticsCache::addCacheData); // 清除已过期的缓存数据 DailyGantryMetricsStatisticsCache.clearExpiredData();