diff --git a/iot-access/access-boot/src/main/java/com/njcn/access/handler/MqttMessageHandler.java b/iot-access/access-boot/src/main/java/com/njcn/access/handler/MqttMessageHandler.java index aaec036..a96770d 100644 --- a/iot-access/access-boot/src/main/java/com/njcn/access/handler/MqttMessageHandler.java +++ b/iot-access/access-boot/src/main/java/com/njcn/access/handler/MqttMessageHandler.java @@ -395,8 +395,23 @@ public class MqttMessageHandler { updateLineInfo(nDid,item); } //2.录入各个模块设备容量 + CsDeviceRegistry csDeviceRegistry = csDeviceRegistryFeignClient.queryByCurrentNdidAndClDid(nDid, 0).getData(); + String lineId; + if (Objects.isNull(csDeviceRegistry)) { + List lines = csLineFeignClient.findByNdid(nDid).getData(); + if (CollectionUtil.isEmpty(lines)) { + throw new BusinessException("通过装置NDID获取监测点信息失败"); + } + CsLinePO line = lines.stream().filter(item2->Objects.equals(item2.getClDid(),0)).findFirst().orElse(null); + if (Objects.isNull(line)) { + throw new BusinessException("通过逻辑子设备ID获取监测点信息失败"); + } + lineId = line.getLineId(); + } else { + lineId = csDeviceRegistry.getId(); + } CsDevCapacityPO csDevCapacity = new CsDevCapacityPO(); - csDevCapacity.setLineId(nDid.concat("0")); + csDevCapacity.setLineId(lineId); csDevCapacity.setCldid(item.getClDid()); csDevCapacity.setCapacity(Objects.isNull(item.getCapacityA())?0.0:item.getCapacityA()); list3.add(csDevCapacity); diff --git a/iot-access/access-boot/src/main/java/com/njcn/access/service/impl/CsDeviceServiceImpl.java b/iot-access/access-boot/src/main/java/com/njcn/access/service/impl/CsDeviceServiceImpl.java index 9648b2d..8659435 100644 --- a/iot-access/access-boot/src/main/java/com/njcn/access/service/impl/CsDeviceServiceImpl.java +++ b/iot-access/access-boot/src/main/java/com/njcn/access/service/impl/CsDeviceServiceImpl.java @@ -310,7 +310,7 @@ public class CsDeviceServiceImpl implements ICsDeviceService { param.setPid(vo.getId()); param.setName(item.getName()); param.setLevel(3); - param.setSort(0); + param.setSort(po.getClDid()); csLedgerService.addLedgerTree(param); appLineTopologyDiagramPo.setId(devAccessParam.getTopologyDiagram()); appLineTopologyDiagramPo.setLat(item.getLat()); @@ -535,7 +535,7 @@ public class CsDeviceServiceImpl implements ICsDeviceService { param.setPid(vo.getId()); param.setName(item.getClDev().toString() + "#监测点"); param.setLevel(3); - param.setSort(0); + param.setSort(item.getClDev()); csLedgerService.addLedgerTree(param); //4.存储设备注册表数据,用来后续保留监测点id if (CollUtil.isEmpty(data)) {