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