| | |
| | | <if test="query.gunId != null"> |
| | | AND o.charging_gun_id = #{query.gunId} |
| | | </if> |
| | | <if test="startTime1 != null and startTime1 != ''"> |
| | | <if test="startTime1 != null and startTime1 != '' and startTime2 != null and startTime2 != ''"> |
| | | AND o.pay_time BETWEEN #{startTime1} AND #{startTime2} |
| | | </if> |
| | | <if test="endTime1 != null and endTime1 != ''"> |
| | | <if test="endTime1 != null and endTime1 != '' and endTime2 != null and endTime2 != ''"> |
| | | AND o.end_time BETWEEN #{endTime1} AND #{endTime2} |
| | | </if> |
| | | </where> |
| | |
| | | IFNULL(SUM(o.payment_amount), 0) AS paymentAmount, |
| | | IFNULL(SUM(o.electrovalence), 0) AS electrovalence, |
| | | IFNULL(SUM(o.service_charge), 0) AS serviceCharge, |
| | | IFNULL(SUM(o.third_pay_amount), 0) AS thirdPayAmount, |
| | | IFNULL(SUM(s.platform_income), 0) AS platformIncome, |
| | | IFNULL(SUM(s.partner_income), 0) AS partnerIncome, |
| | | IFNULL(SUM(s.platform_income), 0) AS platformIncomeTotal, |
| | | IFNULL(SUM(s.partner_income), 0) AS partnerIncomeTotal, |
| | | CONCAT(IFNULL(ROUND(SUM(a.capacity1) / NULLIF(SUM(a.capacity_total), 0) * 100, 2), 0), '%-', |
| | | IFNULL(ROUND(SUM(a.capacity2) / NULLIF(SUM(a.capacity_total), 0) * 100, 2), 0), '%-', |
| | | IFNULL(ROUND(SUM(a.capacity3) / NULLIF(SUM(a.capacity_total), 0) * 100, 2), 0), '%-', |
| | | IFNULL(ROUND(SUM(a.capacity4) / NULLIF(SUM(a.capacity_total), 0) * 100, 2), 0), '%') AS capacityProportion, |
| | | CONCAT(IFNULL(ROUND(SUM(a.service1) / NULLIF(SUM(a.service_total), 0) * 100, 2), 0), '%-', |
| | | IFNULL(ROUND(SUM(a.service2) / NULLIF(SUM(a.service_total), 0) * 100, 2), 0), '%-', |
| | | IFNULL(ROUND(SUM(a.service3) / NULLIF(SUM(a.service_total), 0) * 100, 2), 0), '%-', |
| | | IFNULL(ROUND(SUM(a.service4) / NULLIF(SUM(a.service_total), 0) * 100, 2), 0), '%') AS serviceProportion, |
| | | CONCAT(IFNULL(ROUND(SUM(a.electric1) / NULLIF(SUM(a.electric_total), 0) * 100, 2), 0), '%-', |
| | | IFNULL(ROUND(SUM(a.electric2) / NULLIF(SUM(a.electric_total), 0) * 100, 2), 0), '%-', |
| | | IFNULL(ROUND(SUM(a.electric3) / NULLIF(SUM(a.electric_total), 0) * 100, 2), 0), '%-', |
| | | IFNULL(ROUND(SUM(a.electric4) / NULLIF(SUM(a.electric_total), 0) * 100, 2), 0), '%') AS electronicProportion |
| | | IFNULL(SUM(o.third_pay_amount), 0) AS thirdPayAmount |
| | | FROM t_card_charging_order o |
| | | LEFT JOIN ( |
| | | SELECT charging_order_id, |
| | | SUM(IFNULL(channel_electricity_amount, 0) + IFNULL(channel_service_amount, 0) - IFNULL(share_amount, 0)) AS platform_income, |
| | | SUM(IFNULL(share_amount, 0)) AS partner_income |
| | | FROM t_card_charging_order_share_record |
| | | WHERE del_flag = 0 |
| | | GROUP BY charging_order_id |
| | | ) s ON s.charging_order_id = o.id |
| | | LEFT JOIN ( |
| | | SELECT charging_order_id, |
| | | SUM(charging_capacity) AS capacity_total, |
| | | SUM(CASE WHEN type = 1 THEN charging_capacity ELSE 0 END) AS capacity1, |
| | | SUM(CASE WHEN type = 2 THEN charging_capacity ELSE 0 END) AS capacity2, |
| | | SUM(CASE WHEN type = 3 THEN charging_capacity ELSE 0 END) AS capacity3, |
| | | SUM(CASE WHEN type = 4 THEN charging_capacity ELSE 0 END) AS capacity4, |
| | | SUM(period_service_price) AS service_total, |
| | | SUM(CASE WHEN type = 1 THEN period_service_price ELSE 0 END) AS service1, |
| | | SUM(CASE WHEN type = 2 THEN period_service_price ELSE 0 END) AS service2, |
| | | SUM(CASE WHEN type = 3 THEN period_service_price ELSE 0 END) AS service3, |
| | | SUM(CASE WHEN type = 4 THEN period_service_price ELSE 0 END) AS service4, |
| | | SUM(period_electric_price) AS electric_total, |
| | | SUM(CASE WHEN type = 1 THEN period_electric_price ELSE 0 END) AS electric1, |
| | | SUM(CASE WHEN type = 2 THEN period_electric_price ELSE 0 END) AS electric2, |
| | | SUM(CASE WHEN type = 3 THEN period_electric_price ELSE 0 END) AS electric3, |
| | | SUM(CASE WHEN type = 4 THEN period_electric_price ELSE 0 END) AS electric4 |
| | | FROM t_card_charging_order_accounting_strategy |
| | | GROUP BY charging_order_id |
| | | ) a ON a.charging_order_id = o.id |
| | | <include refid="queryCondition"/> |
| | | </select> |
| | | |
| | | <select id="summaryOrderIds" resultType="java.lang.Long"> |
| | | SELECT o.id |
| | | FROM t_card_charging_order o |
| | | <include refid="queryCondition"/> |
| | | </select> |
| | | |
| | | <select id="shareIncomeSummaryByOrderIds" resultType="java.util.LinkedHashMap"> |
| | | SELECT IFNULL(SUM(IFNULL(channel_electricity_amount, 0) + IFNULL(channel_service_amount, 0) - IFNULL(share_amount, 0)), 0) AS platformIncome, |
| | | IFNULL(SUM(IFNULL(share_amount, 0)), 0) AS partnerIncome |
| | | FROM t_card_charging_order_share_record |
| | | WHERE del_flag = 0 |
| | | AND charging_order_id IN |
| | | <foreach collection="orderIds" item="orderId" open="(" separator="," close=")"> |
| | | #{orderId} |
| | | </foreach> |
| | | </select> |
| | | |
| | | <select id="accountingSummaryByOrderIds" resultType="java.util.LinkedHashMap"> |
| | | SELECT IFNULL(SUM(charging_capacity), 0) AS capacityTotal, |
| | | IFNULL(SUM(CASE WHEN type = 1 THEN charging_capacity ELSE 0 END), 0) AS capacity1, |
| | | IFNULL(SUM(CASE WHEN type = 2 THEN charging_capacity ELSE 0 END), 0) AS capacity2, |
| | | IFNULL(SUM(CASE WHEN type = 3 THEN charging_capacity ELSE 0 END), 0) AS capacity3, |
| | | IFNULL(SUM(CASE WHEN type = 4 THEN charging_capacity ELSE 0 END), 0) AS capacity4, |
| | | IFNULL(SUM(period_service_price), 0) AS serviceTotal, |
| | | IFNULL(SUM(CASE WHEN type = 1 THEN period_service_price ELSE 0 END), 0) AS service1, |
| | | IFNULL(SUM(CASE WHEN type = 2 THEN period_service_price ELSE 0 END), 0) AS service2, |
| | | IFNULL(SUM(CASE WHEN type = 3 THEN period_service_price ELSE 0 END), 0) AS service3, |
| | | IFNULL(SUM(CASE WHEN type = 4 THEN period_service_price ELSE 0 END), 0) AS service4, |
| | | IFNULL(SUM(period_electric_price), 0) AS electricTotal, |
| | | IFNULL(SUM(CASE WHEN type = 1 THEN period_electric_price ELSE 0 END), 0) AS electric1, |
| | | IFNULL(SUM(CASE WHEN type = 2 THEN period_electric_price ELSE 0 END), 0) AS electric2, |
| | | IFNULL(SUM(CASE WHEN type = 3 THEN period_electric_price ELSE 0 END), 0) AS electric3, |
| | | IFNULL(SUM(CASE WHEN type = 4 THEN period_electric_price ELSE 0 END), 0) AS electric4 |
| | | FROM t_card_charging_order_accounting_strategy |
| | | WHERE charging_order_id IN |
| | | <foreach collection="orderIds" item="orderId" open="(" separator="," close=")"> |
| | | #{orderId} |
| | | </foreach> |
| | | </select> |
| | | |
| | | <select id="balanceIncomeDetail" resultType="java.util.LinkedHashMap"> |
| | | SELECT o.card_id AS cardId, |
| | | o.card_no AS cardNo, |