Commit 58b9dab89fef80076e79e43c8eafe811a644415c
1 parent
22441ad5
优化 分屏设备与电子地图中树结构展示信息
优化 国标设备中通道内查看的逻辑,保证与分屏与电子地图中树结构的数据一致
Showing
2 changed files
with
21 additions
and
8 deletions
src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java
| @@ -398,10 +398,10 @@ public class DeviceServiceImpl implements IDeviceService { | @@ -398,10 +398,10 @@ public class DeviceServiceImpl implements IDeviceService { | ||
| 398 | return null; | 398 | return null; |
| 399 | } | 399 | } |
| 400 | // 使用行政区划展示树 | 400 | // 使用行政区划展示树 |
| 401 | - if (parentId.length() > 10) { | ||
| 402 | - // TODO 可能是行政区划与业务分组混杂的情形 | ||
| 403 | - return null; | ||
| 404 | - } | 401 | +// if (parentId.length() > 10) { |
| 402 | +// // TODO 可能是行政区划与业务分组混杂的情形 | ||
| 403 | +// return null; | ||
| 404 | +// } | ||
| 405 | 405 | ||
| 406 | if (parentId.length() == 10 ) { | 406 | if (parentId.length() == 10 ) { |
| 407 | if (onlyCatalog) { | 407 | if (onlyCatalog) { |
| @@ -416,7 +416,18 @@ public class DeviceServiceImpl implements IDeviceService { | @@ -416,7 +416,18 @@ public class DeviceServiceImpl implements IDeviceService { | ||
| 416 | List<DeviceChannel> channelsForCivilCode = deviceChannelMapper.getChannelsWithCivilCodeAndLength(deviceId, parentId, parentId.length() + 2); | 416 | List<DeviceChannel> channelsForCivilCode = deviceChannelMapper.getChannelsWithCivilCodeAndLength(deviceId, parentId, parentId.length() + 2); |
| 417 | if (!onlyCatalog) { | 417 | if (!onlyCatalog) { |
| 418 | List<DeviceChannel> channels = deviceChannelMapper.getChannelsByCivilCode(deviceId, parentId); | 418 | List<DeviceChannel> channels = deviceChannelMapper.getChannelsByCivilCode(deviceId, parentId); |
| 419 | - channelsForCivilCode.addAll(channels); | 419 | + |
| 420 | + for(DeviceChannel channel : channels) { | ||
| 421 | + boolean flag = false; | ||
| 422 | + for(DeviceChannel deviceChannel : channelsForCivilCode) { | ||
| 423 | + if(channel.getChannelId().equals(deviceChannel.getChannelId())) { | ||
| 424 | + flag = true; | ||
| 425 | + } | ||
| 426 | + } | ||
| 427 | + if(!flag) { | ||
| 428 | + channelsForCivilCode.add(channel); | ||
| 429 | + } | ||
| 430 | + } | ||
| 420 | } | 431 | } |
| 421 | List<BaseTree<DeviceChannel>> trees = transportChannelsToTree(channelsForCivilCode, parentId); | 432 | List<BaseTree<DeviceChannel>> trees = transportChannelsToTree(channelsForCivilCode, parentId); |
| 422 | return trees; | 433 | return trees; |
src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java
| @@ -71,7 +71,7 @@ public interface DeviceChannelMapper { | @@ -71,7 +71,7 @@ public interface DeviceChannelMapper { | ||
| 71 | "WHERE " + | 71 | "WHERE " + |
| 72 | "dc.deviceId = #{deviceId} " + | 72 | "dc.deviceId = #{deviceId} " + |
| 73 | " <if test='query != null'> AND (dc.channelId LIKE '%${query}%' OR dc.name LIKE '%${query}%' OR dc.name LIKE '%${query}%')</if> " + | 73 | " <if test='query != null'> AND (dc.channelId LIKE '%${query}%' OR dc.name LIKE '%${query}%' OR dc.name LIKE '%${query}%')</if> " + |
| 74 | - " <if test='parentChannelId != null'> AND dc.parentId=#{parentChannelId} </if> " + | 74 | + " <if test='parentChannelId != null'> AND (dc.parentId=#{parentChannelId} OR dc.civilCode = #{parentChannelId}) </if> " + |
| 75 | " <if test='online == true' > AND dc.status=1</if>" + | 75 | " <if test='online == true' > AND dc.status=1</if>" + |
| 76 | " <if test='online == false' > AND dc.status=0</if>" + | 76 | " <if test='online == false' > AND dc.status=0</if>" + |
| 77 | " <if test='hasSubChannel == true' > AND dc.subCount > 0 </if>" + | 77 | " <if test='hasSubChannel == true' > AND dc.subCount > 0 </if>" + |
| @@ -309,8 +309,10 @@ public interface DeviceChannelMapper { | @@ -309,8 +309,10 @@ public interface DeviceChannelMapper { | ||
| 309 | "select * " + | 309 | "select * " + |
| 310 | "from device_channel " + | 310 | "from device_channel " + |
| 311 | "where deviceId=#{deviceId}" + | 311 | "where deviceId=#{deviceId}" + |
| 312 | - " <if test='parentId != null' > and left(channelId, ${parentId.length()}) = #{parentId}</if>" + | ||
| 313 | - " <if test='length != null' > and length(channelId)=${length}</if>" + | 312 | + " <if test='parentId != null and length != null' > and parentId = #{parentId} or left(channelId, ${parentId.length()}) = #{parentId} and length(channelId)=${length} </if>" + |
| 313 | + " <if test='parentId == null and length != null' > and parentId = #{parentId} or length(channelId)=${length} </if>" + | ||
| 314 | + " <if test='parentId == null and length == null' > and parentId = #{parentId} </if>" + | ||
| 315 | + " <if test='parentId != null and length == null' > and parentId = #{parentId} or left(channelId, ${parentId.length()}) = #{parentId} </if>" + | ||
| 314 | " </script>"}) | 316 | " </script>"}) |
| 315 | List<DeviceChannel> getChannelsWithCivilCodeAndLength(String deviceId, String parentId, Integer length); | 317 | List<DeviceChannel> getChannelsWithCivilCodeAndLength(String deviceId, String parentId, Integer length); |
| 316 | 318 |