ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java
@@ -48,7 +48,7 @@ @Excel(name = "设备经度,至少保留六位小数") private String longitude; /** 设备维度,至少保留六位小数 */ /** 设备纬度,至少保留六位小数 */ @Excel(name = "设备维度,至少保留六位小数") private String latitude; @@ -97,7 +97,7 @@ @Excel(name = "管理单位联系方式") private String muContactInfo; /** 录象保存天数 0 - 2147483647 */ /** 录像保存天数 0 - 2147483647 */ @Excel(name = "录象保存天数 0 - 2147483647") private Long storageDays; ycl-pojo/src/main/java/com/ycl/platform/domain/query/DateCenterQuery.java
New file @@ -0,0 +1,14 @@ package com.ycl.platform.domain.query; import lombok.Data; /** * 数据中心查询 * * @author:xp * @date:2024/7/31 17:06 */ @Data public class DateCenterQuery { } ycl-pojo/src/main/java/com/ycl/platform/domain/query/ScreenQuery.java
New file @@ -0,0 +1,17 @@ package com.ycl.platform.domain.query; import lombok.Data; /** * @author:xp * @date:2024/7/31 17:06 */ @Data public class ScreenQuery { /** * 数据权限:0:省厅,1市局,2 */ private Integer dataScope; } ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/AttrRecognitionMonitorResult.java
@@ -5,7 +5,7 @@ import org.springframework.data.mongodb.core.mapping.Document; /** * 属性识别准确监测结果 * 属性识别准确监测结果:车辆(车辆卡口设备抓拍数据准确性、) * * @author gonghl */ ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/CrossDetailResult.java
@@ -5,7 +5,7 @@ import org.springframework.data.mongodb.core.mapping.Document; /** * 卡口属性监测结果(调整,可查历史) * 卡口属性监测结果:车辆(车辆卡口信息采集准确率、) * * @author gonghl */ ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/DataIntegrityMonitoringResult.java
@@ -5,7 +5,7 @@ import org.springframework.data.mongodb.core.mapping.Document; /** * 数据完整性监测结果,2.2.0版本新增 * 数据完整性监测结果:车量(车辆卡口设备抓拍数据完整性、) * * @author gonghl */ ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/SnapshotDataMonitorResult.java
@@ -5,7 +5,7 @@ import org.springframework.data.mongodb.core.mapping.Document; /** * 抓拍数据量监测结果 * 抓拍数据量监测结果:车辆(视图库对接稳定性、点位在线率、) * * @author gonghl */ ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/ScreenWorkOrderVO.java
New file @@ -0,0 +1,23 @@ package com.ycl.platform.domain.vo.screen; import lombok.Data; /** * 大屏工单数据 * * @author:xp * @date:2024/7/31 16:52 */ @Data public class ScreenWorkOrderVO { /** 工单总数 */ private Integer total; /** 所有已完成工单 */ private Integer totalHandler; /** 未完成工单 */ private Integer totalNotFinish; } ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java
New file @@ -0,0 +1,18 @@ package com.ycl.platform.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * 数据中心接口 * * @author:xp * @date:2024/8/1 16:40 */ @RestController @RequestMapping("/data/center") public class DataCenterController { } ycl-server/src/main/java/com/ycl/platform/controller/FullScreenController.java
New file @@ -0,0 +1,58 @@ package com.ycl.platform.controller; import com.ycl.platform.domain.query.ScreenQuery; import com.ycl.platform.service.WorkOrderService; import com.ycl.system.Result; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @author:xp * @date:2024/7/31 16:01 */ @RequiredArgsConstructor @RestController @RequestMapping("/screen") public class FullScreenController { private final WorkOrderService workOrderService; /** * 大屏工单数据 * * @param query * @return */ @GetMapping("/work/order") public Result workOrder(ScreenQuery query) { return workOrderService.screenWorkOrder(query); } /** * 大屏设备数据 * * @param query * @return */ @GetMapping("/device") public Result device(ScreenQuery query) { // todo 查询一机一档数据 return workOrderService.screenWorkOrder(query); } /** * 大屏审核数据 * * @param query * @return */ @GetMapping("/assessment/data") public Result assessmentData(ScreenQuery query) { // todo 查mongo return workOrderService.screenWorkOrder(query); } } ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java
@@ -4,6 +4,7 @@ import com.ycl.platform.domain.entity.WorkOrder; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ycl.platform.domain.query.DistributeWorkOrderQuery; import com.ycl.platform.domain.query.ScreenQuery; import com.ycl.platform.domain.query.WorkOrderQuery; import com.ycl.platform.domain.vo.WorkOrderVO; import com.ycl.platform.domain.form.WorkOrderForm; @@ -11,6 +12,7 @@ import com.ycl.platform.domain.vo.WorkOrderYwConditionRecordVO; import com.ycl.platform.domain.vo.YwPointJobVO; import com.ycl.platform.domain.vo.screen.ScreenWorkOrderVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -33,4 +35,12 @@ * @return */ List<YwPointJobVO> handlingWorkOrderList(); /** * 统计大屏工单数据 * * @param query * @return */ ScreenWorkOrderVO screenWorkOrder(@Param("query") ScreenQuery query); } ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java
New file @@ -0,0 +1,173 @@ package com.ycl.platform.service; import com.ycl.platform.domain.query.DateCenterQuery; import com.ycl.platform.domain.result.HK.AttrRecognitionMonitorResult; import com.ycl.platform.domain.result.HK.CrossDetailResult; import com.ycl.platform.domain.result.HK.DataIntegrityMonitoringResult; import com.ycl.platform.domain.result.HK.SnapshotDataMonitorResult; import com.ycl.platform.domain.result.UY.RecordMetaDSumResult; import com.ycl.platform.domain.vo.TMonitorVO; import java.util.List; /** * @author:xp * @date:2024/8/1 16:42 */ public interface DataCenterService { /** * 视频:点位在线率 * * @param query * @return */ // TODO 返回数据对象更换 List<TMonitorVO> videoPointOnlineRate(DateCenterQuery query); /** * 视频:一机一档注册率 * * @param query * @return */ List<TMonitorVO> videoOneMachineDocumentRegister(DateCenterQuery query); /** * 视频:一机一档合格率 * * @param query * @return */ List<TMonitorVO> videoOneMachineDocumentQualified(DateCenterQuery query); /** * 视频:档案考核比 * * @param query * @return */ List<TMonitorVO> videoAssessmentFileRatio(DateCenterQuery query); /** * 视频:录像可用率 * * @param query * @return */ List<RecordMetaDSumResult> videoAvailabilityRate(DateCenterQuery query); /** * 视频:重点点位录像可用率 * * @param query * @return */ List<RecordMetaDSumResult> videoImportantPointAvailabilityRate(DateCenterQuery query); /** * 视频:标注正确率 * * @param query * @return */ // TODO 返回数据对象更换 List<TMonitorVO> videoLabelingAccuracy(DateCenterQuery query); /** * 视频:重点点位标注正确率 * * @param query * @return */ // TODO 返回数据对象更换 List<TMonitorVO> videoImportantPointLabelingAccuracy(DateCenterQuery query); /** * 视频:校时正确率 * * @param query * @return */ // TODO 返回数据对象更换 List<TMonitorVO> videoCheckTimeAccuracy(DateCenterQuery query); /** * 视频:重点点位校时正确率 * * @param query * @return */ // TODO 返回数据对象更换 List<TMonitorVO> videoImportantPointCheckTimeAccuracy(DateCenterQuery query); /** * 视频:重点点位在线率 * * @param query * @return */ // TODO 返回数据对象更换 List<TMonitorVO> videoImportantPointOnlineRate(DateCenterQuery query); /** * 视频:重点指挥图像在线率 * * @param query * @return */ // TODO 返回数据对象更换 List<TMonitorVO> videoImportantPointImageOnlineRate(DateCenterQuery query); /** * 车辆:视图库对接稳定性 * * @param query * @return */ List<SnapshotDataMonitorResult> vehicleViewDockStable(DateCenterQuery query); /** * 车辆:点位在线率 * * @param query * @return */ List<SnapshotDataMonitorResult> vehiclePointOnlineRate(DateCenterQuery query); /** * 车辆:互联网卡口设备目录一致性 * * @param query * @return */ List<TMonitorVO> vehicleNetDeviceDirectoryConsistency(DateCenterQuery query); /** * 车辆:车辆卡口信息采集准确率 * * @param query * @return */ List<CrossDetailResult> vehicleCollectionConsistency(DateCenterQuery query); /** * 车辆:车辆卡口设备抓拍数据完整性 * * @param query * @return */ List<DataIntegrityMonitoringResult> vehicleCollectionDataIntegrity(DateCenterQuery query); /** * 车辆:车辆卡口设备抓拍数据准确性 * * @param query * @return */ List<AttrRecognitionMonitorResult> vehicleCollectionDataCaptured(DateCenterQuery query); } ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.platform.domain.form.*; import com.ycl.platform.domain.query.DistributeWorkOrderQuery; import com.ycl.platform.domain.query.ScreenQuery; import com.ycl.platform.domain.vo.DistributeWorkOrderVO; import com.ycl.system.Result; import com.ycl.platform.domain.query.WorkOrderQuery; @@ -135,4 +136,10 @@ */ Result selectedIdsDistribute(DistributeWorkOrderQuery query); /** * 大屏工单统计 * @param query * @return */ Result screenWorkOrder(ScreenQuery query); } ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -9,10 +9,12 @@ import com.ycl.platform.domain.entity.*; import com.ycl.platform.domain.form.*; import com.ycl.platform.domain.query.DistributeWorkOrderQuery; import com.ycl.platform.domain.query.ScreenQuery; import com.ycl.platform.domain.query.WorkOrderQuery; import com.ycl.platform.domain.vo.DistributeWorkOrderVO; import com.ycl.platform.domain.vo.WorkOrderVO; import com.ycl.platform.domain.vo.WorkOrderYwConditionRecordVO; import com.ycl.platform.domain.vo.screen.ScreenWorkOrderVO; import com.ycl.platform.mapper.*; import com.ycl.platform.service.NotifyService; import com.ycl.platform.service.WorkOrderAuditingRecordService; @@ -24,16 +26,13 @@ import com.ycl.utils.SecurityUtils; import com.ycl.utils.redis.RedisCache; import com.ycl.utils.uuid.IdUtils; import constant.PointConfigConstants; import enumeration.general.*; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.ArrayUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import java.time.LocalDateTime; @@ -41,7 +40,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; /** @@ -419,4 +417,10 @@ .collect(Collectors.toList()); return Result.ok().data(vos); } @Override public Result screenWorkOrder(ScreenQuery query) { ScreenWorkOrderVO screen = baseMapper.screenWorkOrder(query); return Result.ok().data(screen); } } ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
@@ -81,4 +81,13 @@ wo.status = 'DISTRIBUTED' AND wo.deleted = 0 </select> <select id="screenWorkOrder" resultType="com.ycl.platform.domain.vo.screen.ScreenWorkOrderVO"> SELECT count(*) AS total, SUM(CASE WHEN status = 'AUDITING_SUCCESS' THEN 1 ELSE 0 END) AS totalHandler, SUM(CASE WHEN status = 'DISTRIBUTED' THEN 1 ELSE 0 END) AS totalNotFinish FROM t_work_order </select> </mapper>