From 3848c5677aefdb201c24d615a7c2ad03fd5154e6 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期五, 06 九月 2024 00:18:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java |  105 ++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 89 insertions(+), 16 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 d747433..6408f46 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,9 +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;
 
@@ -100,7 +102,7 @@
     private BigDecimal keyTimingAccuracy;
 
     /**
-     *  閲嶇偣鎸囨尌鍥惧儚鍦ㄧ嚎鐜�
+     * 閲嶇偣鎸囨尌鍥惧儚鍦ㄧ嚎鐜�
      */
     @TableField("key_command_image_online")
     private BigDecimal keyCommandImageOnline;
@@ -115,27 +117,98 @@
     @ExcelIgnore
     @TableField(exist = false)
     private List<String> quarter;
+
     //杞崲鎴愬瓧绗︿覆鐢ㄤ簬excel瀵煎嚭
     public static CheckIndexVideoVO getExcelVo(@NonNull CheckIndexVideo checkIndexVideo) {
         CheckIndexVideoVO checkIndexVideoVO = new CheckIndexVideoVO();
+        checkIndexVideoVO.setScore(checkIndexVideo.getScore());
         checkIndexVideoVO.setDeptName(checkIndexVideo.getDeptName());
-        checkIndexVideoVO.setCreateTime(checkIndexVideo.getCreateTime());
+        //閬垮厤鍚堣琛屾姤閿�(鍚堣鏁版嵁 缂哄皯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()) ? "鐪佸巺鑰冩牳" : "鍖哄幙鑰冩牳");
-        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)+"%");
+        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) {
+        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) {
+            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.setScore(scoreSum);
+        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