|  | @@ -97,13 +97,15 @@ public class NotifyRequestForMobilePositionProcessor extends SIPRequestProcessor
 | 
	
		
			
				|  |  |  				mobilePosition.setDeviceId(device.getDeviceId());
 | 
	
		
			
				|  |  |  				mobilePosition.setDeviceName(device.getName());
 | 
	
		
			
				|  |  |  				mobilePosition.setCreateTime(DateUtil.getNow());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				DeviceChannel deviceChannel = null;
 | 
	
		
			
				|  |  |  				List<Element> elements = rootElement.elements();
 | 
	
		
			
				|  |  |  				for (Element element : elements) {
 | 
	
		
			
				|  |  |  					switch (element.getName()){
 | 
	
		
			
				|  |  |  						case "DeviceID":
 | 
	
		
			
				|  |  |  							String channelId = element.getStringValue();
 | 
	
		
			
				|  |  |  							if (!deviceId.equals(channelId)) {
 | 
	
		
			
				|  |  | -								DeviceChannel deviceChannel = deviceChannelService.getOne(device.getDeviceId(), channelId);
 | 
	
		
			
				|  |  | +								deviceChannel = deviceChannelService.getOne(device.getDeviceId(), channelId);
 | 
	
		
			
				|  |  |  								if (deviceChannel != null) {
 | 
	
		
			
				|  |  |  									mobilePosition.setChannelId(deviceChannel.getId());
 | 
	
		
			
				|  |  |  								}
 | 
	
	
		
			
				|  | @@ -162,13 +164,13 @@ public class NotifyRequestForMobilePositionProcessor extends SIPRequestProcessor
 | 
	
		
			
				|  |  |  				}catch (Exception e) {
 | 
	
		
			
				|  |  |  					log.error("[向上级转发移动位置失败] ", e);
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  | -				if (mobilePosition.getChannelId() == null || mobilePosition.getChannelId().equals(mobilePosition.getDeviceId())) {
 | 
	
		
			
				|  |  | +				if (mobilePosition.getChannelId() == null) {
 | 
	
		
			
				|  |  |  					List<DeviceChannel> channels = deviceChannelService.queryChaneListByDeviceId(mobilePosition.getDeviceId());
 | 
	
		
			
				|  |  |  					channels.forEach(channel -> {
 | 
	
		
			
				|  |  |  						// 发送redis消息。 通知位置信息的变化
 | 
	
		
			
				|  |  |  						JSONObject jsonObject = new JSONObject();
 | 
	
		
			
				|  |  |  						jsonObject.put("time", DateUtil.yyyy_MM_dd_HH_mm_ssToISO8601(mobilePosition.getTime()));
 | 
	
		
			
				|  |  | -						jsonObject.put("serial", channel.getDeviceId());
 | 
	
		
			
				|  |  | +						jsonObject.put("serial", device.getDeviceId());
 | 
	
		
			
				|  |  |  						jsonObject.put("code", channel.getDeviceId());
 | 
	
		
			
				|  |  |  						jsonObject.put("longitude", mobilePosition.getLongitude());
 | 
	
		
			
				|  |  |  						jsonObject.put("latitude", mobilePosition.getLatitude());
 | 
	
	
		
			
				|  | @@ -179,16 +181,18 @@ public class NotifyRequestForMobilePositionProcessor extends SIPRequestProcessor
 | 
	
		
			
				|  |  |  					});
 | 
	
		
			
				|  |  |  				}else {
 | 
	
		
			
				|  |  |  					// 发送redis消息。 通知位置信息的变化
 | 
	
		
			
				|  |  | -					JSONObject jsonObject = new JSONObject();
 | 
	
		
			
				|  |  | -					jsonObject.put("time", DateUtil.yyyy_MM_dd_HH_mm_ssToISO8601(mobilePosition.getTime()));
 | 
	
		
			
				|  |  | -					jsonObject.put("serial", mobilePosition.getDeviceId());
 | 
	
		
			
				|  |  | -					jsonObject.put("code", mobilePosition.getChannelId());
 | 
	
		
			
				|  |  | -					jsonObject.put("longitude", mobilePosition.getLongitude());
 | 
	
		
			
				|  |  | -					jsonObject.put("latitude", mobilePosition.getLatitude());
 | 
	
		
			
				|  |  | -					jsonObject.put("altitude", mobilePosition.getAltitude());
 | 
	
		
			
				|  |  | -					jsonObject.put("direction", mobilePosition.getDirection());
 | 
	
		
			
				|  |  | -					jsonObject.put("speed", mobilePosition.getSpeed());
 | 
	
		
			
				|  |  | -					redisCatchStorage.sendMobilePositionMsg(jsonObject);
 | 
	
		
			
				|  |  | +					if (deviceChannel != null) {
 | 
	
		
			
				|  |  | +						JSONObject jsonObject = new JSONObject();
 | 
	
		
			
				|  |  | +						jsonObject.put("time", DateUtil.yyyy_MM_dd_HH_mm_ssToISO8601(mobilePosition.getTime()));
 | 
	
		
			
				|  |  | +						jsonObject.put("serial", mobilePosition.getDeviceId());
 | 
	
		
			
				|  |  | +						jsonObject.put("code", deviceChannel.getDeviceId());
 | 
	
		
			
				|  |  | +						jsonObject.put("longitude", mobilePosition.getLongitude());
 | 
	
		
			
				|  |  | +						jsonObject.put("latitude", mobilePosition.getLatitude());
 | 
	
		
			
				|  |  | +						jsonObject.put("altitude", mobilePosition.getAltitude());
 | 
	
		
			
				|  |  | +						jsonObject.put("direction", mobilePosition.getDirection());
 | 
	
		
			
				|  |  | +						jsonObject.put("speed", mobilePosition.getSpeed());
 | 
	
		
			
				|  |  | +						redisCatchStorage.sendMobilePositionMsg(jsonObject);
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  			} catch (DocumentException e) {
 | 
	
		
			
				|  |  |  				log.error("未处理的异常 ", e);
 |