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));
}