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