| | |
| | | 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; |
| | |
| | | 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(); |
| | |
| | | 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); |
| | |
| | | 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()); |
| | |
| | | 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()); |
| | | } |
| | | } |
| | | if (data3!=null)tChargingOrder.setUserName(data3.getName()); |
| | |
| | | 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()); |
| | | } |
| | |
| | | } |
| | | |
| | | 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); |
| | | } |
| | | |
| | | } |