From 1cad14bca191807e18705c3a5526eda8151be439 Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期一, 14 四月 2025 23:10:22 +0800 Subject: [PATCH] 批量审核和图片保存bug --- ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java | 210 ++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 171 insertions(+), 39 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 eb5d673..19569e4 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,8 +12,7 @@ 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; @@ -25,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; /** @@ -50,6 +53,9 @@ ILoudspeakerService loudspeakerService; @Autowired ICarSlagcarService iCarSlagcarService; + @Autowired + IEfficiencyService iEfficiencyService; + @ApiOperation(value = "鐩戞祴鏁版嵁") @GetMapping("/detection") @@ -58,9 +64,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); } @@ -69,32 +75,44 @@ @GetMapping("/video") public CommonResult video(@Validated CockpitVO params) { checkApiUtil.cockpit(params); - return CommonResult.success(iVideoPointService.list(new LambdaQueryWrapper<VideoPoint>().eq(params.getStreetId()==null,VideoPoint::getStreetId,params.getStreetId())).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); } @@ -102,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