From 46b29175dfdafafd014212be0e340544b8761493 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期四, 05 九月 2024 21:52:06 +0800 Subject: [PATCH] 考核结果导出优化 --- ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 50 insertions(+), 1 deletions(-) diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java index 3ae107b..0c80fc1 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.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; @@ -81,8 +83,15 @@ //杞崲鎴愬瓧绗︿覆鐢ㄤ簬excel瀵煎嚭 public static CheckIndexFaceVO getExcelVo(@NonNull CheckIndexFace checkIndexFace) { CheckIndexFaceVO checkIndexFaceVo = new CheckIndexFaceVO(); + checkIndexFaceVo.setScore(checkIndexFace.getScore()); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + //閬垮厤鍚堣琛屾姤閿�(鍚堣鏁版嵁 缂哄皯createTimeStr瀛楁 鐩存帴灏哻reateTimeStr璁剧疆涓�"鍚堣") + if (StringUtils.isEmpty(checkIndexFace.getCreateTimeStr())) { + checkIndexFaceVo.setCreateTimeStr(format.format(checkIndexFace.getCreateTime())); + }else { + checkIndexFaceVo.setCreateTimeStr(checkIndexFace.getCreateTimeStr()); + } checkIndexFaceVo.setDeptName(checkIndexFace.getDeptName()); - checkIndexFaceVo.setCreateTime(checkIndexFace.getCreateTime()); checkIndexFaceVo.setExamineTagStr(CheckConstants.Examine_Tag_Province.equals(checkIndexFace.getExamineTag()) ? "鐪佸巺鑰冩牳" : "鍖哄幙鑰冩牳"); checkIndexFaceVo.setSiteOnlineText(checkIndexFace.getSiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%"); checkIndexFaceVo.setFaceInformationCollectionAccuracyText(checkIndexFace.getFaceInformationCollectionAccuracy().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%"); @@ -95,4 +104,44 @@ return checkIndexFaceVo; } + /** 鐢ㄤ簬瀵煎嚭璁$畻骞冲潎鍊� */ + public static CheckIndexFace calculateAverage(List<CheckIndexFace> checkIndexFaces) { + BigDecimal scoreSum = BigDecimal.ZERO; + BigDecimal totalViewConnectStability = BigDecimal.ZERO; + BigDecimal totalSiteOnline = BigDecimal.ZERO; + BigDecimal totalDeviceDirectoryConsistent = BigDecimal.ZERO; + BigDecimal totalFaceInformationCollectionAccuracy = BigDecimal.ZERO; + BigDecimal totalFacePictureQualification = BigDecimal.ZERO; + BigDecimal totalFaceTimingAccuracy = BigDecimal.ZERO; + BigDecimal totalFaceUploadTimeliness = BigDecimal.ZERO; + BigDecimal totalFacePictureAvailability = BigDecimal.ZERO; + + int count = checkIndexFaces.size(); + + for (CheckIndexFace indexFace : checkIndexFaces) { + scoreSum = scoreSum.add(indexFace.getScore() == null ? BigDecimal.ZERO : indexFace.getScore()); + totalViewConnectStability = totalViewConnectStability.add(indexFace.getViewConnectStability()); + totalSiteOnline = totalSiteOnline.add(indexFace.getSiteOnline()); + totalDeviceDirectoryConsistent = totalDeviceDirectoryConsistent.add(indexFace.getDeviceDirectoryConsistent()); + totalFaceInformationCollectionAccuracy = totalFaceInformationCollectionAccuracy.add(indexFace.getFaceInformationCollectionAccuracy()); + totalFacePictureQualification = totalFacePictureQualification.add(indexFace.getFacePictureQualification()); + totalFaceTimingAccuracy = totalFaceTimingAccuracy.add(indexFace.getFaceTimingAccuracy()); + totalFaceUploadTimeliness = totalFaceUploadTimeliness.add(indexFace.getFaceUploadTimeliness()); + totalFacePictureAvailability = totalFacePictureAvailability.add(indexFace.getFacePictureAvailability()); + } + CheckIndexFace result = new CheckIndexFace(); + result.setCreateTimeStr("鍚堣"); + result.setDeptName(checkIndexFaces.get(0).getDeptName()); + result.setExamineTag(checkIndexFaces.get(0).getExamineTag()); + result.setScore(scoreSum); + result.setViewConnectStability(totalViewConnectStability.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP)); + result.setSiteOnline(totalSiteOnline.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP)); + result.setDeviceDirectoryConsistent(totalDeviceDirectoryConsistent.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP)); + result.setFaceInformationCollectionAccuracy(totalFaceInformationCollectionAccuracy.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP)); + result.setFacePictureQualification(totalFacePictureQualification.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP)); + result.setFaceTimingAccuracy(totalFaceTimingAccuracy.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP)); + result.setFaceUploadTimeliness(totalFaceUploadTimeliness.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP)); + result.setFacePictureAvailability(totalFacePictureAvailability.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP)); + return result; + } } -- Gitblit v1.8.0