fix: align franchisee charging income
| | |
| | | summary.put("orderAmountWan", sum(dayStats, FranchiseeDayStat::getOrderAmount).divide(BigDecimal.valueOf(10000), 4, RoundingMode.HALF_UP)); |
| | | summary.put("serviceFeeWan", sum(dayStats, FranchiseeDayStat::getServiceFee).divide(BigDecimal.valueOf(10000), 4, RoundingMode.HALF_UP)); |
| | | summary.put("chargingPowerWan", sum(dayStats, FranchiseeDayStat::getCapacity).divide(BigDecimal.valueOf(10000), 4, RoundingMode.HALF_UP)); |
| | | summary.put("chargingAmount", sum(dayStats, FranchiseeDayStat::getOrderAmountEffective)); |
| | | summary.put("chargingAmount", sum(dayStats, FranchiseeDayStat::getChargingIncome)); |
| | | summary.put("chargingOrderCount", dayStats.stream().mapToLong(stat -> numberValue(stat.getOrderCount())).sum()); |
| | | summary.put("powerUtilizationRate", observedPowerUtilization(dayStats)); |
| | | summary.put("demandPowerSatisfactionRate", demandPowerSatisfaction(dayStats)); |
| | |
| | | /** 累计电费合计 */ |
| | | private BigDecimal electrovalence; |
| | | |
| | | /** 后台订单汇总口径的充电收入(电费 + 按订单来源折算后的服务费) */ |
| | | private BigDecimal chargingIncome; |
| | | |
| | | /** 充电总度数合计 */ |
| | | private BigDecimal capacity; |
| | | |
| | |
| | | SUM(IFNULL(payment_amount, 0)) AS paymentAmount, |
| | | SUM(IFNULL(service_charge, 0)) AS serviceFee, |
| | | SUM(IFNULL(electrovalence, 0)) AS electrovalence, |
| | | SUM(IFNULL(electrovalence, 0) + CASE |
| | | WHEN order_source = 1 THEN IFNULL(service_charge, 0) |
| | | ELSE IFNULL(service_charge, 0) * 0.8 |
| | | END) AS chargingIncome, |
| | | SUM(IFNULL(charging_capacity, 0)) AS capacity, |
| | | SUM(IFNULL(charging_power, power)) AS totalPower, |
| | | COUNT(IFNULL(charging_power, power)) AS powerCount, |