From fbc21cce86582464cc0f65e80862e54dbd034baa Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期四, 01 八月 2024 18:22:11 +0800 Subject: [PATCH] 数据中心部分接口定义 --- ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/SnapshotDataMonitorResult.java | 2 ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml | 9 + ycl-pojo/src/main/java/com/ycl/platform/domain/query/DateCenterQuery.java | 14 ++ ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/ScreenWorkOrderVO.java | 23 +++ ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java | 7 + ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/CrossDetailResult.java | 2 ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/DataIntegrityMonitoringResult.java | 2 ycl-pojo/src/main/java/com/ycl/platform/domain/query/ScreenQuery.java | 17 ++ ycl-server/src/main/java/com/ycl/platform/controller/FullScreenController.java | 58 +++++++++ ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java | 4 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 12 + ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java | 10 + ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/AttrRecognitionMonitorResult.java | 2 ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java | 18 +++ ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java | 173 ++++++++++++++++++++++++++++ 15 files changed, 343 insertions(+), 10 deletions(-) diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java index f441a3d..c3fe608 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java +++ b/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; diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DateCenterQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DateCenterQuery.java new file mode 100644 index 0000000..cf07770 --- /dev/null +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DateCenterQuery.java @@ -0,0 +1,14 @@ +package com.ycl.platform.domain.query; + +import lombok.Data; + +/** + * 鏁版嵁涓績鏌ヨ + * + * @author锛歺p + * @date锛�2024/7/31 17:06 + */ +@Data +public class DateCenterQuery { + +} diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/ScreenQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/ScreenQuery.java new file mode 100644 index 0000000..d8f2548 --- /dev/null +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/ScreenQuery.java @@ -0,0 +1,17 @@ +package com.ycl.platform.domain.query; + +import lombok.Data; + +/** + * @author锛歺p + * @date锛�2024/7/31 17:06 + */ +@Data +public class ScreenQuery { + + /** + * 鏁版嵁鏉冮檺锛�0锛氱渷鍘咃紝1甯傚眬锛�2 + */ + private Integer dataScope; + +} diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/AttrRecognitionMonitorResult.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/AttrRecognitionMonitorResult.java index 37b6b22..027559b 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/AttrRecognitionMonitorResult.java +++ b/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; /** - * 灞炴�ц瘑鍒噯纭洃娴嬬粨鏋� + * 灞炴�ц瘑鍒噯纭洃娴嬬粨鏋滐細杞﹁締锛堣溅杈嗗崱鍙h澶囨姄鎷嶆暟鎹噯纭�с�侊級 * * @author gonghl */ diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/CrossDetailResult.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/CrossDetailResult.java index 72b6697..1f43bc6 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/CrossDetailResult.java +++ b/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; /** - * 鍗″彛灞炴�х洃娴嬬粨鏋滐紙璋冩暣锛屽彲鏌ュ巻鍙诧級 + * 鍗″彛灞炴�х洃娴嬬粨鏋滐細杞﹁締锛堣溅杈嗗崱鍙d俊鎭噰闆嗗噯纭巼銆侊級 * * @author gonghl */ diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/DataIntegrityMonitoringResult.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/DataIntegrityMonitoringResult.java index 685e7e4..b861f59 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/DataIntegrityMonitoringResult.java +++ b/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鐗堟湰鏂板 + * 鏁版嵁瀹屾暣鎬х洃娴嬬粨鏋滐細杞﹂噺锛堣溅杈嗗崱鍙h澶囨姄鎷嶆暟鎹畬鏁存�с�侊級 * * @author gonghl */ diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/SnapshotDataMonitorResult.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/SnapshotDataMonitorResult.java index 7b56100..cea04d8 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/SnapshotDataMonitorResult.java +++ b/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 */ diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/ScreenWorkOrderVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/ScreenWorkOrderVO.java new file mode 100644 index 0000000..1504aa2 --- /dev/null +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/ScreenWorkOrderVO.java @@ -0,0 +1,23 @@ +package com.ycl.platform.domain.vo.screen; + +import lombok.Data; + +/** + * 澶у睆宸ュ崟鏁版嵁 + * + * @author锛歺p + * @date锛�2024/7/31 16:52 + */ +@Data +public class ScreenWorkOrderVO { + + /** 宸ュ崟鎬绘暟 */ + private Integer total; + + /** 鎵�鏈夊凡瀹屾垚宸ュ崟 */ + private Integer totalHandler; + + /** 鏈畬鎴愬伐鍗� */ + private Integer totalNotFinish; + +} diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java b/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java new file mode 100644 index 0000000..fb4899a --- /dev/null +++ b/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java @@ -0,0 +1,18 @@ +package com.ycl.platform.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 鏁版嵁涓績鎺ュ彛 + * + * @author锛歺p + * @date锛�2024/8/1 16:40 + */ +@RestController +@RequestMapping("/data/center") +public class DataCenterController { + + + +} diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/FullScreenController.java b/ycl-server/src/main/java/com/ycl/platform/controller/FullScreenController.java new file mode 100644 index 0000000..f964c04 --- /dev/null +++ b/ycl-server/src/main/java/com/ycl/platform/controller/FullScreenController.java @@ -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锛歺p + * @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 鏌ヨ涓�鏈轰竴妗f暟鎹� + return workOrderService.screenWorkOrder(query); + } + + /** + * 澶у睆瀹℃牳鏁版嵁 + * + * @param query + * @return + */ + @GetMapping("/assessment/data") + public Result assessmentData(ScreenQuery query) { + // todo 鏌ongo + return workOrderService.screenWorkOrder(query); + } + +} diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java index 6f29f18..e54598c 100644 --- a/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java +++ b/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); } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java b/ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java new file mode 100644 index 0000000..b223c05 --- /dev/null +++ b/ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java @@ -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锛歺p + * @date锛�2024/8/1 16:42 + */ +public interface DataCenterService { + + /** + * 瑙嗛锛氱偣浣嶅湪绾跨巼 + * + * @param query + * @return + */ + // TODO 杩斿洖鏁版嵁瀵硅薄鏇存崲 + List<TMonitorVO> videoPointOnlineRate(DateCenterQuery query); + + /** + * 瑙嗛锛氫竴鏈轰竴妗f敞鍐岀巼 + * + * @param query + * @return + */ + List<TMonitorVO> videoOneMachineDocumentRegister(DateCenterQuery query); + + /** + * 瑙嗛锛氫竴鏈轰竴妗e悎鏍肩巼 + * + * @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); + + /** + * 杞﹁締锛氳溅杈嗗崱鍙d俊鎭噰闆嗗噯纭巼 + * + * @param query + * @return + */ + List<CrossDetailResult> vehicleCollectionConsistency(DateCenterQuery query); + + /** + * 杞﹁締锛氳溅杈嗗崱鍙h澶囨姄鎷嶆暟鎹畬鏁存�� + * + * @param query + * @return + */ + List<DataIntegrityMonitoringResult> vehicleCollectionDataIntegrity(DateCenterQuery query); + + /** + * 杞﹁締锛氳溅杈嗗崱鍙h澶囨姄鎷嶆暟鎹噯纭�� + * + * @param query + * @return + */ + List<AttrRecognitionMonitorResult> vehicleCollectionDataCaptured(DateCenterQuery query); +} diff --git a/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java b/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java index 078a6b3..b0a89ce 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java +++ b/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); } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java index 8485cc6..7b6af3f 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java +++ b/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); + } } diff --git a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml index 1fe79c6..49748e8 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml +++ b/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> -- Gitblit v1.8.0