This commit is contained in:
parent
1160635703
commit
4704cbb94b
|
|
@ -239,18 +239,27 @@ public class DaJiangBufferDeviceImpl implements IBufferDeviceService
|
||||||
// 根据 ACTIVE 属性和 MODE_CODE 设置机场状态
|
// 根据 ACTIVE 属性和 MODE_CODE 设置机场状态
|
||||||
// 先检查 ACTIVE 属性判断是否离线,只有在线时才通过 MODE_CODE 判断具体状态
|
// 先检查 ACTIVE 属性判断是否离线,只有在线时才通过 MODE_CODE 判断具体状态
|
||||||
// MODE_CODE 定义: {"0":"空闲中","1":"现场调试","2":"远程调试","3":"固件升级中","4":"作业中","5":"待标定"}
|
// MODE_CODE 定义: {"0":"空闲中","1":"现场调试","2":"远程调试","3":"固件升级中","4":"作业中","5":"待标定"}
|
||||||
Boolean isActive = attributeMap.get(DeviceAttributes.ACTIVE).orElse(false);
|
// Boolean isActive = attributeMap.get(DeviceAttributes.ACTIVE).orElse(false);
|
||||||
|
// log.info("大疆机场状态判断 - iotDeviceId: {}, ACTIVE: {}", dockerDeviceIotId, isActive);
|
||||||
|
|
||||||
if (!isActive) {
|
// if (!isActive) {
|
||||||
// 设备离线
|
// 设备离线
|
||||||
dto.setDockStatus(DockStatusEnum.OFFLINE.getCode());
|
// dto.setDockStatus(DockStatusEnum.OFFLINE.getCode());
|
||||||
} else {
|
// log.info("大疆机场判定为离线 - iotDeviceId: {}, 原因: ACTIVE=false", dockerDeviceIotId);
|
||||||
|
// } else {
|
||||||
// 设备在线,根据 MODE_CODE 判断具体状态
|
// 设备在线,根据 MODE_CODE 判断具体状态
|
||||||
attributeMap.get(DeviceAttributes.MODE_CODE).ifPresent(modeCode -> {
|
attributeMap.get(DeviceAttributes.MODE_CODE).ifPresent(modeCode -> {
|
||||||
String dockStatus = mapModeCodeToDockStatus(modeCode);
|
String dockStatus = mapModeCodeToDockStatus(modeCode);
|
||||||
dto.setDockStatus(dockStatus);
|
dto.setDockStatus(dockStatus);
|
||||||
|
log.info("大疆机场状态判断 - iotDeviceId: {}, MODE_CODE: {}, dockStatus: {}",
|
||||||
|
dockerDeviceIotId, modeCode, dockStatus);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 如果没有 MODE_CODE 属性,记录警告
|
||||||
|
if (!attributeMap.get(DeviceAttributes.MODE_CODE).isPresent()) {
|
||||||
|
log.warn("大疆机场缺少 MODE_CODE 属性 - iotDeviceId: {}, 无法判断具体状态", dockerDeviceIotId);
|
||||||
}
|
}
|
||||||
|
// }
|
||||||
|
|
||||||
// 设置备降点坐标数据
|
// 设置备降点坐标数据
|
||||||
// 备降点经度
|
// 备降点经度
|
||||||
|
|
|
||||||
|
|
@ -1053,6 +1053,7 @@ public class SynService {
|
||||||
|
|
||||||
// 查询机场是否已存在
|
// 查询机场是否已存在
|
||||||
Dock existingDock = dockDomain.selectDockByDeviceId(deviceId);
|
Dock existingDock = dockDomain.selectDockByDeviceId(deviceId);
|
||||||
|
Long dockId;
|
||||||
|
|
||||||
if (existingDock == null) {
|
if (existingDock == null) {
|
||||||
// 机场不存在,插入新机场
|
// 机场不存在,插入新机场
|
||||||
|
|
@ -1063,13 +1064,24 @@ public class SynService {
|
||||||
|
|
||||||
log.info("准备插入新拓恒机场: deviceId={}, dockName={}, SN={}", deviceId, airportId, sn);
|
log.info("准备插入新拓恒机场: deviceId={}, dockName={}, SN={}", deviceId, airportId, sn);
|
||||||
dockDomain.insertDock(newDock);
|
dockDomain.insertDock(newDock);
|
||||||
log.info("插入新拓恒机场成功: dockId={}", newDock.getDockId());
|
dockId = newDock.getDockId();
|
||||||
|
log.info("插入新拓恒机场成功: dockId={}", dockId);
|
||||||
// 确保默认分组存在并加入
|
|
||||||
ensureDefaultGroupExists();
|
|
||||||
insertDockToDefaultGroup(newDock.getDockId(), airportId);
|
|
||||||
} else {
|
} else {
|
||||||
log.info("拓恒机场已存在: deviceId={}, dockId={}", deviceId, existingDock.getDockId());
|
dockId = existingDock.getDockId();
|
||||||
|
log.info("拓恒机场已存在: deviceId={}, dockId={}", deviceId, dockId);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 确保默认分组存在
|
||||||
|
ensureDefaultGroupExists();
|
||||||
|
|
||||||
|
// 检查机场是否在任何分组中(无论新旧机场都检查)
|
||||||
|
List<DockGroup> dockGroups = dockGroupDomain.selectDockGroupByDockId(dockId);
|
||||||
|
|
||||||
|
if (dockGroups == null || dockGroups.isEmpty()) {
|
||||||
|
// 机场不在任何分组中,将其插入默认分组
|
||||||
|
insertDockToDefaultGroup(dockId, airportId);
|
||||||
|
} else {
|
||||||
|
log.info("拓恒机场已在分组中: dockId={}, 分组数量={}", dockId, dockGroups.size());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue