From ebb1a448339bafc4c4849fdbc2291bd3a28261df Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期二, 09 一月 2024 10:47:29 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java | 226 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 185 insertions(+), 41 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 a95b420..f12f6e3 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 @@ -1,12 +1,18 @@ package com.ycl.controller.cockpit.aiIot; +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; import com.ycl.service.video.impl.IVideoPointService; import com.ycl.util.CheckApiUtil; import com.ycl.util.VideoUtil; import com.ycl.vo.cockpit.CockpitVO; -import com.ycl.vo.cockpit.aiIot.AIIotVO; -import com.ycl.vo.cockpit.aiIot.VideoVO; +import com.ycl.vo.cockpit.aiIot.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -20,6 +26,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; /** @@ -39,17 +47,27 @@ private IVideoPointService iVideoPointService; @Autowired private VideoUtil videoUtil; + @Autowired + IHandheldTerminalService iHandheldTerminalService; + @Autowired + ILoudspeakerService loudspeakerService; + @Autowired + ICarSlagcarService iCarSlagcarService; + @Autowired + IEfficiencyService iEfficiencyService; + @ApiOperation(value = "鐩戞祴鏁版嵁") @GetMapping("/detection") public CommonResult<AIIotVO.DetectionVO> detection(@Validated CockpitVO params) { checkApiUtil.cockpit(params); AIIotVO.DetectionVO detectionVO = new AIIotVO.DetectionVO(); - detectionVO.setVideo(121); - detectionVO.setIndividual(20); - detectionVO.setLampblack(154); - detectionVO.setLoudspeaker(30); - detectionVO.setSlagCar(33); + detectionVO.setVideo(iVideoPointService.count()); + detectionVO.setIndividual(iHandheldTerminalService.count()); + detectionVO.setLampblack(iEfficiencyService.getSmokeCustomer()); + + detectionVO.setLoudspeaker(34L); + detectionVO.setSlagCar(iCarSlagcarService.count()); return CommonResult.success(detectionVO); } @@ -57,32 +75,44 @@ @GetMapping("/video") public CommonResult video(@Validated CockpitVO params) { checkApiUtil.cockpit(params); - return CommonResult.success(iVideoPointService.list().stream().map(item -> { + /// TODO: 2022/12/13 瑙嗛鐐逛綅璁惧涓虹┖ 娌℃暟鎹� + 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<List<AIIotVO.EfficiencyVO>> efficiency(@Validated CockpitVO params) { + public CommonResult efficiency(@Validated CockpitVO params) { checkApiUtil.cockpit(params); - List<AIIotVO.EfficiencyVO> efficiencyVOS = new ArrayList<>(); - AIIotVO.EfficiencyVO a = null; - for (int i = 0; i < 4; i++) { - a = new AIIotVO.EfficiencyVO(); - a.setType("閬撹矾鐮存崯"); - a.setCount(12); - a.setRatio(new BigDecimal("0.63").setScale(2, RoundingMode.HALF_UP)); - efficiencyVOS.add(a); - } + List<EfficiencyDto> list = iEfficiencyService.list(); + List<EfficiencyVO> efficiencyVOS = list.stream().map((Function<EfficiencyDto, EfficiencyVO>) efficiencyDto -> { + EfficiencyVO a = new EfficiencyVO(); + 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); } @@ -90,32 +120,146 @@ @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()); + List<AIIotStatisticsVO> list = new ArrayList<>(); + AIIotStatisticsVO a1 = new AIIotStatisticsVO(); + String type1 = "闈炴満鍔ㄨ溅涔卞仠鏀�"; + List<AIIotStatisticsRecordVO> records1 = new ArrayList<>(); + AIIotStatisticsRecordVO ai1 = new AIIotStatisticsRecordVO(); + ai1.setMonth("2024-01"); + ai1.setCount(210); + AIIotStatisticsRecordVO ai2 = new AIIotStatisticsRecordVO(); + ai2.setMonth("2023-12"); + ai2.setCount(183); + AIIotStatisticsRecordVO ai3 = new AIIotStatisticsRecordVO(); + ai3.setMonth("2023-11"); + ai3.setCount(157); + AIIotStatisticsRecordVO ai4 = new AIIotStatisticsRecordVO(); + ai4.setMonth("2023-10"); + ai4.setCount(231); + AIIotStatisticsRecordVO ai5 = new AIIotStatisticsRecordVO(); + ai5.setMonth("2023-09"); + ai5.setCount(256); + AIIotStatisticsRecordVO ai6 = new AIIotStatisticsRecordVO(); + ai6.setMonth("2023-08"); + ai6.setCount(311); + records1.add(ai1); + records1.add(ai2); + records1.add(ai3); + records1.add(ai4); + records1.add(ai5); + records1.add(ai6); + a1.setType(type1); + a1.setRecords(records1); + list.add(a1); + + AIIotStatisticsVO a2 = new AIIotStatisticsVO(); + String type2 = "搴楀缁忚惀"; + List<AIIotStatisticsRecordVO> records2 = new ArrayList<>(); + AIIotStatisticsRecordVO bi1 = new AIIotStatisticsRecordVO(); + bi1.setMonth("2024-01"); + bi1.setCount(273); + AIIotStatisticsRecordVO bi2 = new AIIotStatisticsRecordVO(); + bi2.setMonth("2023-12"); + bi2.setCount(231); + AIIotStatisticsRecordVO bi3 = new AIIotStatisticsRecordVO(); + bi3.setMonth("2023-11"); + bi3.setCount(303); + AIIotStatisticsRecordVO bi4 = new AIIotStatisticsRecordVO(); + bi4.setMonth("2023-10"); + bi4.setCount(219); + AIIotStatisticsRecordVO bi5 = new AIIotStatisticsRecordVO(); + bi5.setMonth("2023-09"); + bi5.setCount(245); + AIIotStatisticsRecordVO bi6 = new AIIotStatisticsRecordVO(); + bi6.setMonth("2023-08"); + bi6.setCount(223); + records2.add(bi1); + records2.add(bi2); + records2.add(bi3); + records2.add(bi4); + records2.add(bi5); + records2.add(bi6); + a2.setType(type2); + a2.setRecords(records2); + list.add(a2); + + AIIotStatisticsVO a3 = new AIIotStatisticsVO(); + String type3 = "鏃犵収缁忚惀娓稿晢"; + List<AIIotStatisticsRecordVO> records3 = new ArrayList<>(); + AIIotStatisticsRecordVO ci1 = new AIIotStatisticsRecordVO(); + ci1.setMonth("2024-01"); + ci1.setCount(313); + AIIotStatisticsRecordVO ci2 = new AIIotStatisticsRecordVO(); + ci2.setMonth("2023-12"); + ci2.setCount(247); + AIIotStatisticsRecordVO ci3 = new AIIotStatisticsRecordVO(); + ci3.setMonth("2023-11"); + ci3.setCount(267); + AIIotStatisticsRecordVO ci4 = new AIIotStatisticsRecordVO(); + ci4.setMonth("2023-10"); + ci4.setCount(249); + AIIotStatisticsRecordVO ci5 = new AIIotStatisticsRecordVO(); + ci5.setMonth("2023-09"); + ci5.setCount(265); + AIIotStatisticsRecordVO ci6 = new AIIotStatisticsRecordVO(); + ci6.setMonth("2023-08"); + ci6.setCount(306); + records3.add(ci1); + records3.add(ci2); + records3.add(ci3); + records3.add(ci4); + records3.add(ci5); + records3.add(ci6); + a3.setType(type3); + a3.setRecords(records3); + list.add(a3); + + + AIIotStatisticsVO a4 = new AIIotStatisticsVO(); + String type4 = "鍗犻亾缁忚惀"; + List<AIIotStatisticsRecordVO> records4 = new ArrayList<>(); + AIIotStatisticsRecordVO di1 = new AIIotStatisticsRecordVO(); + di1.setMonth("2024-01"); + di1.setCount(267); + AIIotStatisticsRecordVO di2 = new AIIotStatisticsRecordVO(); + di2.setMonth("2023-12"); + di2.setCount(347); + AIIotStatisticsRecordVO di3 = new AIIotStatisticsRecordVO(); + di3.setMonth("2023-11"); + di3.setCount(354); + AIIotStatisticsRecordVO di4 = new AIIotStatisticsRecordVO(); + di4.setMonth("2023-10"); + di4.setCount(314); + AIIotStatisticsRecordVO di5 = new AIIotStatisticsRecordVO(); + di5.setMonth("2023-09"); + di5.setCount(317); + AIIotStatisticsRecordVO di6 = new AIIotStatisticsRecordVO(); + di6.setMonth("2023-08"); + di6.setCount(274); + records4.add(di1); + records4.add(di2); + records4.add(di3); + records4.add(di4); + records4.add(di5); + records4.add(di6); + a4.setType(type4); + a4.setRecords(records4); + list.add(a4); + + return CommonResult.success(list); } - - } -- Gitblit v1.8.0