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/CheckIndexCar.java | 120 ++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 97 insertions(+), 23 deletions(-) diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexCar.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexCar.java index d7fda06..a6a0591 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexCar.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexCar.java @@ -8,9 +8,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.List; /** @@ -21,47 +23,66 @@ */ @Data @TableName("t_check_index_car") -public class CheckIndexCar extends CheckIndex -{ +public class CheckIndexCar extends CheckIndex { private static final long serialVersionUID = 1L; - /** 瑙嗗浘搴撳鎺ョǔ瀹氭�� */ + /** + * 瑙嗗浘搴撳鎺ョǔ瀹氭�� + */ @TableField("view_connect_stability") private BigDecimal viewConnectStability; - /** 鐐逛綅鍦ㄧ嚎鐜� */ + /** + * 鐐逛綅鍦ㄧ嚎鐜� + */ @TableField("site_online") private BigDecimal siteOnline; - /** 鑱旂綉鍗″彛璁惧鐩綍涓�鑷寸巼 */ + /** + * 鑱旂綉鍗″彛璁惧鐩綍涓�鑷寸巼 + */ @TableField("device_directory_consistent") private BigDecimal deviceDirectoryConsistent; - /** 杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜� */ + /** + * 杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜� + */ @TableField("vehicle_information_collection_accuracy") private BigDecimal vehicleInformationCollectionAccuracy; - /** 杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁瀹屾暣鎬� */ + /** + * 杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁瀹屾暣鎬� + */ @TableField("vehicle_capture_integrity") private BigDecimal vehicleCaptureIntegrity; - /** 杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁鍑嗙‘鎬� */ + /** + * 杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁鍑嗙‘鎬� + */ @TableField("vehicle_capture_accuracy") private BigDecimal vehicleCaptureAccuracy; - /** 杞﹁締鍗″彛璁惧鏃堕挓鍑嗙‘鎬� */ + /** + * 杞﹁締鍗″彛璁惧鏃堕挓鍑嗙‘鎬� + */ @TableField("vehicle_timing_accuracy") private BigDecimal vehicleTimingAccuracy; - /** 杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁涓婁紶鍙婃椂鎬� */ + /** + * 杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁涓婁紶鍙婃椂鎬� + */ @TableField("vehicle_upload_timeliness") private BigDecimal vehicleUploadTimeliness; - /** 杞﹁締鍗″彛璁惧url鍙敤鎬� */ + /** + * 杞﹁締鍗″彛璁惧url鍙敤鎬� + */ @TableField("vehicle_url_availability") private BigDecimal vehicleUrlAvailability; - /** 杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁澶у浘鍙敤鎬� */ + /** + * 杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁澶у浘鍙敤鎬� + */ @TableField("vehicle_picture_availability") private BigDecimal vehiclePictureAvailability; @@ -72,19 +93,72 @@ //杞崲鎴愬瓧绗︿覆鐢ㄤ簬excel瀵煎嚭 public static CheckIndexCarVO getExcelVo(@NonNull CheckIndexCar checkIndexCar) { CheckIndexCarVO checkIndexCarVo = new CheckIndexCarVO(); + checkIndexCarVo.setScore(checkIndexCar.getScore()); checkIndexCarVo.setDeptName(checkIndexCar.getDeptName()); - checkIndexCarVo.setCreateTime(checkIndexCar.getCreateTime()); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + //閬垮厤鍚堣琛屾姤閿�(鍚堣鏁版嵁 缂哄皯createTimeStr瀛楁 鐩存帴灏哻reateTimeStr璁剧疆涓�"鍚堣") + if (StringUtils.isEmpty(checkIndexCar.getCreateTimeStr())) { + checkIndexCarVo.setCreateTimeStr(format.format(checkIndexCar.getCreateTime())); + }else { + checkIndexCarVo.setCreateTimeStr(checkIndexCar.getCreateTimeStr()); + } checkIndexCarVo.setExamineTagStr(CheckConstants.Examine_Tag_Province.equals(checkIndexCar.getExamineTag()) ? "鐪佸巺鑰冩牳" : "鍖哄幙鑰冩牳"); - checkIndexCarVo.setSiteOnlineText(checkIndexCar.getSiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); - checkIndexCarVo.setVehicleCaptureAccuracyText(checkIndexCar.getVehicleCaptureAccuracy().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); - checkIndexCarVo.setDeviceDirectoryConsistentText(checkIndexCar.getDeviceDirectoryConsistent().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); - checkIndexCarVo.setVehicleCaptureIntegrityText(checkIndexCar.getVehicleCaptureIntegrity().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); - checkIndexCarVo.setVehicleTimingAccuracyText(checkIndexCar.getSiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); - checkIndexCarVo.setVehicleUploadTimelinessText(checkIndexCar.getSiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); - checkIndexCarVo.setViewConnectStabilityText(checkIndexCar.getSiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); - checkIndexCarVo.setVehicleUrlAvailabilityText(checkIndexCar.getSiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); - checkIndexCarVo.setVehiclePictureAvailabilityText(checkIndexCar.getSiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); - checkIndexCarVo.setVehicleInformationCollectionAccuracyText(checkIndexCar.getVehicleInformationCollectionAccuracy().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); + checkIndexCarVo.setSiteOnlineText(checkIndexCar.getSiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%"); + checkIndexCarVo.setVehicleCaptureAccuracyText(checkIndexCar.getVehicleCaptureAccuracy().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%"); + checkIndexCarVo.setDeviceDirectoryConsistentText(checkIndexCar.getDeviceDirectoryConsistent().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%"); + checkIndexCarVo.setVehicleCaptureIntegrityText(checkIndexCar.getVehicleCaptureIntegrity().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%"); + checkIndexCarVo.setVehicleTimingAccuracyText(checkIndexCar.getSiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%"); + checkIndexCarVo.setVehicleUploadTimelinessText(checkIndexCar.getSiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%"); + checkIndexCarVo.setViewConnectStabilityText(checkIndexCar.getSiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%"); + checkIndexCarVo.setVehicleUrlAvailabilityText(checkIndexCar.getSiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%"); + checkIndexCarVo.setVehiclePictureAvailabilityText(checkIndexCar.getSiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%"); + checkIndexCarVo.setVehicleInformationCollectionAccuracyText(checkIndexCar.getVehicleInformationCollectionAccuracy().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%"); return checkIndexCarVo; } + + /** + * 瀵煎嚭鏃剁敤浜庤绠楀钩鍧囧�� + */ + public static CheckIndexCar calculateAverage(List<CheckIndexCar> checkIndexCars) { + BigDecimal scoreSum = BigDecimal.ZERO; + BigDecimal viewConnectStabilitySum = BigDecimal.ZERO; + BigDecimal siteOnlineSum = BigDecimal.ZERO; + BigDecimal deviceDirectoryConsistentSum = BigDecimal.ZERO; + BigDecimal vehicleInformationCollectionAccuracySum = BigDecimal.ZERO; + BigDecimal vehicleCaptureIntegritySum = BigDecimal.ZERO; + BigDecimal vehicleCaptureAccuracySum = BigDecimal.ZERO; + BigDecimal vehicleTimingAccuracySum = BigDecimal.ZERO; + BigDecimal vehicleUploadTimelinessSum = BigDecimal.ZERO; + BigDecimal vehicleUrlAvailabilitySum = BigDecimal.ZERO; + BigDecimal vehiclePictureAvailabilitySum = BigDecimal.ZERO; + for (CheckIndexCar car : checkIndexCars) { + scoreSum = scoreSum.add(car.getScore() == null ? BigDecimal.ZERO : car.getScore()); + viewConnectStabilitySum = viewConnectStabilitySum.add(car.getViewConnectStability()); + siteOnlineSum = siteOnlineSum.add(car.getSiteOnline()); + deviceDirectoryConsistentSum = deviceDirectoryConsistentSum.add(car.getDeviceDirectoryConsistent()); + vehicleInformationCollectionAccuracySum = vehicleInformationCollectionAccuracySum.add(car.getVehicleInformationCollectionAccuracy()); + vehicleCaptureIntegritySum = vehicleCaptureIntegritySum.add(car.getVehicleCaptureIntegrity()); + vehicleCaptureAccuracySum = vehicleCaptureAccuracySum.add(car.getVehicleCaptureAccuracy()); + vehicleTimingAccuracySum = vehicleTimingAccuracySum.add(car.getVehicleTimingAccuracy()); + vehicleUploadTimelinessSum = vehicleUploadTimelinessSum.add(car.getVehicleUploadTimeliness()); + vehicleUrlAvailabilitySum = vehicleUrlAvailabilitySum.add(car.getVehicleUrlAvailability()); + vehiclePictureAvailabilitySum = vehiclePictureAvailabilitySum.add(car.getVehiclePictureAvailability()); + } + CheckIndexCar checkIndexCar = new CheckIndexCar(); + checkIndexCar.setCreateTimeStr("鍚堣"); + checkIndexCar.setDeptName(checkIndexCars.get(0).getDeptName()); + checkIndexCar.setExamineTag(checkIndexCars.get(0).getExamineTag()); + checkIndexCar.setScore(scoreSum); + checkIndexCar.setViewConnectStability(viewConnectStabilitySum.divide(new BigDecimal(checkIndexCars.size()), 2, RoundingMode.HALF_UP)); + checkIndexCar.setSiteOnline(siteOnlineSum.divide(new BigDecimal(checkIndexCars.size()), 2, RoundingMode.HALF_UP)); + checkIndexCar.setDeviceDirectoryConsistent(deviceDirectoryConsistentSum.divide(new BigDecimal(checkIndexCars.size()), 2, RoundingMode.HALF_UP)); + checkIndexCar.setVehicleInformationCollectionAccuracy(vehicleInformationCollectionAccuracySum.divide(new BigDecimal(checkIndexCars.size()), 2, RoundingMode.HALF_UP)); + checkIndexCar.setVehicleCaptureIntegrity(vehicleCaptureIntegritySum.divide(new BigDecimal(checkIndexCars.size()), 2, RoundingMode.HALF_UP)); + checkIndexCar.setVehicleCaptureAccuracy(vehicleCaptureAccuracySum.divide(new BigDecimal(checkIndexCars.size()), 2, RoundingMode.HALF_UP)); + checkIndexCar.setVehicleTimingAccuracy(vehicleTimingAccuracySum.divide(new BigDecimal(checkIndexCars.size()), 2, RoundingMode.HALF_UP)); + checkIndexCar.setVehicleUploadTimeliness(vehicleUploadTimelinessSum.divide(new BigDecimal(checkIndexCars.size()), 2, RoundingMode.HALF_UP)); + checkIndexCar.setVehicleUrlAvailability(vehicleUrlAvailabilitySum.divide(new BigDecimal(checkIndexCars.size()), 2, RoundingMode.HALF_UP)); + checkIndexCar.setVehiclePictureAvailability(vehiclePictureAvailabilitySum.divide(new BigDecimal(checkIndexCars.size()), 2, RoundingMode.HALF_UP)); + return checkIndexCar; + } } -- Gitblit v1.8.0