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