From 0ba453c66cd5d20b970c894358031c9c06df7071 Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期四, 05 六月 2025 10:43:26 +0800 Subject: [PATCH] 大屏修改,以及报错日志添加 --- ycl-server/src/main/java/com/ycl/platform/service/impl/CheckIndexVideoServiceImpl.java | 23 ------- ycl-server/src/main/java/com/ycl/task/ContractTask.java | 145 ++++++++++++++++++++++++++++++------------------ ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java | 7 -- 3 files changed, 91 insertions(+), 84 deletions(-) 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 index 9bb6299..c4666f0 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java @@ -12,8 +12,7 @@ import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; -import java.math.BigDecimal; -import java.util.List; + /** * 鏁版嵁涓績鎺ュ彛 @@ -32,8 +31,6 @@ Result updateDynamicValue(UpdateDynamicValueForm form); - //zxl - BigDecimal videoPointOnlineRateCount(DataCenterQuery params); /** * 瑙嗛锛氱偣浣嶅湪绾跨巼 @@ -76,8 +73,6 @@ */ Result videoAssessmentFileRatio(DataCenterQuery query); - //zxl - BigDecimal videoAvailabilityRateCount(DataCenterQuery params); /** * 瑙嗛锛氬綍鍍忓彲鐢ㄧ巼 diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckIndexVideoServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckIndexVideoServiceImpl.java index 5baab03..157bdd5 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckIndexVideoServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckIndexVideoServiceImpl.java @@ -101,31 +101,8 @@ return checkIndexVideoMapper.deleteCheckIndexVideoById(id); } - public final DataCenterService dataCenterService; @Override public CheckIndexVideo dashboard(DashboardQuery dashboardQuery) { - //淇敼 褰曞儚鍙敤鐜� 鍜� 鐐逛綅鍦ㄧ嚎鐜囧湪浠婂ぉ - if(dashboardQuery.getDeptId() == null){ - DataCenterQuery dataCenterQuery = new DataCenterQuery(); - dataCenterQuery.setDate(new Date()); - dataCenterQuery.setTime(); - //鍖哄幙 2 鐪佸巺 1 鍏畨閮�3 - if(dashboardQuery.getDataScope() == 2){ - dataCenterQuery.setDataType(0); - }else if(dashboardQuery.getDataScope() == 1){ - dataCenterQuery.setDataType(1); - }else if(dashboardQuery.getDataScope() == 3){ - dataCenterQuery.setDataType(2); - } - //鍏ㄩ儴0 鐪佸巺1 鍏畨閮�2 - - CheckIndexVideo checkIndexVideo = checkIndexVideoMapper.dashboard(dashboardQuery); - checkIndexVideo.setSiteOnline(dataCenterService.videoPointOnlineRateCount(dataCenterQuery)); - - checkIndexVideo.setVideoAvailable(dataCenterService.videoAvailabilityRateCount(dataCenterQuery)); - return checkIndexVideo; - - } return checkIndexVideoMapper.dashboard(dashboardQuery); } } 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 c7e7eac..8e898c8 100644 --- a/ycl-server/src/main/java/com/ycl/task/ContractTask.java +++ b/ycl-server/src/main/java/com/ycl/task/ContractTask.java @@ -24,6 +24,7 @@ import enumeration.general.WorkOrderStatusEnum; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; @@ -365,65 +366,87 @@ * 娴峰悍鍙栦汉鑴歌溅杈� */ public void randomDeductPic() { - log.info("寮�濮嬫娊鏌ュ浘鐗囧畬鏁寸姸鎬�"); - //杩欎釜鏈堥殢鏈烘娊鍙栦竴澶� - Date date = getRandomDate(); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); - //鍑嗗鎵归噺鎵撳垎鐨勯泦鍚� - List<ContractScore> contractScoreList = new ArrayList<>(); - //鏌ヨ鎶ュ鍒楄〃 - List<String> reportNumbers = reportMapper.selectNumberList(AuditStatus_Pass, DateUtils.getDate()); - //鏌ュ浘鐗囧畬鏁存�ц鍒� 鑾峰彇key涓哄悎鍚宨d锛寁alue涓鸿鍒欑殑map - Map<Integer, List<CalculateRuleVO>> contractMap = contractMapper.getCalculateRule(new Date()).stream() - .filter(calculateRuleVO -> ContractRule.CONTRACT_RULE_PicComplete.getName().equals(calculateRuleVO.getRuleName())) - .collect(Collectors.groupingBy(CalculateRuleVO::getContractId)); + try { + log.info("寮�濮嬫娊鏌ュ浘鐗囧畬鏁寸姸鎬�"); + //杩欎釜鏈堥殢鏈烘娊鍙栦竴澶� +// Date date = getRandomDate(); + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.MONTH, -1); // 涓婁釜鏈� + calendar.set(Calendar.DAY_OF_MONTH, 1); // 璁剧疆涓�1鍙� - //鍒ゆ柇杞﹁締銆佷汉鑴稿浘鐗囨槸鍚﹀彲鐢� - Query query = new Query(Criteria - .where("mongoCreateTime").gte(DateUtils.getDayStart(date)).lt(DateUtils.getDayEnd(date))); - List<PicAccessResult> picAccessResults = mongoTemplate.find(query, PicAccessResult.class); - List<String> serialNumbers = picAccessResults.stream().map(PicAccessResult::getExternalIndexCode).collect(Collectors.toList()); - QueryWrapper<YwPoint> queryWrapper = new QueryWrapper<>(); - queryWrapper.in("serial_number", serialNumbers); - //鑾峰彇鍏徃鎵�杩愮淮鐨勮澶囬泦鍚堬紝key涓簎nitId value涓鸿澶囧浗鏍囩爜闆嗗悎 - Map<Long, List<String>> unitMonitorMap = ywPointMapper.selectList(queryWrapper).stream() - .filter(ywPoint -> ywPoint.getUnitId() != null).collect(Collectors.groupingBy(YwPoint::getUnitId, - Collectors.mapping( - YwPoint::getSerialNumber, - Collectors.toList()))); - if (!CollectionUtils.isEmpty(contractMap)) { - contractMap.forEach((contractId, ruleList) -> { - boolean deduct = false; - String serialNumber = null; - //姝よ鍒欏搴旂殑unitId鍧囩浉绛� - CalculateRuleVO ruleVO = ruleList.get(0); - Integer unitId = ruleVO.getUnitId(); - List<String> monitorList = unitMonitorMap.get(Long.parseLong(unitId + "")); - for (PicAccessResult picAccessResult : picAccessResults) { - //鍒ゆ柇鏄惁鎶ュ杩� - if (!CollectionUtils.isEmpty(reportNumbers)) { - if (reportNumbers.contains(picAccessResult.getExternalIndexCode())) continue; - } - //鍒ゆ柇鏄惁鏄鍏徃杩愮淮 - if (monitorList.contains(picAccessResult.getExternalIndexCode())) { - //瀛樺湪鍥剧墖璁块棶寮傚父鏁版嵁閲忥紝闇�瑕佹墸鍑� - if (picAccessResult.getExpCount() > 0) { - deduct = true; - serialNumber = picAccessResult.getExternalIndexCode(); - break; + int lastDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); + Random random = new Random(); + int randomDay = random.nextInt(lastDay) + 1; + + calendar.set(Calendar.DAY_OF_MONTH, randomDay); + Date date = calendar.getTime(); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + //鍑嗗鎵归噺鎵撳垎鐨勯泦鍚� + List<ContractScore> contractScoreList = new ArrayList<>(); + //鏌ヨ鎶ュ鍒楄〃 閫氳繃瀹℃牳骞朵笖鍒涘缓鏃堕棿鍦ㄥ綋鍓嶆棩鏈熺殑鎶ュid鍒楄〃 + List<String> reportNumbers = reportMapper.selectNumberList(AuditStatus_Pass, DateUtils.getDate()); + //鏌ュ浘鐗囧畬鏁存�ц鍒� 鑾峰彇key涓哄悎鍚宨d锛寁alue涓鸿鍒欑殑map + Map<Integer, List<CalculateRuleVO>> contractMap = contractMapper.getCalculateRule(new Date()).stream() + .filter(calculateRuleVO -> ContractRule.CONTRACT_RULE_PicComplete.getName().equals(calculateRuleVO.getRuleName())) + .collect(Collectors.groupingBy(CalculateRuleVO::getContractId)); + + //鍒ゆ柇杞﹁締銆佷汉鑴稿浘鐗囨槸鍚﹀彲鐢� + Query query = new Query(Criteria + .where("mongoCreateTime").gte(DateUtils.getDayStart(date)).lt(DateUtils.getDayEnd(date))); + List<PicAccessResult> picAccessResults = mongoTemplate.find(query, PicAccessResult.class); + List<String> serialNumbers = picAccessResults.stream().map(PicAccessResult::getExternalIndexCode).collect(Collectors.toList()); + QueryWrapper<YwPoint> queryWrapper = new QueryWrapper<>(); + queryWrapper.in("serial_number", serialNumbers); + //鑾峰彇鍏徃鎵�杩愮淮鐨勮澶囬泦鍚堬紝key涓簎nitId value涓鸿澶囧浗鏍囩爜闆嗗悎 + Map<Long, List<String>> unitMonitorMap = ywPointMapper.selectList(queryWrapper).stream() + .filter(ywPoint -> ywPoint.getUnitId() != null).collect(Collectors.groupingBy(YwPoint::getUnitId, + Collectors.mapping( + YwPoint::getSerialNumber, + Collectors.toList()))); + if (!CollectionUtils.isEmpty(contractMap)) { + contractMap.forEach((contractId, ruleList) -> { + boolean deduct = false; + String serialNumber = null; + //姝よ鍒欏搴旂殑unitId鍧囩浉绛� + CalculateRuleVO ruleVO = ruleList.get(0); + Integer unitId = ruleVO.getUnitId(); + List<String> monitorList = unitMonitorMap.get(Long.parseLong(unitId + "")); + for (PicAccessResult picAccessResult : picAccessResults) { + //鍒ゆ柇鏄惁鎶ュ杩� + if (!CollectionUtils.isEmpty(reportNumbers)) { + if (reportNumbers.contains(picAccessResult.getExternalIndexCode())) continue; + } + //鍒ゆ柇鏄惁鏄鍏徃杩愮淮 + if (monitorList.contains(picAccessResult.getExternalIndexCode())) { + //瀛樺湪鍥剧墖璁块棶寮傚父鏁版嵁閲忥紝闇�瑕佹墸鍑� + if (picAccessResult.getExpCount() > 0) { + deduct = true; + serialNumber = picAccessResult.getExternalIndexCode(); + break; + } } } - } - if (deduct) { - //闇�瑕佹墸闄ょ殑鍒嗘暟锛屾瑙勫垯鍙湁涓�鏉′笉闇�瑕佸垽鏂寖鍥� - Double deductScore = ruleVO.getCalcFraction(); - ContractScore contractScore = getContractScore(ruleVO, deductScore, "1", Remark + "鍥芥爣鐮佷负:" + serialNumber + "鏃堕棿锛�" + format.format(date) + "瀛樺湪澶у浘涓嶅彲鐢ㄦ暟鎹�"); - contractScoreList.add(contractScore); - } - }); + if (deduct) { + //闇�瑕佹墸闄ょ殑鍒嗘暟锛屾瑙勫垯鍙湁涓�鏉′笉闇�瑕佸垽鏂寖鍥� + Double deductScore = ruleVO.getCalcFraction(); + ContractScore contractScore = getContractScore(ruleVO, deductScore, "1", Remark + "鍥芥爣鐮佷负:" + serialNumber + "鏃堕棿锛�" + format.format(date) + "瀛樺湪澶у浘涓嶅彲鐢ㄦ暟鎹�"); + contractScoreList.add(contractScore); + } + }); + } + contractScoreService.saveBatch(contractScoreList); + log.info("缁撴潫鎶芥煡鍥剧墖瀹屾暣鐘舵��"); + }catch (NullPointerException e) { + log.error("绌烘寚閽堝紓甯革紝鎶芥煡鍥剧墖瀹屾暣鐘舵�佸け璐�: {}", e.getMessage(), e); + } catch (DataAccessException e) { + log.error("鏁版嵁搴撹闂紓甯革紝鎶芥煡鍥剧墖瀹屾暣鐘舵�佸け璐�: {}", e.getMessage(), e); + } catch (IllegalArgumentException e) { + log.error("鍙傛暟涓嶅悎娉曞紓甯革紝鎶芥煡鍥剧墖瀹屾暣鐘舵�佸け璐�: {}", e.getMessage(), e); + } catch (Exception e) { + log.error("鏈煡寮傚父锛屾娊鏌ュ浘鐗囧畬鏁寸姸鎬佸け璐�: ", e); // 娉ㄦ剰杩欓噷浣跨敤閫楀彿鑰屼笉鏄�+锛屽彲浠ユ墦鍗板畬鏁村爢鏍� + // 濡傛灉闇�瑕佸彲浠ユ姏鍑鸿繍琛屾椂寮傚父 + throw new RuntimeException("鎶芥煡鍥剧墖瀹屾暣鐘舵�佸け璐�", e); } - contractScoreService.saveBatch(contractScoreList); - log.info("缁撴潫鎶芥煡鍥剧墖瀹屾暣鐘舵��"); } @@ -432,6 +455,7 @@ * 浼樹簯鍙栧綍鍍� */ public void randomDeductVideo() { + try{ log.info("寮�濮嬫娊鏌ュ綍鍍忓畬鏁寸姸鎬�"); //杩欎釜鏈堥殢鏈烘娊鍙栦竴澶� Date date = getRandomDate(); @@ -503,6 +527,17 @@ }); } contractScoreService.saveBatch(contractScoreList); + }catch (NullPointerException e) { + log.error("绌烘寚閽堝紓甯革紝鎶芥煡鍥剧墖瀹屾暣鐘舵�佸け璐�: {}", e.getMessage(), e); + } catch (DataAccessException e) { + log.error("鏁版嵁搴撹闂紓甯革紝鎶芥煡鍥剧墖瀹屾暣鐘舵�佸け璐�: {}", e.getMessage(), e); + } catch (IllegalArgumentException e) { + log.error("鍙傛暟涓嶅悎娉曞紓甯革紝鎶芥煡鍥剧墖瀹屾暣鐘舵�佸け璐�: {}", e.getMessage(), e); + } catch (Exception e) { + log.error("鏈煡寮傚父锛屾娊鏌ュ浘鐗囧畬鏁寸姸鎬佸け璐�: ", e); // 娉ㄦ剰杩欓噷浣跨敤閫楀彿鑰屼笉鏄�+锛屽彲浠ユ墦鍗板畬鏁村爢鏍� + // 濡傛灉闇�瑕佸彲浠ユ姏鍑鸿繍琛屾椂寮傚父 + throw new RuntimeException("鎶芥煡鍥剧墖瀹屾暣鐘舵�佸け璐�", e); + } } private Date getRandomDate() { -- Gitblit v1.8.0