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