From 6451d61e4438c93d78b5fb187afd7bc538f2af44 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期三, 08 一月 2025 17:42:40 +0800 Subject: [PATCH] OSD导出 --- ycl-server/src/main/java/com/ycl/task/ContractTask.java | 28 ++++++++++++++++++---------- 1 files changed, 18 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..a31b5e5 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 @@ -195,12 +194,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; String errorType = workOrder.getErrorType(); //瀛樺偍鏁呴殰 褰曞儚鎴栧浘鐗囪闂紓甯� 锛堟敼鎴愭墜鍔ㄦ墦鍒嗕簡锛� // if (ErrorType.VIDEO_NONE.getValue().equals(errorType) || ErrorType.PIC_URLABNORMAL.getValue().equals(errorType)) { @@ -227,7 +228,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 +238,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 +260,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 +327,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 +407,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