puzhibing
2024-11-11 404c34cdcb58df5aab92fb29da5bc7d198a8f5d8
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java
@@ -41,11 +41,9 @@
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
/**
 * <p>
@@ -75,12 +73,13 @@
        List<ChargingBillListVO> records = res.getList().getRecords();
        accountListVO.setBillCount(records.size());
        accountListVO.setTotalAmount(res.getPaymentAmount().subtract(res.getRefundAmount())
                .subtract(res.getCommissionAmount()).subtract(res.getSharingAmount()));
        accountListVO.setPaymentAmount(res.getPaymentAmount());
        accountListVO.setRefundAmount(res.getRefundAmount());
        accountListVO.setCommissionAmount(res.getCommissionAmount());
        accountListVO.setSharingAmount(res.getSharingAmount());
                .subtract(res.getCommissionAmount().setScale(2,BigDecimal.ROUND_DOWN)).subtract(res.getSharingAmount()).setScale(2, BigDecimal.ROUND_DOWN));
        accountListVO.setPaymentAmount(res.getPaymentAmount().setScale(2, BigDecimal.ROUND_DOWN));
        accountListVO.setRefundAmount(res.getRefundAmount().setScale(2, BigDecimal.ROUND_DOWN));
        accountListVO.setCommissionAmount(res.getCommissionAmount().setScale(2, BigDecimal.ROUND_DOWN));
        accountListVO.setSharingAmount(res.getSharingAmount().setScale(2, BigDecimal.ROUND_DOWN));
        accountListVO.setList(res.getList());
        accountListVO.setOrderList(res.getExportList());
        return R.ok(accountListVO);
    }
    @PostMapping(value = "/chargingBillList")
@@ -285,15 +284,18 @@
        }
        BigDecimal paymentAmount = new BigDecimal("0");
        BigDecimal refundAmount = new BigDecimal("0");
        BigDecimal commissionAmount = new BigDecimal("0");
        List<TChargingOrder> tChargingOrders = chargingOrderService.list(eq);
        // 累加支付金额
        BigDecimal bigDecimal = new BigDecimal("0");
        BigDecimal bigDecimal1 = new BigDecimal("0.006");
        int i =1;
        for (TChargingOrder tChargingOrder : tChargingOrders) {
            // 账单信息
            paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount());
            paymentAmount = paymentAmount.add(tChargingOrder.getChargeAmount());
            commissionAmount = commissionAmount.add(tChargingOrder.getPaymentAmount().multiply(bigDecimal1));
            // 退款信息
            ChargingBillRefundExport chargingBillRefundExport = new ChargingBillRefundExport();
            ChargingBillPayExport chargingBillPayExport = new ChargingBillPayExport();
@@ -341,7 +343,7 @@
            chargingBillPayExport.setTotal("");
            chargingBillPayExports.add(chargingBillPayExport);
            i++;
            bigDecimal = bigDecimal.add(tChargingOrder.getOrderAmount());
            bigDecimal = bigDecimal.add(tChargingOrder.getChargeAmount());
        }
        if (!chargingBillPayExports.isEmpty()){
            chargingBillPayExports.get(0).setTotal(bigDecimal+"");
@@ -357,7 +359,7 @@
        }
        chargingBillExport.setPaymentAmount(paymentAmount);
        chargingBillExport.setRefundAmount(refundAmount);
        chargingBillExport.setIncome(paymentAmount.subtract(refundAmount));
        chargingBillExport.setIncome(paymentAmount.subtract(refundAmount).subtract(commissionAmount).setScale(2, BigDecimal.ROUND_DOWN));
        chargingBillExports.add(chargingBillExport);
        // 导出
        List<Map<String, Object>> sheetsList = new ArrayList<>();