Browse Source

Merge remote-tracking branch 'origin/develop' into develop

develop
wangsixiang 6 months ago
parent
commit
f9a121a3b3
  1. 11
      zc-business/src/main/java/com/zc/business/domain/DcDevice.java
  2. 50
      zc-business/src/main/java/com/zc/business/service/impl/DcEventServiceImpl.java
  3. 3
      zc-business/src/main/java/com/zc/business/statistics/handler/TrafficGantryMetricsStatistics.java

11
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;

50
zc-business/src/main/java/com/zc/business/service/impl/DcEventServiceImpl.java

@ -447,7 +447,7 @@ public class DcEventServiceImpl extends ServiceImpl<DcEventMapper, DcEvent> 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<DcEventMapper, DcEvent> 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<DcEventMapper, DcEvent> 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<DcEventMapper, DcEvent> impl
MdEvent mdEvent = new MdEvent(dcEvent);
middleDatabaseService.updateMiddleDatabaseEvent(mdEvent);
int eventType = Math.toIntExact(dcEvent.getEventType());
switch (eventType) {
//交通事故
case 1:

3
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();

Loading…
Cancel
Save