diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/fwd/ForwardGnssTask.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/fwd/ForwardGnssTask.java index 3a0e496f..c765cd2c 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/fwd/ForwardGnssTask.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/fwd/ForwardGnssTask.java @@ -45,9 +45,18 @@ public class ForwardGnssTask { */ @Scheduled(cron = "0 0/30 * * * ?") // 每30分钟执行一次 private void forwardGnss() { + // 1.按项目检索最近半小时的解算结果记录,推送Enable为true的记录 + // 2.如果某终端最近半小时没有数据,则记录本次时间为待补传时间 forwardGnssToXFZ(1); } + @Scheduled(cron = "0 0/30 * * * ?") // 每30分钟执行一次 + private void forwardHistoryGnss() { + // 1.从转发记录表里检索待补传记录时间表,含设备Id,时间段 + // 2.检索这个这个时间段的解算结果,如果有数据则单个终端转发,标志记录为已补传 + //forwardGnssToXFZ(1); + } + private void forwardGnssToXFZ(int tenantId) { LocalDateTime nowTime = LocalDateTime.now(); ConcurrentHashMap> projects = new ConcurrentHashMap<>(); @@ -69,6 +78,7 @@ public class ForwardGnssTask { QueryWrapper gnssQueryWrapper = new QueryWrapper<>(); gnssQueryWrapper.eq("deviceid",device.getDeviceid()); gnssQueryWrapper.orderByDesc("createtime"); + gnssQueryWrapper.last("limit 1"); GnssCalcData record = gnssDataMapper.selectOne(gnssQueryWrapper); if(record != null && record.getEnabled()){ if(nowTime.isBefore(record.getCreatetime().plusMinutes(40))) {