Pu Zhibing
2025-03-19 dd8a9188f7cc9585668abbb318a600cf11b3cdd9
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
@@ -178,7 +178,10 @@
                    break;
                case 2:
                    temp = "各个站点账单";
                    temp1 = siteClient.getSiteByIds(Arrays.asList(chargingBillListVO.getSiteId())).getData().get(0).getName();
                    Site site = siteList.stream().filter(e -> e.getId().equals(chargingBillListVO.getSiteId())).findFirst().orElse(null);
                    if (site!=null){
                        temp1 =site.getName();
                    }
                    break;
            }
            chargingBillVO.setCategory(temp);
@@ -203,10 +206,15 @@
            // 获取该月份的最后一天
            LocalDateTime lastDayOfMonth = localDate.with(TemporalAdjusters.lastDayOfMonth());
            LocalDateTime firstDayOfMonth = localDate.with(TemporalAdjusters.firstDayOfMonth());
            List<TChargingOrder> tChargingOrders = total.stream().filter(e -> chargingBillListVO.getType() == 2 ?
                    e.getSiteId().equals(chargingBillListVO.getSiteId()) : true &&
                    e.getPayTime().isBefore(lastDayOfMonth.withHour(23).withMinute(59).withSecond(59))
                    && e.getPayTime().isAfter(firstDayOfMonth.withHour(0).withMinute(0).withSecond(0))).collect(Collectors.toList());
            List<TChargingOrder> tChargingOrders = new ArrayList<>();
            if (chargingBillListVO.getType() == 2){
                tChargingOrders = total.stream().filter(e -> e.getSiteId().equals(chargingBillListVO.getSiteId()) && e.getPayTime().isBefore(lastDayOfMonth.withHour(23).withMinute(59).withSecond(59))
                        && e.getPayTime().isAfter(firstDayOfMonth.withHour(0).withMinute(0).withSecond(0))).collect(Collectors.toList());
            }else{
                tChargingOrders = total.stream().filter(e ->  e.getPayTime().isBefore(lastDayOfMonth.withHour(23).withMinute(59).withSecond(59))
                        && e.getPayTime().isAfter(firstDayOfMonth.withHour(0).withMinute(0).withSecond(0))).collect(Collectors.toList());
            }
            int chargingSecond = 0;
@@ -284,10 +292,10 @@
                BigDecimal add = tChargingOrder.getElectrovalence().add(tChargingOrder.getServiceCharge());
                tChargingOrder.setTotalAmount(add.toString());
                tChargingOrder.setDiscount(tChargingOrder.getCouponDiscountAmount()!=null?tChargingOrder.getCouponDiscountAmount().toString():"0");
                UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(tChargingOrder.getCode()).getData();
                if (data5!=null){
                    tChargingOrder.setEndSoc(data5.getSoc().toString());
                }
//                UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(tChargingOrder.getCode()).getData();
//                if (data5!=null){
//                    tChargingOrder.setEndSoc(data5.getSoc().toString());
//                }
                if (tChargingOrder.getStartTime()!=null && tChargingOrder.getEndTime()!=null){
                    LocalDateTime startTime = tChargingOrder.getStartTime();
                    LocalDateTime endTime = tChargingOrder.getEndTime();
@@ -426,10 +434,14 @@
            // 获取该月份的最后一天
            LocalDateTime lastDayOfMonth = localDate.with(TemporalAdjusters.lastDayOfMonth());
            LocalDateTime firstDayOfMonth = localDate.with(TemporalAdjusters.firstDayOfMonth());
            List<TChargingOrder> tChargingOrders = total.stream().filter(e -> chargingBillListVO.getType() == 2 ?
                    e.getSiteId().equals(chargingBillListVO.getSiteId()) : true &&
                    e.getPayTime().isBefore(lastDayOfMonth.withHour(23).withMinute(59).withSecond(59))
                    && e.getPayTime().isAfter(firstDayOfMonth.withHour(0).withMinute(0).withSecond(0))).collect(Collectors.toList());
            List<TChargingOrder> tChargingOrders = new ArrayList<>();
            if (chargingBillListVO.getType() == 2){
                tChargingOrders = total.stream().filter(e -> e.getSiteId().equals(chargingBillListVO.getSiteId()) && e.getPayTime().isBefore(lastDayOfMonth.withHour(23).withMinute(59).withSecond(59))
                        && e.getPayTime().isAfter(firstDayOfMonth.withHour(0).withMinute(0).withSecond(0))).collect(Collectors.toList());
            }else{
                tChargingOrders = total.stream().filter(e ->  e.getPayTime().isBefore(lastDayOfMonth.withHour(23).withMinute(59).withSecond(59))
                        && e.getPayTime().isAfter(firstDayOfMonth.withHour(0).withMinute(0).withSecond(0))).collect(Collectors.toList());
            }
            for (TChargingOrder tChargingOrder : tChargingOrders) {
                if (tChargingOrder.getOrderAmount()!=null){
                    paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount());