From 4dd656b29b655d17b4d3c9d0d8e3870b871f5433 Mon Sep 17 00:00:00 2001
From: panlinlin <648540858@qq.com>
Date: Sat, 17 Aug 2024 08:02:39 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=9B=AE=E5=BD=95=E6=8E=A8?=
=?UTF-8?q?=E9=80=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../genersoft/iot/vmp/gb28181/bean/CommonGBChannel.java | 2 +-
.../iot/vmp/gb28181/dao/CommonGBChannelMapper.java | 2 +-
.../com/genersoft/iot/vmp/gb28181/dao/GroupMapper.java | 9 +++++++++
.../vmp/gb28181/service/impl/GbChannelServiceImpl.java | 8 ++++++++
4 files changed, 19 insertions(+), 2 deletions(-)
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));
}