ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-platform/src/main/java/com/ycl/dto/allot/EfficiencyDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-platform/src/main/java/com/ycl/mapper/allot/EfficiencyMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-platform/src/main/java/com/ycl/service/allot/IEfficiencyService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-platform/src/main/java/com/ycl/service/allot/impl/EfficiencyServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/EfficiencyVO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-platform/src/main/resources/mapper/allot/EfficiencyMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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; @@ -26,6 +28,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 +55,8 @@ ILoudspeakerService loudspeakerService; @Autowired ICarSlagcarService iCarSlagcarService; @Autowired IEfficiencyService iEfficiencyService; @ApiOperation(value = "监测数据") @GetMapping("/detection") @@ -95,14 +101,15 @@ @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(); int sum = list.stream().mapToInt(EfficiencyDto::getNumber).sum(); 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(new BigDecimal((double)efficiencyDto.getNumber() / (double) sum).setScale(2, RoundingMode.HALF_UP)); return a; }).collect(Collectors.toList()); return CommonResult.success(efficiencyVOS); } ycl-platform/src/main/java/com/ycl/dto/allot/EfficiencyDto.java
New file @@ -0,0 +1,9 @@ package com.ycl.dto.allot; import lombok.Data; @Data public class EfficiencyDto { private String name; private Integer number; } ycl-platform/src/main/java/com/ycl/mapper/allot/EfficiencyMapper.java
New file @@ -0,0 +1,10 @@ package com.ycl.mapper.allot; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ycl.dto.allot.EfficiencyDto; import java.util.List; public interface EfficiencyMapper extends BaseMapper { List<EfficiencyDto> list(); } ycl-platform/src/main/java/com/ycl/service/allot/IEfficiencyService.java
New file @@ -0,0 +1,10 @@ package com.ycl.service.allot; import com.ycl.dto.allot.EfficiencyDto; import java.util.List; public interface IEfficiencyService { List<EfficiencyDto> list(); } ycl-platform/src/main/java/com/ycl/service/allot/impl/EfficiencyServiceImpl.java
New file @@ -0,0 +1,20 @@ package com.ycl.service.allot.impl; import com.ycl.dto.allot.EfficiencyDto; import com.ycl.mapper.allot.EfficiencyMapper; import com.ycl.service.allot.IEfficiencyService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; @Service public class EfficiencyServiceImpl implements IEfficiencyService { @Resource EfficiencyMapper efficiencyMapper; @Override public List<EfficiencyDto> list() { return efficiencyMapper.list(); } } ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/EfficiencyVO.java
@@ -2,10 +2,12 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.ToString; import java.math.BigDecimal; @Data @ToString public class EfficiencyVO { @ApiModelProperty(value = "物联网设备类型") private String type; ycl-platform/src/main/resources/mapper/allot/EfficiencyMapper.xml
New file @@ -0,0 +1,21 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ycl.mapper.allot.EfficiencyMapper"> <select id="list" resultType="com.ycl.dto.allot.EfficiencyDto"> SELECT t4.NAME NAME, COUNT(1) NUMBER FROM `ums_base_case` AS ubc JOIN ums_violations AS uv ON ubc.id = uv.id LEFT JOIN ums_data_dictionary AS t3 ON uv.category_id = t3.id LEFT JOIN ums_data_dictionary AS t4 ON uv.type_id = t4.id LEFT JOIN ums_sccg_region t5 ON ubc.street_id = t5.id WHERE ubc.category = 1 AND t4.`name` IS NOT NULL GROUP BY t4.id </select> </mapper>