|  | @@ -118,6 +118,7 @@ public class DeviceServiceImpl implements IDeviceService {
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              sync(device);
 | 
	
		
			
				|  |  |          }else {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              if(device.getOnline() == 0){
 | 
	
		
			
				|  |  |                  device.setOnline(1);
 | 
	
		
			
				|  |  |                  device.setCreateTime(now);
 | 
	
	
		
			
				|  | @@ -132,6 +133,11 @@ public class DeviceServiceImpl implements IDeviceService {
 | 
	
		
			
				|  |  |                  sync(device);
 | 
	
		
			
				|  |  |                  // TODO 如果设备下的通道级联到了其他平台,那么需要发送事件或者notify给上级平台
 | 
	
		
			
				|  |  |              }else {
 | 
	
		
			
				|  |  | +                if (deviceChannelMapper.queryAllChannels(device.getDeviceId()).size() == 0) {
 | 
	
		
			
				|  |  | +                    logger.info("[设备上线]: {},通道数为0,查询通道信息", device.getDeviceId());
 | 
	
		
			
				|  |  | +                    sync(device);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |                  deviceMapper.update(device);
 | 
	
		
			
				|  |  |                  redisCatchStorage.updateDevice(device);
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -362,10 +368,10 @@ public class DeviceServiceImpl implements IDeviceService {
 | 
	
		
			
				|  |  |                  return null;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              // 使用行政区划展示树
 | 
	
		
			
				|  |  | -            if (parentId.length() > 10) {
 | 
	
		
			
				|  |  | -                // TODO 可能是行政区划与业务分组混杂的情形
 | 
	
		
			
				|  |  | -                return null;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | +//            if (parentId.length() > 10) {
 | 
	
		
			
				|  |  | +//                // TODO 可能是行政区划与业务分组混杂的情形
 | 
	
		
			
				|  |  | +//                return null;
 | 
	
		
			
				|  |  | +//            }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              if (parentId.length() == 10 ) {
 | 
	
		
			
				|  |  |                  if (onlyCatalog) {
 | 
	
	
		
			
				|  | @@ -380,7 +386,18 @@ public class DeviceServiceImpl implements IDeviceService {
 | 
	
		
			
				|  |  |              List<DeviceChannel> channelsForCivilCode = deviceChannelMapper.getChannelsWithCivilCodeAndLength(deviceId, parentId, parentId.length() + 2);
 | 
	
		
			
				|  |  |              if (!onlyCatalog) {
 | 
	
		
			
				|  |  |                  List<DeviceChannel> channels = deviceChannelMapper.getChannelsByCivilCode(deviceId, parentId);
 | 
	
		
			
				|  |  | -                channelsForCivilCode.addAll(channels);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                for(DeviceChannel channel : channels) {
 | 
	
		
			
				|  |  | +                    boolean flag = false;
 | 
	
		
			
				|  |  | +                    for(DeviceChannel deviceChannel : channelsForCivilCode) {
 | 
	
		
			
				|  |  | +                        if(channel.getChannelId().equals(deviceChannel.getChannelId())) {
 | 
	
		
			
				|  |  | +                            flag = true;
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    if(!flag) {
 | 
	
		
			
				|  |  | +                        channelsForCivilCode.add(channel);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              List<BaseTree<DeviceChannel>> trees = transportChannelsToTree(channelsForCivilCode, parentId);
 | 
	
		
			
				|  |  |              return trees;
 |