From a683718557e1e706ffcd12ecf326397714ac9475 Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期四, 16 三月 2023 21:58:35 +0800 Subject: [PATCH] 驾驶舱接口 --- ycl-platform/src/main/java/com/ycl/util/CheckApiUtil.java | 6 +- ycl-platform/src/main/java/com/ycl/mapper/allot/EfficiencyMapper.java | 2 ycl-platform/src/main/java/com/ycl/service/equipment/IOrgGridService.java | 5 + ycl-platform/src/main/resources/mapper/equipment/OrgGridMapper.xml | 24 ++++++++ ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java | 17 +++++ ycl-platform/src/main/java/com/ycl/entity/caseHandler/BaseCase.java | 5 + ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java | 1 ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/AIIotVO.java | 4 ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/VideoVO.java | 8 ++ ycl-platform/src/main/java/com/ycl/service/allot/IEfficiencyService.java | 3 + ycl-platform/src/main/java/com/ycl/mapper/equipment/OrgGridMapper.java | 5 + ycl-platform/src/main/java/com/ycl/service/equipment/impl/OrgGridServiceImpl.java | 8 ++ ycl-platform/src/main/java/com/ycl/vo/cockpit/statisticsEvents/GridMapVO.java | 29 +++++++++ ycl-platform/src/main/resources/mapper/allot/EfficiencyMapper.xml | 4 + ycl-platform/src/main/java/com/ycl/entity/video/VideoPoint.java | 6 ++ ycl-platform/src/main/java/com/ycl/service/allot/impl/EfficiencyServiceImpl.java | 7 ++ ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java | 10 ++- 17 files changed, 136 insertions(+), 8 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 bf474e7..bb353c4 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 @@ -59,6 +59,7 @@ @Autowired IEfficiencyService iEfficiencyService; + @ApiOperation(value = "鐩戞祴鏁版嵁") @GetMapping("/detection") public CommonResult<AIIotVO.DetectionVO> detection(@Validated CockpitVO params) { @@ -66,7 +67,7 @@ AIIotVO.DetectionVO detectionVO = new AIIotVO.DetectionVO(); detectionVO.setVideo(iVideoPointService.count()); detectionVO.setIndividual(iHandheldTerminalService.count()); - detectionVO.setLampblack(154L); + detectionVO.setLampblack(iEfficiencyService.getSmokeCustomer()); /// TODO: 2022/12/13 缂哄皯娌圭儫鏈虹洃鎺ц〃 detectionVO.setLoudspeaker(loudspeakerService.count()); detectionVO.setSlagCar(iCarSlagcarService.count()); @@ -91,6 +92,7 @@ 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()); @@ -117,9 +119,11 @@ @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); } diff --git a/ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java b/ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java index a608f4b..e8bf477 100644 --- a/ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java +++ b/ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java @@ -7,9 +7,11 @@ import com.ycl.entity.cockpitManage.TeamConstruction; import com.ycl.entity.cockpitManage.TeamIndex; import com.ycl.service.cockpitManage.ITeamConstructionService; +import com.ycl.service.equipment.IOrgGridService; import com.ycl.service.video.impl.IVideoPointService; import com.ycl.util.CheckApiUtil; import com.ycl.vo.cockpit.CockpitVO; +import com.ycl.vo.cockpit.statisticsEvents.GridMapVO; import com.ycl.vo.cockpit.statisticsEvents.StatisticsEventsVO; import com.ycl.vo.equipment.VideoPointVo; import io.swagger.annotations.Api; @@ -42,6 +44,8 @@ private ITeamConstructionService teamConstructionService; + private IOrgGridService orgGridService; + @Autowired public void setTeamConstructionService(ITeamConstructionService teamConstructionService) { this.teamConstructionService = teamConstructionService; @@ -50,6 +54,11 @@ @Autowired public void setVideoPointService(IVideoPointService videoPointService) { this.videoPointService = videoPointService; + } + + @Autowired + public void setOrgGridService(IOrgGridService orgGridService) { + this.orgGridService = orgGridService; } @ApiOperation(value = "鎵ф硶浜嬩欢") @@ -182,6 +191,14 @@ return CommonResult.success(page.getRecords()); } + @ApiOperation(value = "缃戞牸鍦板浘") + @GetMapping("/grid_map") + public CommonResult<List<GridMapVO>> gridMap(@Validated CockpitVO params) { + checkApiUtil.cockpit(params); + + List<GridMapVO> list = orgGridService.statisticsGridMap(params.getBeginTime(), params.getEndTime()); + return CommonResult.success(list); + } @ApiOperation(value = "闃熶紞寤鸿") @GetMapping("/team_construction") diff --git a/ycl-platform/src/main/java/com/ycl/entity/caseHandler/BaseCase.java b/ycl-platform/src/main/java/com/ycl/entity/caseHandler/BaseCase.java index 4eb7d74..439057f 100644 --- a/ycl-platform/src/main/java/com/ycl/entity/caseHandler/BaseCase.java +++ b/ycl-platform/src/main/java/com/ycl/entity/caseHandler/BaseCase.java @@ -191,6 +191,10 @@ @ApiModelProperty(value = "缁撴潫鏃堕棿") private LocalDateTime closeTime; + @TableField(value = "grid_id") + @ApiModelProperty(value = "缃戞牸id") + private Long gridId; + /** * 杩濊浜嬩欢 */ @@ -213,4 +217,5 @@ private DispatchInfo dispatchInfo; + } \ No newline at end of file diff --git a/ycl-platform/src/main/java/com/ycl/entity/video/VideoPoint.java b/ycl-platform/src/main/java/com/ycl/entity/video/VideoPoint.java index 28c6a7a..afd026a 100644 --- a/ycl-platform/src/main/java/com/ycl/entity/video/VideoPoint.java +++ b/ycl-platform/src/main/java/com/ycl/entity/video/VideoPoint.java @@ -10,6 +10,7 @@ import java.io.Serializable; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; @@ -108,4 +109,9 @@ @TableField("code") private String code; + @TableField(value = "grid_id") + @ApiModelProperty(value = "缃戞牸id") + private Long gridId; + + } diff --git a/ycl-platform/src/main/java/com/ycl/mapper/allot/EfficiencyMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/allot/EfficiencyMapper.java index 4c98a83..30bddd4 100644 --- a/ycl-platform/src/main/java/com/ycl/mapper/allot/EfficiencyMapper.java +++ b/ycl-platform/src/main/java/com/ycl/mapper/allot/EfficiencyMapper.java @@ -11,4 +11,6 @@ List<EfficiencyDto> list(); List<AIIotStatisticsVO> aiMonthList(); + + Long getSmokeCustomer(); } diff --git a/ycl-platform/src/main/java/com/ycl/mapper/equipment/OrgGridMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/equipment/OrgGridMapper.java index 8a9f583..9227c96 100644 --- a/ycl-platform/src/main/java/com/ycl/mapper/equipment/OrgGridMapper.java +++ b/ycl-platform/src/main/java/com/ycl/mapper/equipment/OrgGridMapper.java @@ -2,7 +2,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ycl.entity.equipment.OrgGrid; +import com.ycl.vo.cockpit.statisticsEvents.GridMapVO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * <p> @@ -15,4 +19,5 @@ @Mapper public interface OrgGridMapper extends BaseMapper<OrgGrid> { + List<GridMapVO> statisticsGridMap(@Param("beginTime") String beginTime, @Param("endTime") String endTime); } diff --git a/ycl-platform/src/main/java/com/ycl/service/allot/IEfficiencyService.java b/ycl-platform/src/main/java/com/ycl/service/allot/IEfficiencyService.java index 174f335..89971c9 100644 --- a/ycl-platform/src/main/java/com/ycl/service/allot/IEfficiencyService.java +++ b/ycl-platform/src/main/java/com/ycl/service/allot/IEfficiencyService.java @@ -2,6 +2,7 @@ import com.ycl.dto.allot.EfficiencyDto; import com.ycl.vo.cockpit.aiIot.AIIotStatisticsVO; +import com.ycl.vo.cockpit.aiIot.AIIotVO; import java.util.List; @@ -10,4 +11,6 @@ List<EfficiencyDto> list(); List<AIIotStatisticsVO> aiMonthList(); + + Long getSmokeCustomer(); } diff --git a/ycl-platform/src/main/java/com/ycl/service/allot/impl/EfficiencyServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/allot/impl/EfficiencyServiceImpl.java index 13659cf..d39555c 100644 --- a/ycl-platform/src/main/java/com/ycl/service/allot/impl/EfficiencyServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/allot/impl/EfficiencyServiceImpl.java @@ -4,6 +4,7 @@ import com.ycl.mapper.allot.EfficiencyMapper; import com.ycl.service.allot.IEfficiencyService; import com.ycl.vo.cockpit.aiIot.AIIotStatisticsVO; +import com.ycl.vo.cockpit.aiIot.AIIotVO; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -23,4 +24,10 @@ public List<AIIotStatisticsVO> aiMonthList() { return efficiencyMapper.aiMonthList(); } + + @Override + public Long getSmokeCustomer() { + return efficiencyMapper.getSmokeCustomer(); + } + } diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java index 86d0230..57ab292 100644 --- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java @@ -66,6 +66,7 @@ baseCase.setStreetId(videoPoint.getStreetId()); baseCase.setCommunityId(videoPoint.getCommunityId()); baseCase.setSite(videoPoint.getAddress()); + baseCase.setGridId(videoPoint.getGridId()); baseCaseService.save(baseCase); violations.setId(baseCase.getId()); diff --git a/ycl-platform/src/main/java/com/ycl/service/equipment/IOrgGridService.java b/ycl-platform/src/main/java/com/ycl/service/equipment/IOrgGridService.java index b844db6..67a8d30 100644 --- a/ycl-platform/src/main/java/com/ycl/service/equipment/IOrgGridService.java +++ b/ycl-platform/src/main/java/com/ycl/service/equipment/IOrgGridService.java @@ -3,7 +3,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.entity.equipment.OrgGrid; +import com.ycl.vo.cockpit.statisticsEvents.GridMapVO; import com.ycl.vo.equipment.HandheldTerminalVo; + +import java.util.List; /** * <p> @@ -16,4 +19,6 @@ public interface IOrgGridService extends IService<OrgGrid> { IPage<OrgGrid> search(Integer pageSize, Integer current, String name); + + List<GridMapVO> statisticsGridMap(String beginTime, String endTime); } diff --git a/ycl-platform/src/main/java/com/ycl/service/equipment/impl/OrgGridServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/equipment/impl/OrgGridServiceImpl.java index c056481..c884d35 100644 --- a/ycl-platform/src/main/java/com/ycl/service/equipment/impl/OrgGridServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/equipment/impl/OrgGridServiceImpl.java @@ -11,8 +11,11 @@ import com.ycl.entity.equipment.OrgGrid; import com.ycl.mapper.equipment.OrgGridMapper; import com.ycl.service.equipment.IOrgGridService; +import com.ycl.vo.cockpit.statisticsEvents.GridMapVO; import com.ycl.vo.equipment.HandheldTerminalVo; import org.springframework.stereotype.Service; + +import java.util.List; /** * <p> @@ -34,4 +37,9 @@ return baseMapper.selectPage(page, queryWrapper); } + + @Override + public List<GridMapVO> statisticsGridMap(String beginTime, String endTime) { + return baseMapper.statisticsGridMap(beginTime, endTime); + } } diff --git a/ycl-platform/src/main/java/com/ycl/util/CheckApiUtil.java b/ycl-platform/src/main/java/com/ycl/util/CheckApiUtil.java index 0a68dd5..4e37981 100644 --- a/ycl-platform/src/main/java/com/ycl/util/CheckApiUtil.java +++ b/ycl-platform/src/main/java/com/ycl/util/CheckApiUtil.java @@ -45,8 +45,8 @@ sb.append(params.getStreetId()); } result = MD5Util.md5Encrypt32Lower(sb.toString()); - // if (!params.getSign().equals(result)) { - // throw new ApiException(ResultCode.SIGN_ERROR); - // } + if (!params.getSign().equals(result)) { + throw new ApiException(ResultCode.SIGN_ERROR); + } } } diff --git a/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/AIIotVO.java b/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/AIIotVO.java index fa5d0ca..799b8f1 100644 --- a/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/AIIotVO.java +++ b/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/AIIotVO.java @@ -48,10 +48,10 @@ @Data public static class SlagCarVO { @ApiModelProperty(value = "杞﹂槦鏁�") - private Integer team; + private Long team; @ApiModelProperty(value = "杞﹁締鏁�") - private Integer car; + private Long car; } diff --git a/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/VideoVO.java b/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/VideoVO.java index f6b15e7..6b31c9a 100644 --- a/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/VideoVO.java +++ b/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/VideoVO.java @@ -1,5 +1,6 @@ package com.ycl.vo.cockpit.aiIot; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -23,4 +24,11 @@ private String ip; @ApiModelProperty(value = "URL鍦板潃") private String url; + + /** + * 璁惧鐮� + */ + @ApiModelProperty(value = "璁惧鐮�") + private String code; + } diff --git a/ycl-platform/src/main/java/com/ycl/vo/cockpit/statisticsEvents/GridMapVO.java b/ycl-platform/src/main/java/com/ycl/vo/cockpit/statisticsEvents/GridMapVO.java new file mode 100644 index 0000000..818d6d6 --- /dev/null +++ b/ycl-platform/src/main/java/com/ycl/vo/cockpit/statisticsEvents/GridMapVO.java @@ -0,0 +1,29 @@ +package com.ycl.vo.cockpit.statisticsEvents; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel(description = "缃戞牸鍦板浘") +@Data +public class GridMapVO { + + @ApiModelProperty(value = "缃戞牸鍚嶇О") + private String name; + + @ApiModelProperty(value = "缃戞牸鍐呭悇绫昏澶囨暟閲�") + private Integer videoCount; + + @ApiModelProperty(value = "缃戞牸鍐呬簨浠舵�绘暟") + private Integer eventCount; + + @ApiModelProperty(value = "ai浜嬩欢鏁伴噺") + private Integer aiCount; + + @ApiModelProperty(value = "缃戞牸涓婃姤浜嬩欢鏁伴噺") + private Integer handCount; + + public Integer getHandCount() { + return this.eventCount - this.aiCount; + } +} diff --git a/ycl-platform/src/main/resources/mapper/allot/EfficiencyMapper.xml b/ycl-platform/src/main/resources/mapper/allot/EfficiencyMapper.xml index f7ac3e9..3bf526b 100644 --- a/ycl-platform/src/main/resources/mapper/allot/EfficiencyMapper.xml +++ b/ycl-platform/src/main/resources/mapper/allot/EfficiencyMapper.xml @@ -44,4 +44,8 @@ GROUP BY t4.id,DATE_FORMAT(alarm_time,'%Y-%m') </select> + <select id="getSmokeCustomer" resultType="java.lang.Long"> + select count(1) total from ums_ods_customer + </select> + </mapper> diff --git a/ycl-platform/src/main/resources/mapper/equipment/OrgGridMapper.xml b/ycl-platform/src/main/resources/mapper/equipment/OrgGridMapper.xml index 2b20916..871491d 100644 --- a/ycl-platform/src/main/resources/mapper/equipment/OrgGridMapper.xml +++ b/ycl-platform/src/main/resources/mapper/equipment/OrgGridMapper.xml @@ -15,5 +15,29 @@ <sql id="Base_Column_List"> id, worker, contact, area, region </sql> + <select id="statisticsGridMap" resultType="com.ycl.vo.cockpit.statisticsEvents.GridMapVO"> + SELECT + * + FROM + ( + SELECT + og.id, + og.`name`, + COUNT( DISTINCT v.id ) eventCount , + sum(case WHEN v.video_point_id is not null then 1 else 0 END ) aiCount + FROM + ums_org_grid og + LEFT JOIN ums_base_case bc ON og.id = bc.grid_id + LEFT JOIN ums_violations v ON v.id = bc.id + + <if test="beginTime!=null"> + and bc.alarm_time BETWEEN #{beginTime} and #{endTime} + </if> + GROUP BY + og.id, + og.`name` + ) v_case + LEFT JOIN ( SELECT grid_id, COUNT( id ) videoCount FROM ums_video_point GROUP BY grid_id ) AS v_video ON v_case.id = v_video.grid_id + </select> </mapper> -- Gitblit v1.8.0