修改AI报警上报接口

This commit is contained in:
pengjie 2023-12-26 14:56:04 +08:00
parent 1a5583efac
commit b47296ab5c
2 changed files with 20 additions and 16 deletions

View File

@ -5,11 +5,11 @@ import cn.xuyanwu.spring.file.storage.FileStorageService;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.xmgl.recognition.jeecg.common.api.vo.Result;
import com.xmgl.recognition.jeecg.common.util.DateUtil;
import com.xmgl.recognition.modules.admin.entity.Algorithm;
import com.xmgl.recognition.modules.admin.entity.Device;
import com.xmgl.recognition.modules.admin.entity.DeviceAlgorithm;
import com.xmgl.recognition.modules.admin.entity.SystemDictData;
import com.xmgl.recognition.modules.admin.service.IDeviceService;
import com.xmgl.recognition.modules.admin.service.IFileDetailService;
import com.xmgl.recognition.modules.admin.service.ISystemDictDataService;
import com.xmgl.recognition.modules.admin.service.*;
import com.xmgl.recognition.modules.enterprise.entity.DeviceAlarm;
import com.xmgl.recognition.modules.enterprise.service.IDeviceAlarmService;
import com.xmgl.recognition.util.CommonUtil;
@ -53,7 +53,7 @@ public class HardWareCallbackController {
private IDeviceAlarmService deviceAlarmService;
@Autowired
private ISystemDictDataService systemDictDataService;
private IAlgorithmService algorithmService;
/**
* AI设备报警信息上报
@ -63,15 +63,16 @@ public class HardWareCallbackController {
@ApiOperation(value = " AI设备报警信息上报", notes = "AI设备报警信息上报" , httpMethod="POST")
@PostMapping(value = "/saveHardWareAlarm")
public Result<Object> saveHardWareAlarm(@RequestBody Map<String, Object> map) {
// 查询字典类型确认报警类型
List<SystemDictData> systemDictDataList = systemDictDataService.getByType("ai_alarm_type");
List<SystemDictData> dictData = systemDictDataList.stream().filter(d -> d.getDictLabel().equals(MapUtils.getInteger(map, "type"))).collect(Collectors.toList());
if (dictData.size() == 0) {
String hardwareId = MapUtils.getString(map, "hardwareId");
// 确认报警类型
List<Algorithm> algorithmList = algorithmService.list();
List<Algorithm> algorithm = algorithmList.stream().filter(d -> d.getSortIndex().equals(MapUtils.getInteger(map, "type"))).collect(Collectors.toList());
if (algorithm.size() == 0) {
return Result.error("报警类型错误!");
}
// TODO 查询设备相关的项目信息
Device device = deviceService.getOne(Wrappers.<Device>lambdaQuery()
.eq(Device::getCode, MapUtils.getString(map, "hardwareId")));
.eq(Device::getCode, hardwareId));
if (device == null) {
return Result.error("该设备未绑定!");
}

View File

@ -6,7 +6,9 @@ import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.xmgl.recognition.annotation.OperLog;
import com.xmgl.recognition.jeecg.common.util.PageUtil;
import com.xmgl.recognition.modules.admin.entity.Algorithm;
import com.xmgl.recognition.modules.admin.entity.SystemDictData;
import com.xmgl.recognition.modules.admin.service.IAlgorithmService;
import com.xmgl.recognition.modules.admin.service.ISystemDictDataService;
import com.xmgl.recognition.util.CommonUtil;
import com.xmgl.recognition.util.ParamEnum;
@ -67,7 +69,7 @@ public class DeviceAlarmController {
private IDeviceAlarmService deviceAlarmService;
@Autowired
private ISystemDictDataService systemDictDataService;
private IAlgorithmService algorithmService;
/**
* 分页列表查询
@ -124,9 +126,10 @@ public class DeviceAlarmController {
Map<String, Object> resultMap = new HashMap<>();
List<DeviceAlarm> deviceAlarmList = deviceAlarmService.getList(Wrappers.<DeviceAlarm>lambdaQuery()
.between(DeviceAlarm::getReportTime, DateUtil.beginOfDay(new Date()), DateUtil.endOfDay(new Date())));
List<SystemDictData> systemDictData = systemDictDataService.getByType(ParamEnum.SysDictType.AI_ALARM_TYPE.getValue());
List<Algorithm> algorithms = algorithmService.list();
deviceAlarmList.stream().forEach(d -> {
d.setTypeName(CommonUtil.getDictValue(systemDictData, d.getType()));
List<Algorithm> algorithmList = algorithms.stream().filter(a -> a.getSortIndex().equals(d.getType())).collect(Collectors.toList());
d.setTypeName(algorithmList.size() > 0 ? algorithmList.get(0).getTitle() : "");
});
resultMap.put("deviceAlarmList", deviceAlarmList);
resultMap.put("todayAlarm", deviceAlarmService.count(Wrappers.<DeviceAlarm>lambdaQuery()
@ -156,11 +159,11 @@ public class DeviceAlarmController {
Map<Integer, List<DeviceAlarm>> collect = list.stream().collect(Collectors.groupingBy(l -> l.getType()));
Map<Integer, Integer> resultMap = collect.entrySet().stream().collect(Collectors.toMap(Map.Entry::getKey, e -> e.getValue().size()));
List<Map<String, Object>> resultList = new ArrayList<>();
List<SystemDictData> systemDictData = systemDictDataService.getByType(ParamEnum.SysDictType.AI_ALARM_TYPE.getValue());
systemDictData.stream().forEach(s -> {
List<Algorithm> algorithms = algorithmService.list();
algorithms.stream().forEach(s -> {
Map<String, Object> map1 = new HashMap<>();
map1.put("type", s.getDictValue());
map1.put("num", resultMap.get(s.getDictLabel()));
map1.put("type", s.getTitle());
map1.put("num", resultMap.get(s.getSortIndex()));
resultList.add(map1);
});
/*resultMap.entrySet().stream().forEach(r -> {