|  | @@ -9,10 +9,13 @@ import com.xunmei.common.core.web.page.TableDataInfo;
 | 
	
		
			
				|  |  |  import com.xunmei.common.security.utils.SecurityUtils;
 | 
	
		
			
				|  |  |  import com.xunmei.iot.dto.alarmData.AppAlarmPageDto;
 | 
	
		
			
				|  |  |  import com.xunmei.iot.dto.alarmData.dealAlarmDto;
 | 
	
		
			
				|  |  | +import com.xunmei.iot.enums.SensorTypeEnum;
 | 
	
		
			
				|  |  |  import com.xunmei.iot.mapper.IotAlarmDataMapper;
 | 
	
		
			
				|  |  |  import com.xunmei.iot.service.IotAlarmDataService;
 | 
	
		
			
				|  |  | +import com.xunmei.iot.vo.alarmData.DeviceTypeCountVo;
 | 
	
		
			
				|  |  |  import com.xunmei.iot.vo.alarm.IotAlarmDataVo;
 | 
	
		
			
				|  |  |  import com.xunmei.iot.vo.alarmData.AppAlarmDataPageVo;
 | 
	
		
			
				|  |  | +import com.xunmei.iot.vo.alarmData.SensorAlarmCountVo;
 | 
	
		
			
				|  |  |  import com.xunmei.system.api.RemoteOrgService;
 | 
	
		
			
				|  |  |  import com.xunmei.system.api.domain.SysOrg;
 | 
	
		
			
				|  |  |  import org.springframework.stereotype.Service;
 | 
	
	
		
			
				|  | @@ -127,4 +130,57 @@ public class IotAlarmDataServiceImpl extends ServiceImpl<IotAlarmDataMapper, Iot
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          return baseMapper.selectAlarmDataListByOrgPath(orgPath,dataType);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public SensorAlarmCountVo selectDeviceTypeCount(AppAlarmPageDto requestDto) {
 | 
	
		
			
				|  |  | +        SensorAlarmCountVo sensorAlarmCountVo = new SensorAlarmCountVo();
 | 
	
		
			
				|  |  | +        if(requestDto.getCheckSub() && ObjectUtil.isNotEmpty(requestDto.getOrgId())){
 | 
	
		
			
				|  |  | +            SysOrg org = orgService.selectSysOrgById(requestDto.getOrgId(), SecurityConstants.INNER);
 | 
	
		
			
				|  |  | +            requestDto.setOrgPath(org.getPath());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        List<DeviceTypeCountVo> list = baseMapper.selectDeviceTypeCount(requestDto);
 | 
	
		
			
				|  |  | +        for (DeviceTypeCountVo vo : list) {
 | 
	
		
			
				|  |  | +            if (SensorTypeEnum.SMOKE.getType().equals(vo.getDeviceType())){
 | 
	
		
			
				|  |  | +                sensorAlarmCountVo.setSmokeCount(vo.getDeviceTypeCount());
 | 
	
		
			
				|  |  | +                sensorAlarmCountVo.setSmokeAlarmCount(vo.getDeviceTypeAlarmCount());
 | 
	
		
			
				|  |  | +            } else if (SensorTypeEnum.GAS.getType().equals(vo.getDeviceType())) {
 | 
	
		
			
				|  |  | +                sensorAlarmCountVo.setGasCount(vo.getDeviceTypeCount());
 | 
	
		
			
				|  |  | +                sensorAlarmCountVo.setGasAlarmCount(vo.getDeviceTypeAlarmCount());
 | 
	
		
			
				|  |  | +            } else if (SensorTypeEnum.TEMPERATURE_HUMIDITY.getType().equals(vo.getDeviceType())) {
 | 
	
		
			
				|  |  | +                sensorAlarmCountVo.setTemperatureAndHumidityCount(vo.getDeviceTypeCount());
 | 
	
		
			
				|  |  | +                sensorAlarmCountVo.setTemperatureAndHumidityAlarmCount(vo.getDeviceTypeAlarmCount());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return sensorAlarmCountVo;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public Integer getFireWarningBadge(Long orgId) {
 | 
	
		
			
				|  |  | +        AppAlarmPageDto pageDto = new AppAlarmPageDto();
 | 
	
		
			
				|  |  | +        pageDto.setOrgId(orgId);
 | 
	
		
			
				|  |  | +        pageDto.setCheckSub(false);
 | 
	
		
			
				|  |  | +        SensorAlarmCountVo alarmCountVo = this.selectDeviceTypeCount(pageDto);
 | 
	
		
			
				|  |  | +        if (alarmCountVo != null){
 | 
	
		
			
				|  |  | +            Integer smokeAlarmCount = alarmCountVo.getSmokeAlarmCount() == null ? 0 : alarmCountVo.getSmokeAlarmCount();
 | 
	
		
			
				|  |  | +            Integer gasAlarmCount = alarmCountVo.getGasAlarmCount() == null ? 0 : alarmCountVo.getGasAlarmCount();
 | 
	
		
			
				|  |  | +            Integer htAlarmCount = alarmCountVo.getTemperatureAndHumidityAlarmCount() == null ? 0 : alarmCountVo.getTemperatureAndHumidityAlarmCount();
 | 
	
		
			
				|  |  | +            Integer count = smokeAlarmCount + gasAlarmCount + htAlarmCount;
 | 
	
		
			
				|  |  | +            return count;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return 0;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public TableDataInfo<IotAlarmDataVo> selectSensorAlarmPageList(AppAlarmPageDto requestDto) {
 | 
	
		
			
				|  |  | +        Page<IotAlarmDataVo> page;
 | 
	
		
			
				|  |  | +        //分页
 | 
	
		
			
				|  |  | +        if (requestDto.getPageNum() != null && requestDto.getPageSize() != null) {
 | 
	
		
			
				|  |  | +            page = new Page<>(requestDto.getPageNum(), requestDto.getPageSize());
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            page = new Page<>();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        page = baseMapper.selectSensorAlarmPageList(page, requestDto);
 | 
	
		
			
				|  |  | +        return TableDataInfo.build(page);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  }
 |