From 9ce22eba3c561d353e12c66c509fb91ca241409f Mon Sep 17 00:00:00 2001
From: 648540858 <456panlinlin>
Date: 星期二, 26 四月 2022 17:24:41 +0800
Subject: [PATCH] 行政区划作为级联数据的处理,修复设备树的显示
---
src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java | 27 ++++++++++++++++++++++-----
1 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java
index 6ae09bd..1a87996 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java
@@ -204,6 +204,7 @@
deviceChannel.setCivilCode(XmlUtil.getText(itemDevice, "CivilCode"));
deviceChannel.setBlock(XmlUtil.getText(itemDevice, "Block"));
deviceChannel.setAddress(XmlUtil.getText(itemDevice, "Address"));
+ String businessGroupID = XmlUtil.getText(itemDevice, "BusinessGroupID");
if (XmlUtil.getText(itemDevice, "Parental") == null
|| XmlUtil.getText(itemDevice, "Parental") == "") {
deviceChannel.setParental(0);
@@ -212,11 +213,27 @@
}
deviceChannel.setParentId(XmlUtil.getText(itemDevice, "ParentID"));
String parentId = XmlUtil.getText(itemDevice, "ParentID");
- if (parentId != null && parentId.contains("/")) {
- String lastParentId = parentId.substring(parentId.lastIndexOf("/") + 1);
- deviceChannel.setParentId(lastParentId);
+ if (parentId != null) {
+ if (parentId.contains("/")) {
+ String lastParentId = parentId.substring(parentId.lastIndexOf("/") + 1);
+ deviceChannel.setParentId(lastParentId);
+ }else {
+ deviceChannel.setParentId(parentId);
+ }
}else {
- deviceChannel.setParentId(parentId);
+ if (deviceChannel.getChannelId().length() <= 10) { // 姝ゆ椂涓鸿鏀垮尯鍒�, 涓婁笅绾ц鏀垮尯鍒掍娇鐢―eviceId鍏宠仈
+ deviceChannel.setParentId(deviceChannel.getChannelId().substring(0, deviceChannel.getChannelId().length() - 2));
+ }else if (deviceChannel.getChannelId().length() == 20) {
+ if (Integer.parseInt(deviceChannel.getChannelId().substring(10, 13)) == 216) { // 铏氭嫙缁勭粐
+ deviceChannel.setParentId(businessGroupID);
+ }else if (deviceChannel.getCivilCode() != null) {
+ // 璁惧锛� 鏃爌arentId鐨�20浣嶆槸浣跨敤CivilCode琛ㄧず涓婄骇鐨勮澶囷紝
+ // 娉細215 涓氬姟鍒嗙粍鏄渶瑕佹湁parentId鐨�
+ deviceChannel.setParentId(deviceChannel.getCivilCode());
+ }
+ }else {
+ deviceChannel.setParentId(deviceChannel.getDeviceId());
+ }
}
if (XmlUtil.getText(itemDevice, "SafetyWay") == null
@@ -277,4 +294,4 @@
deviceChannel.setHasAudio(true); // 榛樿鍚湁闊抽锛屾挱鏀炬椂鍐嶆鏌ユ槸鍚︽湁闊抽鍙婃槸鍚AC
return deviceChannel;
}
-}
+}
\ No newline at end of file
--
Gitblit v1.8.0