| 
					
				 | 
			
			
				@@ -53,7 +53,7 @@ public class DmpDataInfoServiceImpl extends AbstractCrudService<DmpDataInfoMappe 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void data(DmpDeviceDataRequestVO dmpDeviceDataRequestVO){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<DeviceDataInfoVO> dataInfo = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        DeviceDataInfoVO dataInfo = new DeviceDataInfoVO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         LambdaQueryWrapper<DmpDeviceInfo> dmpDeviceQuery = Wrappers.lambdaQuery(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         dmpDeviceQuery.eq(DmpDeviceInfo::getDeleteFlag,0) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -90,17 +90,14 @@ public class DmpDataInfoServiceImpl extends AbstractCrudService<DmpDataInfoMappe 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if(CollectionUtils.isNotEmpty(list1)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     Map<String,Float> metrics = dmpDeviceDataRequestVO.getMetrics(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if(metrics.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        DeviceDataInfoVO deviceDataInfoVO = new DeviceDataInfoVO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        List<Map<String,Object>> list2 = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Map<String,Object> mp = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         for(Map.Entry<String,Float> map:metrics.entrySet()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            Map<String,Object> mp = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             boolean find = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             String key = map.getKey(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             float value = map.getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             for(int i=0;i<list1.size();i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 if(key.equals(list1.get(i).getAttributeCode())){   //属性名需和产品注册信息一致 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     mp.put(key,value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    list2.add(mp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     find = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -108,12 +105,11 @@ public class DmpDataInfoServiceImpl extends AbstractCrudService<DmpDataInfoMappe 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 throw new BusinessException("对应这个产品下面的设备属性"+key+" 在产品属性表中不存在"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        deviceDataInfoVO.setMetrics(list2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        deviceDataInfoVO.setDevice_id(dmpDeviceDataRequestVO.getDeviceId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        deviceDataInfoVO.setProduct_id(list.get(0).getId().toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        deviceDataInfoVO.setTimestamp(dmpDeviceDataRequestVO.getTimestamp()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        deviceDataInfoVO.setDevice_type(list.get(0).getDeviceType()+"-"+shortName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        dataInfo.add(deviceDataInfoVO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        dataInfo.setMetrics(mp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        dataInfo.setDevice_id(dmpDeviceDataRequestVO.getDeviceId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        dataInfo.setProduct_id(list.get(0).getId().toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        dataInfo.setTimestamp(dmpDeviceDataRequestVO.getTimestamp()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        dataInfo.setDevice_type(list.get(0).getDeviceType()+"-"+shortName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 throw new BusinessException("查找产品属性表失败,"+dmpDeviceDataRequestVO.getProductCode()+" 该产品对应的属性在产品信息表没有信息"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -121,9 +117,8 @@ public class DmpDataInfoServiceImpl extends AbstractCrudService<DmpDataInfoMappe 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             throw new BusinessException("查找产品信息失败,"+dmpDeviceDataRequestVO.getProductCode()+" 在产品信息表中不存在"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(CollectionUtils.isNotEmpty(dataInfo)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(dataInfo != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             mqttGateway.sendToMqtt("data-collector", JSONArray.toJSON(dataInfo).toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String data = dataInfo.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             System.out.println(JSONArray.toJSON(dataInfo).toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 |