| 
					
				 | 
			
			
				@@ -1,5 +1,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package com.huaxu.controller; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.huaxu.dto.AlarmDetailsDto; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.huaxu.dto.DeviceDto; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.huaxu.dto.MonitorDataDto; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.huaxu.dto.ReportDto; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -7,9 +8,7 @@ import com.huaxu.entity.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.huaxu.model.AjaxMessage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.huaxu.model.LoginUser; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.huaxu.model.ResultStatus; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.huaxu.service.DeviceParmService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.huaxu.service.DeviceService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.huaxu.service.SceneService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.huaxu.service.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.huaxu.util.ByteArrayUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.huaxu.util.RedisUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.huaxu.util.UserUtil; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -25,7 +24,6 @@ import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.stream.Collectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.web.bind.annotation.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.huaxu.service.MonitorInfoService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import javax.jws.Oneway; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -49,6 +47,8 @@ public class MonitorInfoController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private SceneService sceneService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private DeviceService deviceService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private AlarmDetailsService alarmDetailsService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @ApiOperation(value = "按场景ID查询供水量出水量耗药量耗电量") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @RequestMapping(value = "/findTotalUsageBySceneId",method = RequestMethod.GET) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -116,7 +116,14 @@ public class MonitorInfoController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<MonitorInfoEntity> page = monitorInfoService.findList(monitorInfoEntity); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for (MonitorInfoEntity item : page) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(item.getMonitorType().equals(0L)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (item.getMonitorType().equals(0L)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //查询报警信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                List<AlarmDetailsDto> alarmDetailsDtos = alarmDetailsService.selectByDeviceId(item.getDeviceId().intValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Map<Integer, AlarmDetailsDto> mapAlarm = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //将缓存中的实时数据放到map中方便进行遍历 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for (AlarmDetailsDto alarmDetailsDto : alarmDetailsDtos) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    mapAlarm.put(alarmDetailsDto.getAttributeId(), alarmDetailsDto); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 byte[] bytes = redisUtil.get(("sms_water_" + item.getDeviceCode()).getBytes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (bytes != null && bytes.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     MonitorDataEntity monitorDataEntity = (MonitorDataEntity) ByteArrayUtils.bytesToObject(bytes).get(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -129,6 +136,11 @@ public class MonitorInfoController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (item.getMonitorType().equals(0L))//标签 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         item.setMonitorValue(map.get(item.getAttributeId()).getDataValue() + map.get(item.getAttributeId()).getUnit()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //判断是否报警 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (mapAlarm.containsKey(item.getAttributeId())) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            item.setIsAlarm(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            item.setIsAlarm(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 |