From 0275498af38bc1c8fbc5bfea54f3cce3550fd6ab Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期二, 11 二月 2025 09:57:54 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile into 1.1 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java | 93 ++++++++++++++++++++++++---------------------- 1 files changed, 49 insertions(+), 44 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java index 11bcf51..a70cd25 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java @@ -45,6 +45,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; +import java.time.temporal.ChronoUnit; import java.time.temporal.TemporalAdjusters; import java.util.*; import java.util.stream.Collectors; @@ -526,7 +527,12 @@ startTime2 = split[1]; } PageInfo<ChargingBillListVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize()); - PageInfo<ChargingBillListVO> pageInfo1 = new PageInfo<>(1,9999999); + PageInfo<ChargingBillListVO> pageInfo1 = new PageInfo<>(1,999999999); + List<Site> data6 = siteClient.getSiteAll().getData(); + List<TChargingGun> gunList = chargingGunClient.getAllGun().getData(); + List<TChargingPile> pileList = chargingGunClient.getAllPile().getData(); + List<TAppUser> userList = appUserClient.getAllUser().getData(); + List<TAppUserCar> carList = appUserCarClient.getAllCar().getData(); Long userId = tokenService.getLoginUser().getUserid(); // 查询当前登陆人按钮权限 SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData(); @@ -614,7 +620,7 @@ break; case 2: temp = "各个站点账单"; - temp1 = siteClient.getSiteByIds(Arrays.asList(chargingBillListVO.getSiteId())).getData().get(0).getName(); + temp1 = data6.stream().filter(e->e.getId().equals(chargingBillListVO.getSiteId())).findFirst().orElse(new Site()).getName(); break; } chargingBillVO.setCategory(temp); @@ -673,12 +679,9 @@ chargingBillListVO.setPayTypeName("支付宝商户"); } } - List<Site> data = siteClient.getSiteByIds(Arrays.asList(tChargingOrder.getSiteId())).getData(); - if (!data.isEmpty()){ - chargingBillVO.setSiteName(data.get(0).getName()); - } - TChargingPile data1 = chargingPileClient.getChargingPileById(tChargingOrder.getChargingPileId()).getData(); - TChargingGun data2 = chargingGunClient.getChargingGunById(tChargingOrder.getChargingGunId()).getData(); + chargingBillVO.setSiteName(data6.stream().filter(e->e.getId().equals(chargingBillListVO.getSiteId())).findFirst().orElse(new Site()).getName()); + TChargingGun data2 = gunList.stream().filter(e -> e.getId().equals(tChargingOrder.getChargingGunId())).findFirst().orElse(null); + TChargingPile data1 = pileList.stream().filter(e -> e.getId().equals(tChargingOrder.getChargingPileId())).findFirst().orElse(null); if (data1!=null && data2!=null){ tChargingOrder.setTerminalName(data1.getName()+data2.getName()); tChargingOrder.setTerminalCode(data2.getCode()); @@ -727,36 +730,40 @@ tChargingOrder.setDiscount(tChargingOrder.getCouponDiscountAmount()!=null?tChargingOrder.getCouponDiscountAmount().toString():"0"); UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(tChargingOrder.getCode()).getData(); if (data5!=null){ - if (data5.getCumulative_charging_time()!=null){ - chargingSecond+=data5.getCumulative_charging_time()*60; + if (tChargingOrder.getStartTime()!=null && tChargingOrder.getEndTime()!=null){ + LocalDateTime startTime = tChargingOrder.getStartTime(); + LocalDateTime endTime = tChargingOrder.getEndTime(); + // 计算时间差 单位秒 + long between = ChronoUnit.SECONDS.between(startTime, endTime); + chargingSecond+=between; + // 将其转化为xx小时xx分钟xx秒显示 如果是0小时则不展示小时 如果是0分钟则不展示分钟 + + // 计算小时、分钟和秒 + long hours = between / 60 / 60; + long minutes = (between % 3600) / 60; + long seconds = between % 60; // 如果没有秒数,则默认是0 + StringBuilder result = new StringBuilder(); + if (hours > 0) { + result.append(hours).append("小时"); + } + if (minutes > 0) { + result.append(minutes).append("分钟"); + } + if (seconds > 0 || result.length() == 0) { // 如果秒数大于0,或者小时和分钟都为0,则显示秒数 + result.append(seconds).append("秒"); + } + tChargingOrder.setChargingTime(result.toString()); + } - Integer cumulativeChargingTime = data5.getCumulative_charging_time(); - // 将其转化为xx小时xx分钟xx秒显示 如果是0小时则不展示小时 如果是0分钟则不展示分钟 - if (cumulativeChargingTime!=null){ - // 计算小时、分钟和秒 - int hours = cumulativeChargingTime / 60; - int minutes = cumulativeChargingTime % 60; - int seconds = 0; // 如果没有秒数,则默认是0 - StringBuilder result = new StringBuilder(); - if (hours > 0) { - result.append(hours).append("小时"); - } - if (minutes > 0) { - result.append(minutes).append("分钟"); - } - if (seconds > 0 || result.length() == 0) { // 如果秒数大于0,或者小时和分钟都为0,则显示秒数 - result.append(seconds).append("秒"); - } - tChargingOrder.setChargingTime(result.toString()); - } + tChargingOrder.setEndSoc(data5.getSoc().toString()); } - TAppUser data3 = appUserClient.getUserById(tChargingOrder.getAppUserId()).getData(); + TAppUser data3 = userList.stream().filter(e -> e.getId().equals(tChargingOrder.getAppUserId())).findFirst().orElse(null); if (tChargingOrder.getAppUserCarId()!=null){ - List<TAppUserCar> data4 = appUserCarClient.getCarByIds(Arrays.asList(tChargingOrder.getAppUserCarId())).getData(); - if (!data4.isEmpty()){ - tChargingOrder.setLicensePlate(data4.get(0).getLicensePlate()); - tChargingOrder.setVehicleModel(data4.get(0).getVehicleModel()); + TAppUserCar tAppUserCar = carList.stream().filter(e -> e.getId().equals(tChargingOrder.getAppUserCarId())).findFirst().orElse(null); + if (tAppUserCar!=null){ + tChargingOrder.setLicensePlate(tAppUserCar.getLicensePlate()); + tChargingOrder.setVehicleModel(tAppUserCar.getVehicleModel()); } }else{ tChargingOrder.setLicensePlate(tChargingOrder.getPlateNum()); @@ -814,7 +821,7 @@ chargingBillListVO.setSiteName("全站"); break; case 2: - Site site = siteClient.getSiteByIds(Arrays.asList(chargingBillListVO.getSiteId())).getData().get(0); + Site site = data6.stream().filter(e -> e.getId().equals(chargingBillListVO.getSiteId())).findFirst().orElse(null); if (site!=null){ chargingBillListVO.setSiteName(site.getName()); } @@ -935,15 +942,13 @@ } public static void main(String[] args) { - LocalDateTime localDateTime = LocalDateTime.now().minusMonths(1); - // 获取 LocalDate 对象 - LocalDate date = localDateTime.toLocalDate(); -// // 获取该月份的第一天 - LocalDate firstDayOfMonth = date.withDayOfMonth(1); - // 获取该月份的最后一天 - LocalDate lastDayOfMonth = date.with(TemporalAdjusters.lastDayOfMonth()); - System.err.println(firstDayOfMonth); - System.err.println(lastDayOfMonth); + int totalSeconds = 1201; + int hours = totalSeconds / 3600; + int minutes = (totalSeconds % 3600) / 60; + int seconds = totalSeconds % 60; + + String timeString = String.format("%d小时%d分钟%d秒", hours, minutes, seconds); + System.out.println(timeString); } } -- Gitblit v1.7.1