diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/CommonGBChannel.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/CommonGBChannel.java index c261427e..bf221dbd 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/CommonGBChannel.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/CommonGBChannel.java @@ -450,7 +450,7 @@ public class CommonGBChannel { CommonGBChannel commonGBChannel = new CommonGBChannel(); commonGBChannel.setGbDeviceId(region.getDeviceId()); commonGBChannel.setGbName(region.getName()); - return null; + return commonGBChannel; } } diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/dao/CommonGBChannelMapper.java b/src/main/java/com/genersoft/iot/vmp/gb28181/dao/CommonGBChannelMapper.java index 1db92e19..394b9bcd 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/dao/CommonGBChannelMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/dao/CommonGBChannelMapper.java @@ -420,7 +420,7 @@ public interface CommonGBChannelMapper { " coalesce(wpgc.manufacturer, wdc.gb_manufacturer, wdc.manufacturer) as gb_manufacturer,\n" + " coalesce(wpgc.model, wdc.gb_model, wdc.model) as gb_model,\n" + " coalesce(wpgc.owner, wdc.gb_owner, wdc.owner) as gb_owner,\n" + - " coalesce(wpgc.civil_code, wdc.gb_civil_code, wdc.civil_code),\n" + + " coalesce(wpgc.civil_code, wdc.gb_civil_code, wdc.civil_code) as gb_civil_code,\n" + " coalesce(wpgc.block, wdc.gb_block, wdc.block) as gb_block,\n" + " coalesce(wpgc.address, wdc.gb_address, wdc.address) as gb_address,\n" + " coalesce(wpgc.parental, wdc.gb_parental, wdc.parental) as gb_parental,\n" + diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/dao/GroupMapper.java b/src/main/java/com/genersoft/iot/vmp/gb28181/dao/GroupMapper.java index b6a3ebd1..2058b654 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/dao/GroupMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/dao/GroupMapper.java @@ -179,4 +179,13 @@ public interface GroupMapper { " #{item.parentDeviceId}" + " ") Set queryParentInChannelList(Set regionChannelList); + + @Select(" ") + Set queryBusinessGroupInChannelList(List channelList); } diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/GbChannelServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/GbChannelServiceImpl.java index 96ba3059..20631e5d 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/GbChannelServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/GbChannelServiceImpl.java @@ -329,6 +329,7 @@ public class GbChannelServiceImpl implements IGbChannelService { if (!regionChannelList.isEmpty()) { // 获取这些节点的所有父节点, 使用set滤重 Set allRegion = getAllRegion(regionChannelList); + allRegion.addAll(regionChannelList); for (Region region : allRegion) { channelList.add(CommonGBChannel.build(region)); } @@ -336,10 +337,17 @@ public class GbChannelServiceImpl implements IGbChannelService { } // 是否包含分组信息 if (platform.getCatalogWithGroup()) { + // 虚拟组织 Set groupChannelList = groupMapper.queryInChannelList(commonGBChannelList); + // 业务分组 + Set businessGroupChannelList = groupMapper.queryBusinessGroupInChannelList(commonGBChannelList); if (!groupChannelList.isEmpty()) { // 获取这些节点的所有父节点 Set allGroup = getAllGroup(groupChannelList); + allGroup.addAll(groupChannelList); + if (!businessGroupChannelList.isEmpty()) { + allGroup.addAll(businessGroupChannelList); + } for (Group group : allGroup) { channelList.add(CommonGBChannel.build(group)); }