From 73caf5a7072976021f43a764ed2ad73404f4d040 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期四, 02 一月 2025 13:42:15 +0800
Subject: [PATCH] mongo索引、运行监控报表调整

---
 ycl-server/src/main/java/com/ycl/task/ContractTask.java |   20 ++++++++++++++------
 1 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/task/ContractTask.java b/ycl-server/src/main/java/com/ycl/task/ContractTask.java
index 2112870..7767e99 100644
--- a/ycl-server/src/main/java/com/ycl/task/ContractTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/ContractTask.java
@@ -179,7 +179,7 @@
                 .collect(Collectors.groupingBy(
                         CalculateRuleVO::getRuleName,  // 鎸夎鍒欏悕绉板垎缁�
                         Collectors.groupingBy(
-                                CalculateRuleVO::getContractId // 姣忎釜瑙勫垯鍚嶇О鍐呴儴鍐嶆寜鍚堝悓ID鍒嗙粍,value涓鸿鍒欓泦鍚�
+                                CalculateRuleVO::getContractId // 姣忎釜瑙勫垯鍚嶇О鍐呴儴鍐嶆寜鍚堝悓ID鍒嗙粍,value涓鸿鍒欓泦鍚�(澶氫釜鍚堝悓鎯呭喌)
                         )
                 ));
         //鍓嶇鎰熺煡婧愭不鐞嗗伐浣滐紙鏃堕挓鍚屾瑙勫垯銆丱SD瑙勫垯銆佷竴鏈轰竴妗h鍒欙級 鑾峰彇key涓哄悎鍚宨d锛寁alue涓鸿鍒欑殑map
@@ -195,13 +195,14 @@
         LocalDateTime endTime = LocalDateTime.now();
         // 璁$畻30澶╁墠鐨勬棩鏈�
         LocalDateTime startTime = endTime.minusDays(30);
+        //闇�瑕佹煡瀹℃牳閫氳繃閭f潯璁板綍鐨勬椂闂�
         List<WorkOrderVO> workOrders = workOrderMapper.selectPassOrder(startTime, endTime, WorkOrderStatusEnum.AUDITING_SUCCESS.getValue(), "瀹℃牳閫氳繃");
         for (WorkOrderVO workOrder : workOrders) {
             //妫�娴嬫槸鍚︽姤澶囪繃
             if (!CollectionUtils.isEmpty(reportNumbers)) {
                 if (reportNumbers.contains(workOrder.getSerialNumber())) continue;
             }
-            if(!WorkOrderStatusEnum.AUDITING_SUCCESS.equals(workOrder.getStatus())) continue;
+//            if(!WorkOrderStatusEnum.AUDITING_SUCCESS.equals(workOrder.getStatus())) continue;
             String errorType = workOrder.getErrorType();
             //瀛樺偍鏁呴殰 褰曞儚鎴栧浘鐗囪闂紓甯� 锛堟敼鎴愭墜鍔ㄦ墦鍒嗕簡锛�
 //            if (ErrorType.VIDEO_NONE.getValue().equals(errorType) || ErrorType.PIC_URLABNORMAL.getValue().equals(errorType)) {
@@ -238,8 +239,16 @@
                             Date createTime = workOrder.getDistributeTime();
                             Date auditTime = workOrder.getAuditTime();
                             double diffTime = (double) (auditTime.getTime() - createTime.getTime()) / (1000 * 60 * 60);
-                            //閫夋嫨鏃堕棿鑼冨洿鍐呯殑瑙勫垯
+                            //鎵惧埌瀵瑰簲瑙勫垯銆侀�夋嫨鏃堕棿鑼冨洿鍐呯殑瑙勫垯
                             for (CalculateRuleVO rule : rules) {
+                                if(ErrorType.OSD_ERROR.getValue().equals(errorType)){
+                                    if(!rule.getRuleCondition().equals("OSD鏍囪瘑")) continue;
+                                }else if(ErrorType.CLOCK_SKEW.getValue().equals(errorType)){
+                                    if(!rule.getRuleCondition().equals("鏃堕挓鍚屾")) continue;
+                                }else if( ErrorType.POINT_INFO_ERROR.getValue().equals(errorType)){
+                                    if(!rule.getRuleCondition().equals("涓�鏈轰竴妗�")) continue;
+                                }
+
                                 if (checkRange(rule.getMin(), rule.getMax(), new BigDecimal(diffTime))) {
                                     double deductScore = rule.getCalcFraction();
                                     ContractScore contractScore = getContractScore(rule, deductScore, Math.round(diffTime * 100) / 100 + "", Remark + "宸ュ崟缂栧彿涓�:" + workOrder.getWorkOrderNo() + "澶勭悊瓒呮椂锛屾墸闄�" + deductScore + "鍒�");
@@ -319,7 +328,7 @@
             List<ContractScore> contractScoreList = new ArrayList<>();
             //鏌ヨ鎶ュ鍒楄〃
             List<String> reportNumbers = reportMapper.selectNumberList(AuditStatus_Pass, DateUtils.getDate());
-            Date date = DateUtils.getDay(2024, 7, 13);
+            Date date = new Date();
             //鏌ュ浘鐗囧畬鏁存�ц鍒� 鑾峰彇key涓哄悎鍚宨d锛寁alue涓鸿鍒欑殑map
             Map<Integer, List<CalculateRuleVO>> contractMap = contractMapper.getCalculateRule(new Date()).stream()
                     .filter(calculateRuleVO -> ContractRule.CONTRACT_RULE_PicComplete.getName().equals(calculateRuleVO.getRuleName()))
@@ -399,8 +408,7 @@
             List<ContractScore> contractScoreList = new ArrayList<>();
             //鏌ヨ鎶ュ鍒楄〃
             List<String> reportNumbers = reportMapper.selectNumberList(AuditStatus_Pass, DateUtils.getDate());
-            //TODO:娴嬭瘯鏃ユ湡
-            Date date = DateUtils.getDay(2024, 7, 13);
+            Date date = new Date();
             //鏌ュ浘鐗囧畬鏁存�ц鍒� 鑾峰彇key涓哄悎鍚宨d锛寁alue涓鸿鍒欑殑map
             Map<Integer, List<CalculateRuleVO>> contractMap = contractMapper.getCalculateRule(new Date()).stream()
                     .filter(calculateRuleVO -> ContractRule.CONTRACT_RULE_VideoRecord.getName().equals(calculateRuleVO.getRuleName()))

--
Gitblit v1.8.0