1、中南院数据修复
This commit is contained in:
parent
64155d8293
commit
552338e082
@ -33,6 +33,8 @@ public class Forwarder {
|
||||
private FwdRecordMapper fwdRecordsMapper;
|
||||
@Autowired
|
||||
private ResendRecordMapper resendRecordMapper;
|
||||
@Autowired
|
||||
private GnssStatusMapper gnssStatusMapper;
|
||||
|
||||
@Autowired
|
||||
GnssGroupFwdMapper fwdMapper;
|
||||
@ -244,4 +246,47 @@ public class Forwarder {
|
||||
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分钟执行一次
|
||||
private void forwardGnss() {
|
||||
logger.info("zny forwardGnss");
|
||||
checkOfflineDevice();
|
||||
forwardCurrentGnss();
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user