diff --git a/sec-api/src/main/java/com/imdroid/secapi/dto/GnssStatus.java b/sec-api/src/main/java/com/imdroid/secapi/dto/GnssStatus.java index baa50b8a..de278de8 100644 --- a/sec-api/src/main/java/com/imdroid/secapi/dto/GnssStatus.java +++ b/sec-api/src/main/java/com/imdroid/secapi/dto/GnssStatus.java @@ -36,7 +36,6 @@ public class GnssStatus { Integer voltage; Float temperature; Float humidity; - Integer satelliteinview; Integer satelliteinuse; // 这里的收发都是服务端统计的,终端收发详细统计在msg_trx表里 Integer txbytes; diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D331RtcmMessageExecutor.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D331RtcmMessageExecutor.java index fdd5e9e2..29251364 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D331RtcmMessageExecutor.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D331RtcmMessageExecutor.java @@ -57,6 +57,7 @@ public class D331RtcmMessageExecutor implements Executor } Gga gga = message.getGga(); if(gga != null) { + device1.updateSatelitesNum(gga.getSatellitesInUsed()); logger.info(message.getId()+ " lat: "+gga.getLatitude()+ " lon:"+gga.getLongitude()+ diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D341LocationMessageExecutor.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D341LocationMessageExecutor.java index be13142a..50f74a6d 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D341LocationMessageExecutor.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D341LocationMessageExecutor.java @@ -1,5 +1,6 @@ package com.imdroid.sideslope.executor; +import com.imdroid.sideslope.bd.Gga; import com.imdroid.sideslope.calc.GNSSDataCalcService; import com.imdroid.sideslope.message.D341LocationMessage; import com.imdroid.sideslope.sal.Device; @@ -36,6 +37,10 @@ public class D341LocationMessageExecutor implements Executor { gnssCalcService.calcSingle(message,true); diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D3F2StopIndicationMessageExecutor.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D3F2StopIndicationMessageExecutor.java index 67f44e89..dd3cfd2c 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D3F2StopIndicationMessageExecutor.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D3F2StopIndicationMessageExecutor.java @@ -56,7 +56,8 @@ public class D3F2StopIndicationMessageExecutor implements Executor { LocalDateTime uploadTime = multiLineGNSSCalcService.checkUploadTime( device.getDeviceId(), device.getTenantId()); - dataPersistService.saveDeviceTrxStat(message, (uploadTime!=null)); + dataPersistService.saveDeviceTrxStat(message, (uploadTime!=null), device.getSatelitesInUse()); + device.setSatelitesInUse(0); // 通知beidou服务设备休眠 beidouClient.onDeviceStop(deviceId,device.getTenantId()); if(uploadTime!=null){ diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/sal/Device.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/sal/Device.java index 86b3b1f1..8e6470e6 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/sal/Device.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/sal/Device.java @@ -39,6 +39,7 @@ public class Device { int d3xxbytes = 0; int d341Count = 0; int d341bytes = 0; + int satelitesInUse = 0; public void updateD331Bytes(int bytes){ d3xxCount++; @@ -50,6 +51,10 @@ public class Device { d341bytes += bytes; } + public void updateSatelitesNum(int num){ + satelitesInUse = num; + } + public void clearStat(){ d3xxCount = 0; d3xxbytes = 0; diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/service/DataPersistService.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/service/DataPersistService.java index 96b2e39e..0b9171fe 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/service/DataPersistService.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/service/DataPersistService.java @@ -18,6 +18,6 @@ public interface DataPersistService { void updateDeviceState(GnssStatus gnssStatus); void saveDeviceState(D3F0SelfCheckMessage d3F0SelfCheckMessage); - void saveDeviceTrxStat(D3F2StopIndicationMessage d3F2StopIndicationMessage,boolean isUploading); + void saveDeviceTrxStat(D3F2StopIndicationMessage d3F2StopIndicationMessage,boolean isUploading,int satelitesNum); } diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/service/DataPersistServiceImpl.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/service/DataPersistServiceImpl.java index fdd87dea..bc8803a8 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/service/DataPersistServiceImpl.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/service/DataPersistServiceImpl.java @@ -86,7 +86,7 @@ public class DataPersistServiceImpl implements DataPersistService { } @Override - public void saveDeviceTrxStat(D3F2StopIndicationMessage message, boolean isUploading) { + public void saveDeviceTrxStat(D3F2StopIndicationMessage message, boolean isUploading,int satelitesNum) { try { // 添加到trxmsg里 GnssTrxMsg trxMsg = message.getTrxMsg(); @@ -104,6 +104,7 @@ public class DataPersistServiceImpl implements DataPersistService { deviceState.setRxbytes(rxbytes);*/ deviceState.setD3xxbytes(trxMsg.getD3xxbytes()); deviceState.setB562bytes(trxMsg.getB562bytes()); + deviceState.setSatelliteinuse(satelitesNum); deviceState.setState(isUploading?GnssStatus.STATE_UPLOADING:GnssStatus.STATE_IDLE); deviceStateRepository.updateById(deviceState); } diff --git a/sec-beidou/src/main/resources/db/schema.sql b/sec-beidou/src/main/resources/db/schema.sql index ab321d4a..75b80782 100644 --- a/sec-beidou/src/main/resources/db/schema.sql +++ b/sec-beidou/src/main/resources/db/schema.sql @@ -111,7 +111,6 @@ CREATE TABLE IF NOT EXISTS `gnssstatus` ( `voltage` int DEFAULT 0, `temperature` float DEFAULT 0, `humidity` float DEFAULT 0, - `satelliteinview` float DEFAULT 0, `satelliteinuse` float DEFAULT 0, `txbytes` int DEFAULT 0, `rxbytes` int DEFAULT 0, diff --git a/sec-beidou/src/main/resources/templates/page/gnss_status.html b/sec-beidou/src/main/resources/templates/page/gnss_status.html index f5b9bb4a..bb4d66d2 100644 --- a/sec-beidou/src/main/resources/templates/page/gnss_status.html +++ b/sec-beidou/src/main/resources/templates/page/gnss_status.html @@ -107,6 +107,7 @@ {field: 'temperature', title: '温度'}, {field: 'humidity', title: '湿度'}, {field: 'rssi', title: '信号'}, + {field: 'satelliteinuse', title: '使用卫星数'}, {title: '操作', toolbar: '#currentTableBar', align: "center"} ]], limits: [10, 15, 20, 25, 50, 100],