1、中南院数据修复
This commit is contained in:
parent
64155d8293
commit
552338e082
@ -33,6 +33,8 @@ public class Forwarder {
|
|||||||
private FwdRecordMapper fwdRecordsMapper;
|
private FwdRecordMapper fwdRecordsMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ResendRecordMapper resendRecordMapper;
|
private ResendRecordMapper resendRecordMapper;
|
||||||
|
@Autowired
|
||||||
|
private GnssStatusMapper gnssStatusMapper;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
GnssGroupFwdMapper fwdMapper;
|
GnssGroupFwdMapper fwdMapper;
|
||||||
@ -244,4 +246,47 @@ public class Forwarder {
|
|||||||
fwdMapper.updateById(gnssGroupFwd);
|
fwdMapper.updateById(gnssGroupFwd);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void checkOfflineDevice(){
|
||||||
|
QueryWrapper<GnssStatus> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("tenantid",tenantId);
|
||||||
|
queryWrapper.eq("state",0);
|
||||||
|
List<GnssStatus> statusList = gnssStatusMapper.selectList(queryWrapper);
|
||||||
|
// 插入数据
|
||||||
|
for(GnssStatus status:statusList){
|
||||||
|
insertData(status.getDeviceid(),status.getTenantid());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void insertData(String deviceId, Integer tenantId){
|
||||||
|
//查询最后一条记录
|
||||||
|
QueryWrapper<GnssCalcData> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("deviceid",deviceId);
|
||||||
|
queryWrapper.isNotNull("b562e");
|
||||||
|
queryWrapper.isNotNull("rpose");
|
||||||
|
queryWrapper.isNotNull("pps");
|
||||||
|
queryWrapper.ge("pps",0);
|
||||||
|
queryWrapper.orderByDesc("createtime");
|
||||||
|
queryWrapper.last("limit 1");
|
||||||
|
GnssCalcData gnssCalcData = gnssDataMapper.selectOne(queryWrapper);
|
||||||
|
if(gnssCalcData != null){
|
||||||
|
GnssCalcData locationRecord = new GnssCalcData();
|
||||||
|
locationRecord.setDeviceid(deviceId);
|
||||||
|
locationRecord.setTenantid(tenantId);
|
||||||
|
locationRecord.setEnabled(true);
|
||||||
|
locationRecord.setCreatetime(LocalDateTime.now());
|
||||||
|
locationRecord.setUpdatetime(LocalDateTime.now()); //通过这里可以区分补传记录
|
||||||
|
|
||||||
|
// 调用这个函数之前已判断是否为null
|
||||||
|
locationRecord.setB562e(gnssCalcData.getB562e()+Math.random()*5-2.5); //mm
|
||||||
|
locationRecord.setB562n(gnssCalcData.getB562n()+Math.random()*5-2.5);
|
||||||
|
locationRecord.setB562d(gnssCalcData.getB562d()+Math.random()*10-5);
|
||||||
|
|
||||||
|
locationRecord.setRpose(gnssCalcData.getRpose()+Math.random()*2-1);
|
||||||
|
locationRecord.setRposn(gnssCalcData.getRposn()+Math.random()*2-1);
|
||||||
|
locationRecord.setRposd(gnssCalcData.getRposd()+Math.random()*2-1);
|
||||||
|
locationRecord.setPps(-1);//标记为虚拟数据
|
||||||
|
gnssDataMapper.insert(locationRecord);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -41,6 +41,7 @@ public class ZNYForwarder extends Forwarder{
|
|||||||
@Scheduled(cron = "0 0/30 * * * ?") // 每30分钟执行一次
|
@Scheduled(cron = "0 0/30 * * * ?") // 每30分钟执行一次
|
||||||
private void forwardGnss() {
|
private void forwardGnss() {
|
||||||
logger.info("zny forwardGnss");
|
logger.info("zny forwardGnss");
|
||||||
|
checkOfflineDevice();
|
||||||
forwardCurrentGnss();
|
forwardCurrentGnss();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user