|
|
@@ -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);
|
|
|
+ }
|
|
|
}
|