diff --git a/sec-beidou/src/main/java/com/imdroid/beidou/controller/APIController.java b/sec-beidou/src/main/java/com/imdroid/beidou/controller/APIController.java index 79c0fb3e..314d20e7 100644 --- a/sec-beidou/src/main/java/com/imdroid/beidou/controller/APIController.java +++ b/sec-beidou/src/main/java/com/imdroid/beidou/controller/APIController.java @@ -15,7 +15,6 @@ import java.time.LocalDateTime; @Controller public class APIController extends BasicController{ - final String getWorkCycleCmd = "d3120005"; SimpleDateFormat dateFormat = new SimpleDateFormat("yy-MM-dd HH:mm:ss"); @Autowired RtcmClient rtcmClient; @@ -105,6 +104,20 @@ public class APIController extends BasicController{ warningMsg.setLevel(WarningCfg.LEVEL_2); warningMsg.setInfo(WarningCfg.TYPE_NAME_CFG_ABNORMAL); warningMsgMapper.insert(warningMsg); + //重新配置 + String sendCmd = HexUtil.Byte2HexString(gnssGroup.getWork_cycle().byteValue())+ + HexUtil.Byte2HexString(gnssGroup.getActive_time().byteValue())+ + HexUtil.Byte2HexString(gnssGroup.getActive_offset().byteValue())+ + HexUtil.Byte2HexString(gnssGroup.getRs_adv().byteValue())+ + HexUtil.Byte2HexString(gnssGroup.getPower_mode().byteValue())+ + HexUtil.Byte2HexString(gnssGroup.getGnss_sample_s().byteValue()); + short len = (short) (sendCmd.length()/2+4); + sendCmd = "d311" + HexUtil.Short2HexString(len)+ + HexUtil.Int2HexString(Integer.parseInt(device.getDeviceid()))+ + HexUtil.String2HexString(sendCmd); + rtcmClient.config(device.getDeviceid(), sendCmd); + // 保存 + saveMsg(device.getDeviceid(), device.getTenantid(),0xD311, sendCmd, true); } } } @@ -115,8 +128,11 @@ public class APIController extends BasicController{ public String onLine(String deviceId, Integer tenantId, LocalDateTime lastOnlineTime) { onDeviceActive(deviceId,tenantId); // 检查参数一致性 - rtcmClient.config(deviceId, getWorkCycleCmd+ - HexUtil.Int2HexString(Integer.parseInt(deviceId))+"01"); + String getWorkCycleCmd = "d3120005"+ + HexUtil.Int2HexString(Integer.parseInt(deviceId))+"01"; + rtcmClient.config(deviceId, getWorkCycleCmd); + // 保存 + saveMsg(deviceId, tenantId,0xD312, getWorkCycleCmd, true); // 检查是否自动补传 GnssDevice device = deviceMapper.queryByDeviceId(deviceId); @@ -126,7 +142,7 @@ public class APIController extends BasicController{ // 检查上次是否离线,如果是则启动补传 LocalDateTime now = LocalDateTime.now(); - Short len = 15; + short len = 15; String uploadCmd = "D312" + HexUtil.Short2HexString(len) + HexUtil.Int2HexString(Integer.parseInt(deviceId)) + "1B"