| 
					
				 | 
			
			
				@@ -16,7 +16,6 @@ import com.usky.iot.domain.DmpProductInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.usky.iot.mapper.BaseAlarmMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.usky.iot.service.BaseAlarmService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.usky.common.mybatis.core.AbstractCrudService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.usky.iot.service.BaseAlarmTypeService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.usky.iot.service.DmpDeviceInfoService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.usky.iot.service.DmpProductInfoService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.usky.iot.service.vo.BaseAlarmListVO; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -43,8 +42,6 @@ import java.util.stream.Collectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, BaseAlarm> implements BaseAlarmService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private BaseAlarmTypeService baseAlarmTypeService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private DmpProductInfoService dmpProductInfoService; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -96,9 +93,11 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //未处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                int untreated = this.count(Wrappers.<BaseAlarm>query().lambda().eq(BaseAlarm::getHandleStatus,0).eq(BaseAlarm::getProductCode,list1.get(i).getProductCode())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int untreated = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                untreated = this.count(Wrappers.<BaseAlarm>query().lambda().eq(BaseAlarm::getHandleStatus,0).eq(BaseAlarm::getProductCode,list1.get(i).getProductCode())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //已处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                int processed = this.count(Wrappers.<BaseAlarm>query().lambda().eq(BaseAlarm::getHandleStatus,1).eq(BaseAlarm::getProductCode,list1.get(i).getProductCode())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int processed = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                processed = this.count(Wrappers.<BaseAlarm>query().lambda().eq(BaseAlarm::getHandleStatus,1).eq(BaseAlarm::getProductCode,list1.get(i).getProductCode())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 int count = untreated+processed; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //处置率 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -112,6 +111,35 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 responeVO.setProcessed(processed); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 responeVO.setProcessRate(processRate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //设备总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int deviceCount = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                List<Integer> serviceStatusList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                serviceStatusList.add(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                serviceStatusList.add(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                LambdaQueryWrapper<DmpDeviceInfo> queryWrapper1 = Wrappers.lambdaQuery(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                queryWrapper1.in(DmpDeviceInfo::getServiceStatus,serviceStatusList) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .eq(DmpDeviceInfo::getProductCode,list1.get(i).getProductCode()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .eq(DmpDeviceInfo::getDeleteFlag,0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                deviceCount = dmpDeviceInfoService.count(queryWrapper1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                responeVO.setDeviceCount(deviceCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //离线告警统计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //离线告警未处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int offLineUntreated = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                offLineUntreated = this.count(Wrappers.<BaseAlarm>query().lambda().eq(BaseAlarm::getHandleStatus,0).eq(BaseAlarm::getAlarmType,"lx-20230700000000000").eq(BaseAlarm::getProductCode,list1.get(i).getProductCode())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //离线告警已处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int offLineProcessed = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                offLineProcessed = this.count(Wrappers.<BaseAlarm>query().lambda().eq(BaseAlarm::getHandleStatus,1).eq(BaseAlarm::getAlarmType,"lx-20230700000000000").eq(BaseAlarm::getProductCode,list1.get(i).getProductCode())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //离线告警总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int offLineCount = offLineUntreated+offLineProcessed; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //离线告警处置率 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                float offLineProcessRate = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(offLineCount != 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    offLineProcessRate = ((float) offLineProcessed/offLineCount)*100; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                responeVO.setOffLineUntreated(offLineUntreated); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                responeVO.setOffLineProcessed(offLineProcessed); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                responeVO.setOffLineProcessRate(offLineProcessRate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 list.add(responeVO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 |