From e12b35edf8eadef2b5feb000e72aee013b2d380b Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期日, 08 十月 2023 08:39:08 +0800
Subject: [PATCH] 油烟-报警
---
ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java | 74 +++++++++++++++++++++----------------
1 files changed, 42 insertions(+), 32 deletions(-)
diff --git a/ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java b/ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java
index 307a6fe..d6ff0a3 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java
@@ -2,7 +2,9 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ycl.api.CommonResult;
+import com.ycl.dto.allot.EfficiencyDto;
import com.ycl.entity.video.VideoPoint;
+import com.ycl.service.allot.IEfficiencyService;
import com.ycl.service.carManage.ICarSlagcarService;
import com.ycl.service.equipment.IHandheldTerminalService;
import com.ycl.service.equipment.ILoudspeakerService;
@@ -10,6 +12,7 @@
import com.ycl.util.CheckApiUtil;
import com.ycl.util.VideoUtil;
import com.ycl.vo.cockpit.CockpitVO;
+import com.ycl.vo.cockpit.aiIot.AIIotStatisticsVO;
import com.ycl.vo.cockpit.aiIot.AIIotVO;
import com.ycl.vo.cockpit.aiIot.EfficiencyVO;
import com.ycl.vo.cockpit.aiIot.VideoVO;
@@ -26,6 +29,8 @@
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.List;
+import java.util.function.Function;
+import java.util.function.ToIntFunction;
import java.util.stream.Collectors;
/**
@@ -51,6 +56,9 @@
ILoudspeakerService loudspeakerService;
@Autowired
ICarSlagcarService iCarSlagcarService;
+ @Autowired
+ IEfficiencyService iEfficiencyService;
+
@ApiOperation(value = "鐩戞祴鏁版嵁")
@GetMapping("/detection")
@@ -59,9 +67,9 @@
AIIotVO.DetectionVO detectionVO = new AIIotVO.DetectionVO();
detectionVO.setVideo(iVideoPointService.count());
detectionVO.setIndividual(iHandheldTerminalService.count());
- detectionVO.setLampblack(154L);
- /// TODO: 2022/12/13 缂哄皯娌圭儫鏈虹洃鎺ц〃
- detectionVO.setLoudspeaker(loudspeakerService.count());
+ detectionVO.setLampblack(iEfficiencyService.getSmokeCustomer());
+
+ detectionVO.setLoudspeaker(34L);
detectionVO.setSlagCar(iCarSlagcarService.count());
return CommonResult.success(detectionVO);
}
@@ -71,31 +79,43 @@
public CommonResult video(@Validated CockpitVO params) {
checkApiUtil.cockpit(params);
/// TODO: 2022/12/13 瑙嗛鐐逛綅璁惧涓虹┖ 娌℃暟鎹�
- return CommonResult.success(iVideoPointService.list(new LambdaQueryWrapper<VideoPoint>().eq(params.getStreetId() != null, VideoPoint::getStreetId, params.getStreetId()).isNotNull(VideoPoint::getPlatResourceId)).stream().map(item -> {
+ List<VideoPoint> list = iVideoPointService.list(new LambdaQueryWrapper<VideoPoint>()
+ .eq(params.getStreetId() != null, VideoPoint::getStreetId, params.getStreetId())
+ .isNotNull(VideoPoint::getPlatResourceId).orderByDesc(VideoPoint::getId));
+
+ List<VideoVO> vos = list.stream().map(item -> {
VideoVO videoVO = new VideoVO();
videoVO.setName(item.getName());
videoVO.setBrand(item.getEquipmentBrand());
videoVO.setModel(item.getEquipmentModel());
videoVO.setIp(item.getEquipmentIp());
- videoVO.setLatitude(item.getLatitude().toString());
- videoVO.setLongitude(item.getLongitude().toString());
+ videoVO.setLatitude(item.getLatitude() != null ? item.getLatitude().toString() : "");
+ videoVO.setLongitude(item.getLongitude() != null ? item.getLongitude().toString() : "");
videoVO.setResourceId(item.getPlatResourceId());
+ videoVO.setCode(item.getCode());
return videoVO;
- }).collect(Collectors.toList()));
+ }).collect(Collectors.toList());
+
+ return CommonResult.success(vos);
+
}
@ApiOperation(value = "AI绠楁硶鏁堣兘")
@GetMapping("/efficiency")
public CommonResult efficiency(@Validated CockpitVO params) {
checkApiUtil.cockpit(params);
- List<EfficiencyVO> efficiencyVOS = new ArrayList<>();
- for (int i = 0; i < 4; i++) {
+ List<EfficiencyDto> list = iEfficiencyService.list();
+ List<EfficiencyVO> efficiencyVOS = list.stream().map((Function<EfficiencyDto, EfficiencyVO>) efficiencyDto -> {
EfficiencyVO a = new EfficiencyVO();
- a.setType("閬撹矾鐮存崯");
- a.setCount(12);
- a.setRatio(new BigDecimal("0.63").setScale(2, RoundingMode.HALF_UP));
- efficiencyVOS.add(a);
- }
+ a.setType(efficiencyDto.getName());
+ a.setCount(efficiencyDto.getNumber());
+ a.setRatio(1.0 - ((double) efficiencyDto.getErrorNumber() / (double) efficiencyDto.getNumber()));
+ return a;
+ }).collect(Collectors.toList());
+ efficiencyVOS.add(new EfficiencyVO("搴楀缁忚惀", 0, 0.0));
+ efficiencyVOS.add(new EfficiencyVO("娌胯鏅炬檼", 0, 0.0));
+ efficiencyVOS.add(new EfficiencyVO("鏃犵収缁忚惀娓稿晢", 0, 0.0));
+ efficiencyVOS.add(new EfficiencyVO("杩濊鎾戜紴", 0, 0.0));
return CommonResult.success(efficiencyVOS);
}
@@ -103,31 +123,21 @@
@GetMapping("/slag_car")
public CommonResult<AIIotVO.SlagCarVO> slagCar(@Validated CockpitVO params) {
checkApiUtil.cockpit(params);
+
AIIotVO.SlagCarVO slagCarVO = new AIIotVO.SlagCarVO();
- slagCarVO.setCar(236);
- slagCarVO.setTeam(20);
+ slagCarVO.setCar(iCarSlagcarService.count());
+ slagCarVO.setTeam(0L);
+
return CommonResult.success(slagCarVO);
}
@ApiOperation(value = "AI浜嬩欢缁熻")
@GetMapping("/event_statistics")
- public CommonResult<List<AIIotVO.StatisticsVO>> statistics(@Validated CockpitVO params) {
+ public CommonResult<List<AIIotStatisticsVO>> statistics(@Validated CockpitVO params) {
checkApiUtil.cockpit(params);
- List<AIIotVO.StatisticsVO> statisticsVOS = new ArrayList<>();
- List<AIIotVO.Statistics1VO> statistics1VOS = new ArrayList<>();
- AIIotVO.StatisticsVO a = null;
- AIIotVO.Statistics1VO a1 = null;
- for (int i = 0; i < 4; i++) {
- a = new AIIotVO.StatisticsVO();
- a1 = new AIIotVO.Statistics1VO();
- a.setType("閬撹矾鐮存崯");
- a1.setCount(12);
- a1.setMonth("2022-10");
- statistics1VOS.add(a1);
- a.setRecords(statistics1VOS);
- statisticsVOS.add(a);
- }
- return CommonResult.success(statisticsVOS);
+
+ List<AIIotStatisticsVO> list = iEfficiencyService.aiMonthList(params.getBeginTime(), params.getEndTime());
+ return CommonResult.success(list);
}
--
Gitblit v1.8.0