From cb415813de667096290d6bd0f924f5b523104117 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期一, 10 十一月 2025 17:41:04 +0800
Subject: [PATCH] 报备工单bug修改,定时任务在线问题修改新增导出扣分明细功能
---
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java | 112 +++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 95 insertions(+), 17 deletions(-)
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java
index 1e94d59..0c3448d 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java
@@ -10,8 +10,11 @@
import constant.CheckConstants;
import lombok.Data;
import org.springframework.lang.NonNull;
+import utils.StringUtils;
import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@@ -99,7 +102,7 @@
private BigDecimal keyTimingAccuracy;
/**
- * 閲嶇偣鎸囨尌鍥惧儚鍦ㄧ嚎鐜�
+ * 閲嶇偣鎸囨尌鍥惧儚鍦ㄧ嚎鐜�
*/
@TableField("key_command_image_online")
private BigDecimal keyCommandImageOnline;
@@ -115,26 +118,101 @@
@TableField(exist = false)
private List<String> quarter;
+ //杞崲鎴愬瓧绗︿覆鐢ㄤ簬excel瀵煎嚭
public static CheckIndexVideoVO getExcelVo(@NonNull CheckIndexVideo checkIndexVideo) {
CheckIndexVideoVO checkIndexVideoVO = new CheckIndexVideoVO();
+ checkIndexVideoVO.setNum(checkIndexVideo.getNum());
+ checkIndexVideoVO.setScore(checkIndexVideo.getScore().setScale(2, RoundingMode.HALF_UP));
checkIndexVideoVO.setDeptName(checkIndexVideo.getDeptName());
- checkIndexVideoVO.setDate(checkIndexVideo.getDate());
- checkIndexVideoVO.setExamineTagStr(CheckConstants.Examine_Tag_Province.equals(checkIndexVideo.getExamineTag()) ? "鐪佸巺鑰冩牳" : "鍖哄幙鑰冩牳");
- checkIndexVideoVO.setSiteOnlineText(checkIndexVideo.getSiteOnline().multiply(new BigDecimal(100))+"%");
- checkIndexVideoVO.setImageResourceSecurityText(checkIndexVideo.getImageResourceSecurity().multiply(new BigDecimal(100))+"%");
- checkIndexVideoVO.setArchivesRateText(checkIndexVideo.getArchivesRate().multiply(new BigDecimal(100))+"%");
- checkIndexVideoVO.setKeyAnnotationAccuracyText(checkIndexVideo.getKeyAnnotationAccuracy().multiply(new BigDecimal(100))+"%");
- checkIndexVideoVO.setKeyCommandImageOnlineText(checkIndexVideo.getKeyCommandImageOnline().multiply(new BigDecimal(100))+"%");
- checkIndexVideoVO.setKeyVideoAvailableText(checkIndexVideo.getKeyVideoAvailable().multiply(new BigDecimal(100))+"%");
- checkIndexVideoVO.setKeySiteOnlineText(checkIndexVideo.getKeySiteOnline().multiply(new BigDecimal(100))+"%");
- checkIndexVideoVO.setKeyTimingAccuracyText(checkIndexVideo.getKeyTimingAccuracy().multiply(new BigDecimal(100))+"%");
- checkIndexVideoVO.setMinistryVideoAvailableText(checkIndexVideo.getMinistryVideoAvailable().multiply(new BigDecimal(100))+"%");
- checkIndexVideoVO.setVideoAvailableText(checkIndexVideo.getVideoAvailable().multiply(new BigDecimal(100))+"%");
- checkIndexVideoVO.setMinistrySiteOnlineText(checkIndexVideo.getMinistrySiteOnline().multiply(new BigDecimal(100))+"%");
- checkIndexVideoVO.setPlatformOnlineText(checkIndexVideo.getPlatformOnline().multiply(new BigDecimal(100))+"%");
- checkIndexVideoVO.setMonitorQualificationText(checkIndexVideo.getMonitorQualification().multiply(new BigDecimal(100))+"%");
- checkIndexVideoVO.setMonitorRegistrationText(checkIndexVideo.getMonitorRegistration().multiply(new BigDecimal(100))+"%");
+ //閬垮厤鍚堣琛屾姤閿�(鍚堣鏁版嵁 缂哄皯createTimeStr瀛楁 鐩存帴灏哻reateTimeStr璁剧疆涓�"鍚堣")
+ if (StringUtils.isEmpty(checkIndexVideo.getCreateTimeStr())) {
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ checkIndexVideoVO.setCreateTimeStr(format.format(checkIndexVideo.getCreateTime()));
+ } else {
+ checkIndexVideoVO.setCreateTimeStr(checkIndexVideo.getCreateTimeStr());
+ }
+ checkIndexVideoVO.setExamineTagStr(CheckConstants.Examine_Tag_Province.equals(checkIndexVideo.getExamineTag()) ? "鐪佸巺鑰冩牳" : CheckConstants.Examine_Tag_County.equals(checkIndexVideo.getExamineTag()) ? "鍖哄幙鑰冩牳" : "鍏畨閮ㄨ�冩牳");
+ checkIndexVideoVO.setSiteOnlineText(checkIndexVideo.getSiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%");
+ checkIndexVideoVO.setImageResourceSecurityText(checkIndexVideo.getImageResourceSecurity().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%");
+ checkIndexVideoVO.setArchivesRateText(checkIndexVideo.getArchivesRate().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%");
+ checkIndexVideoVO.setKeyAnnotationAccuracyText(checkIndexVideo.getKeyAnnotationAccuracy().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%");
+ checkIndexVideoVO.setKeyCommandImageOnlineText(checkIndexVideo.getKeyCommandImageOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%");
+ checkIndexVideoVO.setKeyVideoAvailableText(checkIndexVideo.getKeyVideoAvailable().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%");
+ checkIndexVideoVO.setKeySiteOnlineText(checkIndexVideo.getKeySiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%");
+ checkIndexVideoVO.setKeyTimingAccuracyText(checkIndexVideo.getKeyTimingAccuracy().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%");
+ checkIndexVideoVO.setMinistryVideoAvailableText(checkIndexVideo.getMinistryVideoAvailable().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%");
+ checkIndexVideoVO.setVideoAvailableText(checkIndexVideo.getVideoAvailable().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%");
+ checkIndexVideoVO.setMinistrySiteOnlineText(checkIndexVideo.getMinistrySiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%");
+ checkIndexVideoVO.setPlatformOnlineText(checkIndexVideo.getPlatformOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%");
+ checkIndexVideoVO.setMonitorQualificationText(checkIndexVideo.getMonitorQualification().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%");
+ checkIndexVideoVO.setMonitorRegistrationText(checkIndexVideo.getMonitorRegistration().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%");
return checkIndexVideoVO;
}
+
+ /**
+ * 鐢ㄤ簬瀵煎嚭璁$畻骞冲潎鍊�
+ */
+ public static CheckIndexVideo calculateAverage(List<CheckIndexVideo> videos) {
+ Integer numSum = 0;
+ BigDecimal scoreSum = BigDecimal.ZERO;
+ BigDecimal totalPlatformOnline = BigDecimal.ZERO;
+ BigDecimal totalMonitorQualification = BigDecimal.ZERO;
+ BigDecimal totalMonitorRegistration = BigDecimal.ZERO;
+ BigDecimal totalArchivesRate = BigDecimal.ZERO;
+ BigDecimal totalSiteOnline = BigDecimal.ZERO;
+ BigDecimal totalVideoAvailable = BigDecimal.ZERO;
+ BigDecimal totalMinistrySiteOnline = BigDecimal.ZERO;
+ BigDecimal totalMinistryVideoAvailable = BigDecimal.ZERO;
+ BigDecimal totalKeySiteOnline = BigDecimal.ZERO;
+ BigDecimal totalKeyVideoAvailable = BigDecimal.ZERO;
+ BigDecimal totalKeyAnnotationAccuracy = BigDecimal.ZERO;
+ BigDecimal totalKeyTimingAccuracy = BigDecimal.ZERO;
+ BigDecimal totalKeyCommandImageOnline = BigDecimal.ZERO;
+ BigDecimal totalImageResourceSecurity = BigDecimal.ZERO;
+
+ int count = videos.size();
+ for (CheckIndexVideo video : videos) {
+ numSum = numSum + (video.getNum() == null ? 0 : video.getNum());
+ scoreSum = scoreSum.add(video.getScore() == null ? BigDecimal.ZERO : video.getScore());
+ totalPlatformOnline = totalPlatformOnline.add(video.getPlatformOnline());
+ totalMonitorQualification = totalMonitorQualification.add(video.getMonitorQualification());
+ totalMonitorRegistration = totalMonitorRegistration.add(video.getMonitorRegistration());
+ totalArchivesRate = totalArchivesRate.add(video.getArchivesRate());
+ totalSiteOnline = totalSiteOnline.add(video.getSiteOnline());
+ totalVideoAvailable = totalVideoAvailable.add(video.getVideoAvailable());
+ totalMinistrySiteOnline = totalMinistrySiteOnline.add(video.getMinistrySiteOnline());
+ totalMinistryVideoAvailable = totalMinistryVideoAvailable.add(video.getMinistryVideoAvailable());
+ totalKeySiteOnline = totalKeySiteOnline.add(video.getKeySiteOnline());
+ totalKeyVideoAvailable = totalKeyVideoAvailable.add(video.getKeyVideoAvailable());
+ totalKeyAnnotationAccuracy = totalKeyAnnotationAccuracy.add(video.getKeyAnnotationAccuracy());
+ totalKeyTimingAccuracy = totalKeyTimingAccuracy.add(video.getKeyTimingAccuracy());
+ totalKeyCommandImageOnline = totalKeyCommandImageOnline.add(video.getKeyCommandImageOnline());
+ totalImageResourceSecurity = totalImageResourceSecurity.add(video.getImageResourceSecurity());
+ }
+
+ // 鍒涘缓涓�涓柊鐨凜heckIndexVideo瀵硅薄骞惰缃钩鍧囧��
+ CheckIndexVideo averageVideo = new CheckIndexVideo();
+ averageVideo.setCreateTimeStr("鍚堣");
+ averageVideo.setDeptName(videos.get(0).getDeptName());
+ averageVideo.setExamineTag(videos.get(0).getExamineTag());
+ averageVideo.setNum(numSum / count);
+ averageVideo.setScore(scoreSum.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
+ averageVideo.setPlatformOnline(totalPlatformOnline.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
+ averageVideo.setMonitorQualification(totalMonitorQualification.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
+ averageVideo.setMonitorRegistration(totalMonitorRegistration.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
+ averageVideo.setArchivesRate(totalArchivesRate.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
+ averageVideo.setSiteOnline(totalSiteOnline.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
+ averageVideo.setVideoAvailable(totalVideoAvailable.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
+ averageVideo.setMinistrySiteOnline(totalMinistrySiteOnline.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
+ averageVideo.setMinistryVideoAvailable(totalMinistryVideoAvailable.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
+ averageVideo.setKeySiteOnline(totalKeySiteOnline.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
+ averageVideo.setKeyVideoAvailable(totalKeyVideoAvailable.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
+ averageVideo.setKeyAnnotationAccuracy(totalKeyAnnotationAccuracy.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
+ averageVideo.setKeyTimingAccuracy(totalKeyTimingAccuracy.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
+ averageVideo.setKeyCommandImageOnline(totalKeyCommandImageOnline.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
+ averageVideo.setImageResourceSecurity(totalImageResourceSecurity.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
+
+ return averageVideo;
+ }
}
--
Gitblit v1.8.0