diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java index c0ec2d0..167f25a 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java @@ -324,10 +324,15 @@ public class CsLedgerServiceImpl extends ServiceImpl i * 获取子节点 */ public List getChildren(CsLedgerVO item, List all) { - return all.stream() + // 筛选所有具有特定父ID的子项 + List children = all.stream() .filter(allItem -> allItem.getPid().equals(item.getId())) - .peek(child -> child.setComFlag(item.getComFlag())) .collect(Collectors.toList()); + // 如果父项有comFlag,则更新所有子项的comFlag + if (!Objects.isNull(item.getComFlag())) { + children.forEach(child -> child.setComFlag(item.getComFlag())); + } + return children; } public String getAreaById(String id){