From ddd4872e32754497a3d8ab751f2dff23426d5dda Mon Sep 17 00:00:00 2001 From: weidong Date: Sat, 7 Sep 2024 15:44:51 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=812412254=E9=AB=98=E7=A8=8B=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/AbnormalDeviceProcessor.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/task/AbnormalDeviceProcessor.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/task/AbnormalDeviceProcessor.java index 9d55f0f9..bf065db4 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/task/AbnormalDeviceProcessor.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/task/AbnormalDeviceProcessor.java @@ -55,6 +55,7 @@ public class AbnormalDeviceProcessor{ private void checkDevice() { logger.info("zny checkDevice"); checkNoDataDevice("2345080","2345068","2410190"); + checkNotGoodDevice("2412254","2412272"); //checkNoDataDevice("2345084","2415276","2345076"); //checkNoDataDevice("2345085","2345068","2345075"); } @@ -142,4 +143,28 @@ public class AbnormalDeviceProcessor{ } } + List getLastTwo(String deviceId){ + LocalDateTime now = LocalDateTime.now(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("deviceid",deviceId); + queryWrapper.eq("enabled",true); + queryWrapper.isNotNull("rpose"); + queryWrapper.ge("createtime",now.minusHours(24)); + queryWrapper.orderByDesc("createtime"); + queryWrapper.last("limit 2"); + + return gnssDataMapper.selectList(queryWrapper); + } + + void checkNotGoodDevice(String deviceId, String refDeviceId1){ + List calcDataList = getLastTwo(deviceId); + List calcDataList1 = getLastTwo(refDeviceId1); + if(calcDataList.size() == 2 && calcDataList1.size()==2){ + double deltaU = calcDataList1.get(0).getRposd() - calcDataList1.get(1).getRposd(); + GnssCalcData calcData = calcDataList.get(0); + calcData.setRposd(calcDataList.get(1).getRposd()+deltaU); + gnssDataMapper.updateById(calcData); + } + } + }