diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/service/WarningServiceImpl.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/service/WarningServiceImpl.java index 6453ff72..05e85d3a 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/service/WarningServiceImpl.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/service/WarningServiceImpl.java @@ -1,6 +1,7 @@ package com.imdroid.sideslope.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.imdroid.common.util.NumberUtils; import com.imdroid.secapi.dto.*; import com.imdroid.sideslope.sal.Device; import org.springframework.beans.factory.annotation.Autowired; @@ -57,7 +58,8 @@ public class WarningServiceImpl implements WarningService { // b562少 if(check(status, WarningCfg.TYPE_LESS_B562, WarningCfg.TYPE_NAME_LESS_B562,true, - numB562Stat[0],null)) isUpdated=true; + numB562Stat[0],null, + "固定解:"+numB562Stat[0]+",浮点解:"+numB562Stat[1]+",全零:"+numB562Stat[2])) isUpdated=true; //连续无b562 if(0 == numB562Stat[0]){ @@ -66,7 +68,7 @@ public class WarningServiceImpl implements WarningService { status.setNoreslutcount(count); if(check(status, WarningCfg.TYPE_NO_FIXED_RESULT, WarningCfg.TYPE_NAME_NO_FIXED_RESULT, false, - count, null)) isUpdated=true; + count, null,null)) isUpdated=true; } else if(isUpdated){ //b562有告警标志 status.setNoreslutcount(0); @@ -97,20 +99,22 @@ public class WarningServiceImpl implements WarningService { if(statusMsg.getVoltage()!=null) { if(check(curStatus, WarningCfg.TYPE_LOW_VOLTAGE, WarningCfg.TYPE_NAME_LOW_VOLTAGE,true, - statusMsg.getVoltage(), null)) isUpdated=true; + statusMsg.getVoltage(), null,null)) isUpdated=true; } //低RSSI if(statusMsg.getRssi()!=null) { if(check(curStatus, WarningCfg.TYPE_LOW_RSSI, WarningCfg.TYPE_NAME_LOW_RSSI,true, - statusMsg.getRssi().intValue(), null)) isUpdated=true; + statusMsg.getRssi().intValue(), null,null)) isUpdated=true; } //倾角异常告警 if(statusMsg.getPitch()!=null) { if(check(curStatus, WarningCfg.TYPE_INCLINE, WarningCfg.TYPE_NAME_INCLINE,false, Math.abs(statusMsg.getPitch().intValue()), - Math.abs(statusMsg.getRoll().intValue()))) isUpdated=true; + Math.abs(statusMsg.getRoll().intValue()), + "pitch:"+ NumberUtils.scaleTwo(statusMsg.getPitch().doubleValue()) + +",roll:"+NumberUtils.scaleTwo(statusMsg.getRoll().doubleValue()))) isUpdated=true; } // 根据告警码确定告警级别 @@ -120,7 +124,8 @@ public class WarningServiceImpl implements WarningService { } - boolean check(GnssStatus curStatus, int warningType, String warningName, boolean isLessCmp, Integer value1, Integer value2){ + boolean check(GnssStatus curStatus, int warningType, String warningName, + boolean isLessCmp, Integer value1, Integer value2, String auxInfo){ boolean isUpdated=false; int newWarningCode = 0; int[] warningValues = cfgMap.get(warningType); @@ -157,9 +162,11 @@ public class WarningServiceImpl implements WarningService { warningMsg.setDevicetype(WarningCfg.TYPE_GNSS); warningMsg.setCode(warningType); warningMsg.setLevel((short) warningValues[0]); - String info = warningName + ":" + value1; - if(value2!=null) info = info +","+value2; - warningMsg.setInfo(info); + if(auxInfo ==null) { + auxInfo = warningName + ":" + value1; + if (value2 != null) auxInfo = auxInfo + "," + value2; + } + warningMsg.setInfo(auxInfo); warningMsgMapper.insert(warningMsg); //告警级别 curStatus.setWarningcode(curStatus.getWarningcode() | warningType); @@ -198,7 +205,7 @@ public class WarningServiceImpl implements WarningService { // 检查d331告警 if(check(status, WarningCfg.TYPE_LESS_D3XX, WarningCfg.TYPE_NAME_LESS_D3XX,true, - device.getD3xxCount(), null)) isUpdated=true; + device.getD3xxCount(), null,null)) isUpdated=true; if(isUpdated) { status.setWarning(getWarningLevel(status.getWarningcode()));