From 36a00aa8bee92f62470fc1031c8c07f3de35910d Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 15 一月 2025 17:53:25 +0800
Subject: [PATCH] osd不做筛选,检测全量

---
 ycl-server/src/main/java/com/ycl/task/ContractTask.java |   27 +++++++++++++++++----------
 1 files changed, 17 insertions(+), 10 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 60eb9b8..d3a5c7c 100644
--- a/ycl-server/src/main/java/com/ycl/task/ContractTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/ContractTask.java
@@ -80,7 +80,7 @@
                 .filter(calculateRuleVO -> ContractRule.CONTRACT_RULE_Online.getName().equals(calculateRuleVO.getRuleName()))
                 .collect(Collectors.toList());
         List<Integer> unitIds = ruleVos.stream().map(CalculateRuleVO::getUnitId).collect(Collectors.toList());
-        List<YwPoint> ywPoints = ywPointMapper.selectList(new QueryWrapper<YwPoint>().in("unit_id", unitIds));
+        List<YwPoint> ywPoints = ywPointMapper.selectList(new QueryWrapper<YwPoint>().in("unit_id", unitIds).eq("examine_status",1));
         //key鏄痷nitId value鏄澶囩紪鐮侀泦鍚�
         Map<Long, List<YwPoint>> unitMap = ywPoints.stream().filter(point -> point.getUnitId() != null)
                 .collect(Collectors.groupingBy(
@@ -99,7 +99,7 @@
                 if (!CollectionUtils.isEmpty(reportNumbers) && reportNumbers.contains(point.getSerialNumber()))
                     continue;
                 totalSite++;
-                if (ApiConstants.UY_OnlineSite_Online.equals(point.getOnline())) {
+                if (ApiConstants.UY_OnlineSite_Online.equals(point.getOnline()) && ApiConstants.UY_OnlineSite_Online.equals(point.getPingOnline())) {
                     onlineSite++;
                 }
             }
@@ -120,7 +120,6 @@
 
     //鏈堝簳璁$畻鍦ㄧ嚎鐜囧垎鏁�
     public void calculateOnlineScore() {
-        //TODO:妫�鏌ヨ〃
         log.info("寮�濮嬭绠楀悎鍚岀偣浣嶅湪绾跨巼鍒嗘暟");
         //鏈堝簳闇�瑕佺粺璁″钩鍧囧湪绾跨巼鐒跺悗杩涜绉垎鎵i櫎
         String mouthStart = DateUtils.getMouthStart(new Date());
@@ -179,7 +178,7 @@
                 .collect(Collectors.groupingBy(
                         CalculateRuleVO::getRuleName,  // 鎸夎鍒欏悕绉板垎缁�
                         Collectors.groupingBy(
-                                CalculateRuleVO::getContractId // 姣忎釜瑙勫垯鍚嶇О鍐呴儴鍐嶆寜鍚堝悓ID鍒嗙粍,value涓鸿鍒欓泦鍚�
+                                CalculateRuleVO::getContractId // 姣忎釜瑙勫垯鍚嶇О鍐呴儴鍐嶆寜鍚堝悓ID鍒嗙粍,value涓鸿鍒欓泦鍚�(澶氫釜鍚堝悓鎯呭喌)
                         )
                 ));
         //鍓嶇鎰熺煡婧愭不鐞嗗伐浣滐紙鏃堕挓鍚屾瑙勫垯銆丱SD瑙勫垯銆佷竴鏈轰竴妗h鍒欙級 鑾峰彇key涓哄悎鍚宨d锛寁alue涓鸿鍒欑殑map
@@ -201,6 +200,7 @@
             if (!CollectionUtils.isEmpty(reportNumbers)) {
                 if (reportNumbers.contains(workOrder.getSerialNumber())) 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)) {
@@ -227,7 +227,7 @@
 //                }
 //            }
             //鍓嶇鎰熺煡婧愭不鐞嗗伐浣滐紙鏃堕挓鍚屾瑙勫垯銆丱SD瑙勫垯銆佷竴鏈轰竴妗h鍒欙級
-            if (ErrorType.OSD_ERROR.getValue().equals(errorType) || ErrorType.CLOCK_SKEW.getValue().equals(errorType) || ErrorType.CLOCK_RIGHT.getValue().equals(errorType)) {
+            if (ErrorType.OSD_ERROR.getValue().equals(errorType) || ErrorType.CLOCK_SKEW.getValue().equals(errorType) || ErrorType.CLOCK_RIGHT.getValue().equals(errorType) || ErrorType.POINT_INFO_ERROR.getValue().equals(errorType)) {
                 if (!CollectionUtils.isEmpty(monitorRuleMap)) {
                     monitorRuleMap.forEach((contractId, rules) -> {
                         Integer unitId = rules.get(0).getUnitId();
@@ -237,8 +237,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 + "鍒�");
@@ -251,7 +259,7 @@
                 }
             }
             //鐐逛綅寮傚父鎯呭喌澶勭悊锛堥暅澶村紓甯搞�佹憚鍍忓ご閬尅绛夛級
-            if (ErrorType.SCREEN_OCCLUSION.getValue().equals(errorType)) {
+            if (ErrorType.ABNORMAL_PIC.getValue().equals(errorType)) {
                 if (!CollectionUtils.isEmpty(monitorRuleMap)) {
                     siteRuleMap.forEach((contractId, rules) -> {
                         Integer unitId = rules.get(0).getUnitId();
@@ -318,7 +326,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()))
@@ -398,8 +406,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