From 6a5c99ce357788e70ce1973e76649e06fb6e8ff2 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期六, 26 十月 2024 17:23:24 +0800 Subject: [PATCH] bug修改 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java | 35 ++++++++++++++++++++++------------- 1 files changed, 22 insertions(+), 13 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java index d1971fb..522954c 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java @@ -3,6 +3,7 @@ import java.math.BigDecimal; import java.math.RoundingMode; +import java.text.DecimalFormat; import java.time.*; @@ -351,12 +352,12 @@ chargingOrderInfoVO.setSurplus(byId.getTotalElectricity()!=null?byId.getTotalElectricity().setScale(2, BigDecimal.ROUND_HALF_DOWN)+"":""); chargingOrderInfoVO.setTotalPower(byId.getPower()!=null?byId.getPower().setScale(2, BigDecimal.ROUND_HALF_DOWN)+"":""); if (byId.getAppUserCarId()!=null){ - List<TAppUserCar> data = appUserCarClient.getCarByIds(Arrays.asList(byId.getAppUserCarId())).getData(); - if (!data.isEmpty()){ - chargingOrderInfoVO.setLicensePlate(data.get(0).getLicensePlate()); - chargingOrderInfoVO.setVehicleBrand(data.get(0).getVehicleBrand()); - chargingOrderInfoVO.setVehicleModel(data.get(0).getVehicleModel()); - chargingOrderInfoVO.setVehicleUse(data.get(0).getVehicleUse()); + TAppUserCar data = appUserCarClient.getCarById(byId.getAppUserCarId()+"").getData(); + if (data!=null){ + chargingOrderInfoVO.setLicensePlate(data.getLicensePlate()); + chargingOrderInfoVO.setVehicleBrand(data.getVehicleBrand()); + chargingOrderInfoVO.setVehicleModel(data.getVehicleModel()); + chargingOrderInfoVO.setVehicleUse(data.getVehicleUse()); } } // 时段总服务费 @@ -804,14 +805,13 @@ // } // Set<String> strings = map.keySet(); - + mongoChargingOrderQuery.setPageSize(10); List<UploadRealTimeMonitoringData> data1 = uploadRealTimeMonitoringDataClient.getAll(mongoChargingOrderQuery).getData(); List<ChargingOrderAndUploadRealTimeMonitoringDataDto> dtos = new ArrayList<>(); Map<String,ChargingOrderVO> map = new HashMap<>(); for (UploadRealTimeMonitoringData uploadRealTimeMonitoringData : data1) { ChargingOrderAndUploadRealTimeMonitoringDataDto dataDto = new ChargingOrderAndUploadRealTimeMonitoringDataDto(); - BeanUtils.copyProperties(uploadRealTimeMonitoringData,dataDto); ChargingOrderQuery dto = new ChargingOrderQuery(); dto.setCode(uploadRealTimeMonitoringData.getTransaction_serial_number()); TCharingOrderVO vo = chargingOrderService.chargingOrder(dto); @@ -820,12 +820,18 @@ if (chargingOrderVO != null) { BeanUtils.copyProperties(chargingOrderVO, dataDto); } + BeanUtils.copyProperties(uploadRealTimeMonitoringData,dataDto); + dataDto.setStartTime(uploadRealTimeMonitoringData.getStartTime()); + dataDto.setEndTime(uploadRealTimeMonitoringData.getEndTime()==null?null:uploadRealTimeMonitoringData.getEndTime()); + dataDto.setStatus(uploadRealTimeMonitoringData.getStatus()); dtos.add(dataDto); }else { continue; } } - + for (int i = 0; i < dtos.size(); i++) { + dtos.get(i).setIndex(i); + } return R.ok(dtos); } @@ -1234,8 +1240,8 @@ return R.ok(tCharingUserEquimentVO); } - - private static double calculateAveragePercent(List<Map<String, Object>> mapList1, List<Map<String, Object>> mapList2) { + private static final DecimalFormat DF = new DecimalFormat("#.00"); + public static double calculateAveragePercent(List<Map<String, Object>> mapList1, List<Map<String, Object>> mapList2) { int totalElements = mapList1.size() + mapList2.size(); double sum = 0.0; @@ -1257,7 +1263,10 @@ } // 计算平均值 - return sum / totalElements; + double average = sum / totalElements; + + // 格式化为两位小数 + return Double.parseDouble(DF.format(average)); } @ResponseBody @@ -1287,7 +1296,7 @@ //当日的订单总数 int size = list.size(); //计算list中paymentAmount的总和 - BigDecimal totalPaymentAmount = list.stream().map(TChargingOrder::getOrderAmount).reduce(BigDecimal.ZERO, BigDecimal::add); + BigDecimal totalPaymentAmount = list.stream().map(TChargingOrder::getPaymentAmount).reduce(BigDecimal.ZERO, BigDecimal::add); //计算list中electrovalence的总和 BigDecimal totalElectrovalence = list.stream().map(TChargingOrder::getElectrovalence).reduce(BigDecimal.ZERO, BigDecimal::add); //计算list中serviceCharge的总和 -- Gitblit v1.7.1