SELECT app_user_id
FROM t_charging_order
WHERE del_flag = 0
AND app_user_id IS NOT NULL
AND status IN (3, 4, 5)
AND site_id IN
#{siteId}
GROUP BY app_user_id
id, code, order_type, order_classification, app_user_id, app_user_car_id,site_id, parking_lot_id,
charging_pile_id, charging_gun_id,
start_time, end_time, status, recharge_amount, recharge_payment_type, recharge_payment_status, pay_method, balance_pay_amount, third_pay_amount, balance_refund_amount, third_refund_amount,
recharge_serial_number,
order_amount, app_coupon_id, coupon_discount_amount, is_whitelist, whitelist_id, whitelist_benefit_type, whitelist_discount_amount, whitelist_electric_refund_amount, whitelist_service_refund_amount, vip_discount, vip_discount_amount, payment_amount,
refund_code,
refund_amount, refund_status, refund_serial_number, refund_time, create_time,
del_flag,need_elec,total_electricity
select * from t_charging_order where del_flag = 0 and app_user_id = #{appUserId} and recharge_payment_status = 2
and id not in (select order_id from t_order_evaluate where order_type = 1 and app_user_id = #{appUserId} and
del_flag = 0)
order by create_time desc
limit #{pageCurr}, #{pageSize}
select * from t_charging_order where del_flag = 0 and status = 5 and recharge_payment_status = 2 and
payment_amount is not null and app_user_id = #{appUserId}
and DATE_FORMAT(end_time, '%Y-%m') = #{month}
and id not in (select tod.order_id from t_order_invoice_detail tod inner join t_order_invoice toi on toi.id = tod.order_invoice_id where tod.order_type = 1 and toi.status != 4)
order by create_time desc
limit #{pageCurr}, #{pageSize}
where t1.del_flag = 0
and t1.code LIKE CONCAT('%',#{req.code},'%')
and t1.app_user_id in
#{item}
and t1.site_id in
#{item}
and t1.order_type = #{req.orderType}
and t1.status = #{req.status}
and (t1.order_source = 0 or t1.order_source = 1 )
and t1.tripartite_platform_name = 'KuaiDian'
and t1.tripartite_platform_name = 'XinDianTu'
and t1.is_whitelist = #{req.isWhitelist}
and t1.recharge_payment_type = 1
and t1.recharge_payment_type in (2, 3)
and t1.pay_method in (1, 2)
and t1.site_id = #{req.siteId}
and t1.charging_pile_id = #{req.pileId}
and t1.charging_gun_id = #{req.gunId}
and (t1.pay_time between #{startTime1} and #{startTime2})
and (t1.end_time between #{endTime1} and #{endTime2})
select t1.*,
IFNULL(t1.whitelist_electric_refund_amount, 0) + IFNULL(t1.whitelist_service_refund_amount, 0) as whitelistRefundAmount
from t_charging_order t1
order by t1.create_time desc
limit #{offset}, #{pageSize}
select count(*)
from t_charging_order t1
SELECT o.*,i.phone FROM (
SELECT
a.id,
a.`code`,
1 as type,
a.title,
a.`status`,
a.recharge_amount as order_amount,
a.recharge_amount as payment_amount ,
a.create_time,
a.end_time,
a.pay_time,
a.refund_status as refund_status,
(a.recharge_amount-a.refund_amount) as final_amount,
a.del_flag,
a.app_user_id
FROM
charging_pile_order.t_charging_order a
where (a.recharge_payment_status = 2 OR a.status = -1 OR #{data.invoiceId} IS NOT NULL)
UNION ALL
SELECT
a.id,
a.`code`,
2 as type,
a.title,
a.`status`,
a.order_amount,
a.payment_amount ,
a.create_time,
a.receiving_time as end_time,
a.pay_time,
a.refund_status as refund_status,
(a.payment_amount-a.refund_amount) as final_amount,
a.del_flag,
a.app_user_id
FROM
charging_pile_order.t_shopping_order a
where (a.payment_status = 2 OR #{data.invoiceId} IS NOT NULL)
UNION ALL
SELECT
a.id,
a.`code`,
3 as type,
a.title,
a.payment_status AS `status`,
a.order_amount,
a.payment_amount ,
a.create_time,
a.create_time as end_time,
a.pay_time,
a.refund_status as refund_status,
(a.payment_amount-a.refund_amount) as final_amount,
a.del_flag,
a.app_user_id
FROM
charging_pile_order.t_vip_order a
where (a.payment_status = 2 OR #{data.invoiceId} IS NOT NULL)
UNION ALL
SELECT
id,
`code`,
4 as type,
title,
`status`,
order_amount ,
order_amount as payment_amount,
create_time,
out_parking_time as end_time,
out_parking_time as pay_time,
null as refund_status,
0 as final_amount,
0 as del_flag,
app_user_id
FROM
charging_pile_service.t_parking_record
) o
LEFT JOIN `charging_pile_account`.`t_app_user` i on o.app_user_id = i.id
o.del_flag = 0
AND o.code LIKE CONCAT('%',#{data.code},'%')
AND i.phone LIKE CONCAT('%',#{data.phone},'%')
AND o.type = #{data.type}
AND o.create_time >= #{data.createTime1}
AND o.create_time <= #{data.createTime2}
AND o.id IN
#{id}
AND o.refund_status is not null
AND o.refund_status is null
ORDER BY COALESCE(o.pay_time, o.create_time, o.end_time) DESC, o.create_time DESC, o.id DESC
SELECT * FROM (
(SELECT
re.id,
re.`code`,
re.refund_code,
re.refund_title,
re.refund_reason,
re.refund_amount,
re.balance_refund_amount,
re.third_refund_amount,
re.refund_total_amount,
re.refund_time,
re.pay_type,
re.pay_amount,
re.refund_remark,
re.charging_order_id AS order_id,
1 AS type
FROM t_charging_order_refund re
AND re.refund_title = '特殊退款处理'
AND re.code LIKE CONCAT('%', #{data.code}, '%')
AND re.refund_code LIKE CONCAT('%', #{data.refundCode}, '%')
AND re.refund_time >= #{data.refundTime1}
AND re.refund_time <= #{data.refundTime2}
AND re.charging_order_id IN
#{id}
AND 1 = 0
ORDER BY re.refund_time DESC
LIMIT #{branchLimit})
UNION ALL
(SELECT
re.id,
re.`code`,
re.refund_code,
re.refund_title,
re.refund_reason,
re.refund_amount,
0 AS balance_refund_amount,
re.refund_amount AS third_refund_amount,
re.refund_total_amount,
re.refund_time,
re.pay_type,
re.pay_amount,
re.refund_remark,
re.shopping_order_id AS order_id,
2 AS type
FROM t_shopping_order_refund re
AND re.code LIKE CONCAT('%', #{data.code}, '%')
AND re.refund_code LIKE CONCAT('%', #{data.refundCode}, '%')
AND re.refund_time >= #{data.refundTime1}
AND re.refund_time <= #{data.refundTime2}
AND re.shopping_order_id IN
#{id}
AND 1 = 0
ORDER BY re.refund_time DESC
LIMIT #{branchLimit})
UNION ALL
(SELECT
re.id,
re.`code`,
re.refund_code,
re.refund_title,
re.refund_reason,
re.refund_amount,
0 AS balance_refund_amount,
re.refund_amount AS third_refund_amount,
re.refund_total_amount,
re.refund_time,
re.pay_type,
re.pay_amount,
re.refund_remark,
re.vip_order_id AS order_id,
3 AS type
FROM t_vip_order_refund re
AND re.code LIKE CONCAT('%', #{data.code}, '%')
AND re.refund_code LIKE CONCAT('%', #{data.refundCode}, '%')
AND re.refund_time >= #{data.refundTime1}
AND re.refund_time <= #{data.refundTime2}
AND re.vip_order_id IN
#{id}
AND 1 = 0
ORDER BY re.refund_time DESC
LIMIT #{branchLimit})
) o
ORDER BY o.refund_time DESC
LIMIT #{offset}, #{limit}
SELECT SUM(cnt) FROM (
(SELECT COUNT(*) AS cnt
FROM t_charging_order_refund re
AND re.refund_title = '特殊退款处理'
AND re.code LIKE CONCAT('%', #{data.code}, '%')
AND re.refund_code LIKE CONCAT('%', #{data.refundCode}, '%')
AND re.refund_time >= #{data.refundTime1}
AND re.refund_time <= #{data.refundTime2}
AND re.charging_order_id IN
#{id}
AND 1 = 0
)
UNION ALL
(SELECT COUNT(*) AS cnt
FROM t_shopping_order_refund re
AND re.code LIKE CONCAT('%', #{data.code}, '%')
AND re.refund_code LIKE CONCAT('%', #{data.refundCode}, '%')
AND re.refund_time >= #{data.refundTime1}
AND re.refund_time <= #{data.refundTime2}
AND re.shopping_order_id IN
#{id}
AND 1 = 0
)
UNION ALL
(SELECT COUNT(*) AS cnt
FROM t_vip_order_refund re
AND re.code LIKE CONCAT('%', #{data.code}, '%')
AND re.refund_code LIKE CONCAT('%', #{data.refundCode}, '%')
AND re.refund_time >= #{data.refundTime1}
AND re.refund_time <= #{data.refundTime2}
AND re.vip_order_id IN
#{id}
AND 1 = 0
)
) t
SELECT id FROM t_charging_order
WHERE recharge_serial_number LIKE CONCAT('%', #{serialNumber}, '%')
ORDER BY id DESC
LIMIT #{limit}
SELECT id FROM t_shopping_order
WHERE serial_number LIKE CONCAT('%', #{serialNumber}, '%')
ORDER BY id DESC
LIMIT #{limit}
SELECT id FROM t_vip_order
WHERE serial_number LIKE CONCAT('%', #{serialNumber}, '%')
ORDER BY id DESC
LIMIT #{limit}
SELECT id FROM t_charging_order
WHERE site_id IN
#{siteId}
ORDER BY id DESC
LIMIT #{limit}
SELECT * FROM (
(SELECT
re.id,
re.`code`,
re.refund_code,
re.refund_title,
re.refund_reason,
re.refund_amount,
re.balance_refund_amount,
re.third_refund_amount,
re.refund_total_amount,
re.refund_time,
re.pay_type,
re.pay_amount,
re.refund_remark,
re.charging_order_id AS order_id,
1 AS type
FROM t_charging_order_refund re
AND re.refund_title = '特殊退款处理'
AND re.code LIKE CONCAT('%', #{data.code}, '%')
AND re.refund_code LIKE CONCAT('%', #{data.refundCode}, '%')
AND re.refund_time >= #{data.refundTime1}
AND re.refund_time <= #{data.refundTime2}
ORDER BY re.refund_time DESC
LIMIT #{branchLimit})
UNION ALL
(SELECT
re.id,
re.`code`,
re.refund_code,
re.refund_title,
re.refund_reason,
re.refund_amount,
0 AS balance_refund_amount,
re.refund_amount AS third_refund_amount,
re.refund_total_amount,
re.refund_time,
re.pay_type,
re.pay_amount,
re.refund_remark,
re.shopping_order_id AS order_id,
2 AS type
FROM t_shopping_order_refund re
AND re.code LIKE CONCAT('%', #{data.code}, '%')
AND re.refund_code LIKE CONCAT('%', #{data.refundCode}, '%')
AND re.refund_time >= #{data.refundTime1}
AND re.refund_time <= #{data.refundTime2}
ORDER BY re.refund_time DESC
LIMIT #{branchLimit})
UNION ALL
(SELECT
re.id,
re.`code`,
re.refund_code,
re.refund_title,
re.refund_reason,
re.refund_amount,
0 AS balance_refund_amount,
re.refund_amount AS third_refund_amount,
re.refund_total_amount,
re.refund_time,
re.pay_type,
re.pay_amount,
re.refund_remark,
re.vip_order_id AS order_id,
3 AS type
FROM t_vip_order_refund re
AND re.code LIKE CONCAT('%', #{data.code}, '%')
AND re.refund_code LIKE CONCAT('%', #{data.refundCode}, '%')
AND re.refund_time >= #{data.refundTime1}
AND re.refund_time <= #{data.refundTime2}
ORDER BY re.refund_time DESC
LIMIT #{branchLimit})
) o
ORDER BY o.refund_time DESC
LIMIT #{offset}, #{limit}
SELECT SUM(cnt) FROM (
(SELECT COUNT(*) AS cnt
FROM t_charging_order_refund re
AND re.refund_title = '特殊退款处理'
AND re.code LIKE CONCAT('%', #{data.code}, '%')
AND re.refund_code LIKE CONCAT('%', #{data.refundCode}, '%')
AND re.refund_time >= #{data.refundTime1}
AND re.refund_time <= #{data.refundTime2}
)
UNION ALL
(SELECT COUNT(*) AS cnt
FROM t_shopping_order_refund re
AND re.code LIKE CONCAT('%', #{data.code}, '%')
AND re.refund_code LIKE CONCAT('%', #{data.refundCode}, '%')
AND re.refund_time >= #{data.refundTime1}
AND re.refund_time <= #{data.refundTime2}
)
UNION ALL
(SELECT COUNT(*) AS cnt
FROM t_vip_order_refund re
AND re.code LIKE CONCAT('%', #{data.code}, '%')
AND re.refund_code LIKE CONCAT('%', #{data.refundCode}, '%')
AND re.refund_time >= #{data.refundTime1}
AND re.refund_time <= #{data.refundTime2}
)
) t
SELECT SUM(tc.charging_capacity) as charging_capacity,tc.site_id
FROM t_charging_order tc
left join `charging_pile_service`.`t_site` ts on tc.site_id = ts.id
AND tc.create_time >= #{chargingPercentProvinceDto.date1}
AND tc.create_time <= #{chargingPercentProvinceDto.date2}
AND ts.province_code = #{chargingPercentProvinceDto.provinceCode}
AND site_id IN
#{siteId}
GROUP BY site_id
SELECT EXTRACT(MONTH FROM create_time) AS MONTH,
SUM(IFNULL(electricity_share_amount, 0)) AS electrovalence,
SUM(IFNULL(service_share_amount, 0)) AS service_charge
FROM t_charging_order_share_record
WHERE del_flag = 0 AND online_share_status IN ('SUCCESS', 'RECORDED')
AND create_time >= #{sixBefore}
AND site_id IN
#{siteId}
GROUP BY EXTRACT(MONTH FROM create_time)
SELECT EXTRACT(MONTH FROM billing_cycle) AS MONTH,
SUM(IFNULL(total_electricity_charge, 0)) AS electrovalence,
SUM(IFNULL(total_service_fee, 0) - IFNULL(tripartite_commission, 0)) AS service_charge
FROM t_charging_settlement_bill
WHERE statistical_date_type = 1
AND site_id != 0
AND billing_cycle < DATE_FORMAT(CURDATE(), '%Y-%m-01')
AND billing_cycle >= #{sixBefore}
AND site_id IN
#{siteId}
GROUP BY EXTRACT(MONTH FROM billing_cycle)
SELECT EXTRACT(MONTH FROM create_time) AS MONTH,
SUM(IFNULL(electrovalence, 0)) AS electrovalence,
SUM(CASE
WHEN order_source = 2
THEN IFNULL(service_charge, 0) * 0.8
ELSE IFNULL(service_charge, 0)
END) AS service_charge
FROM t_charging_order
WHERE del_flag = 0
AND status = 5
AND recharge_payment_status = 2
AND create_time < DATE_FORMAT(CURDATE(), '%Y-%m-01')
AND create_time >= #{sixBefore}
AND site_id IN
#{siteId}
GROUP BY EXTRACT(MONTH FROM create_time)
SELECT DATE_FORMAT(CURDATE(), '%m') AS MONTH,
IFNULL(SUM(IFNULL(electrovalence, 0)), 0) AS electrovalence,
IFNULL(SUM(CASE
WHEN order_source = 2
THEN IFNULL(service_charge, 0) * 0.8
ELSE IFNULL(service_charge, 0)
END), 0) AS service_charge
FROM t_charging_order
WHERE del_flag = 0
AND status = 5
AND recharge_payment_status = 2
AND create_time >= DATE_FORMAT(CURDATE(), '%Y-%m-01')
AND create_time <= NOW()
AND site_id IN (${siteIdsCsv})
SELECT site_id AS siteId,
SUM(IFNULL(share_amount, 0)) AS paymentAmount
FROM t_charging_order_share_record
WHERE del_flag = 0 AND online_share_status IN ('SUCCESS', 'RECORDED')
AND site_id IN
#{siteId}
AND create_time >= #{sixBefore}
GROUP BY site_id
SELECT site_id AS siteId,
SUM(IFNULL(total_electricity_charge, 0) + IFNULL(total_service_fee, 0)
- IFNULL(tripartite_commission, 0)) AS paymentAmount
FROM t_charging_settlement_bill
WHERE statistical_date_type = 1 AND site_id != 0
AND site_id IN
#{siteId}
AND billing_cycle >= #{sixBefore}
GROUP BY site_id
SELECT COALESCE(ROUND(SUM(IFNULL(electricity_share_amount, 0)), 2), 0) AS electrovalence,
COALESCE(ROUND(SUM(IFNULL(service_share_amount, 0)), 2), 0) AS service_charge,
COALESCE(ROUND(SUM(IFNULL(share_amount, 0)), 2), 0) AS commission_amount,
0 AS sharing_amount
FROM t_charging_order_share_record
WHERE del_flag = 0 AND online_share_status IN ('SUCCESS', 'RECORDED')
AND create_time >= #{sixBefore}
AND site_id IN
#{siteId}
SELECT COALESCE(ROUND(SUM(IFNULL(total_electricity_charge, 0)), 2), 0) AS electrovalence,
COALESCE(ROUND(SUM(IFNULL(total_service_fee, 0) - IFNULL(tripartite_commission, 0)), 2), 0) AS service_charge,
0 AS commission_amount,
COALESCE(ROUND(SUM(IFNULL(tripartite_commission, 0)), 2), 0) AS sharing_amount
FROM t_charging_settlement_bill
WHERE statistical_date_type = 1 AND site_id != 0
AND billing_cycle >= #{sixBefore}
AND billing_cycle < DATE_FORMAT(CURDATE(), '%Y-%m-01')
AND site_id IN
#{siteId}
SELECT COALESCE(ROUND(SUM(IFNULL(share_amount, 0)), 2), 0)
FROM t_charging_order_share_record
WHERE del_flag = 0 AND online_share_status IN ('SUCCESS', 'RECORDED')
AND create_time >= #{sixBefore}
AND site_id IN
#{siteId}
SELECT
t1.type,
SUM( t1.charging_capacity ) as charging_capacity ,
SUM(
CASE
WHEN t2.order_source = 0 THEN t1.period_service_price
WHEN t2.order_source = 1 THEN t1.period_service_price
ELSE t1.period_service_price * 0.8
END
)as period_electric_price,
SUM(t1.period_electric_price) as total_amount,
SUM(CASE
WHEN t2.order_source = 0 THEN 0
WHEN t2.order_source = 1 THEN 0
ELSE t1.period_service_price * 0.2
END) AS commissionAmount,
t2.order_source
FROM
t_charging_order_accounting_strategy t1
LEFT JOIN t_charging_order t2 on t1.charging_order_id = t2.id
where t2.del_flag = 0 and t2.recharge_payment_status = 2 and t2.start_time between #{start} and #{end}
and t2.site_id in
#{item}
GROUP BY
t1.type, t2.order_source
SELECT
DATE_FORMAT(a.create_time, '%H:00' ) as time,
SUM(CASE
WHEN a.order_source = 0 THEN b.period_service_price
WHEN a.order_source = 1 THEN b.period_service_price
ELSE b.period_service_price * 0.8
END) as servicecharge,
SUM(a.charging_capacity) as electrovalence,
SUM(a.electrovalence) AS paymentAmount,
ROUND(SUM(CASE
WHEN a.order_source = 0 THEN b.money
WHEN a.order_source = 1 THEN b.money
ELSE (b.period_electric_price + b.period_service_price * 0.8)
END), 2) AS paymoney,
count(1) as orderCount
FROM
t_charging_order a
left join (select charging_order_id, sum(period_electric_price) as period_electric_price,
sum(period_service_price) as period_service_price, sum(period_electric_price + period_service_price) as money
from t_charging_order_accounting_strategy group by charging_order_id) b on (a.id = b.charging_order_id)
a.del_flag = 0 and a.recharge_payment_status = 2 and DATE(a.create_time) = CURDATE()
and a.start_time between #{start} and #{end}
and a.site_id in
#{item}
GROUP BY
time
ORDER BY
time
SELECT
DATE_FORMAT(a.create_time, '%Y-%m-%d' ) as time,
SUM(CASE
WHEN a.order_source = 0 THEN b.period_service_price
WHEN a.order_source = 1 THEN b.period_service_price
ELSE b.period_service_price * 0.8
END) as servicecharge,
SUM(a.charging_capacity) as electrovalence,
SUM(a.electrovalence) AS paymentAmount,
ROUND(SUM(CASE
WHEN a.order_source = 0 THEN b.money
WHEN a.order_source = 1 THEN b.money
ELSE (b.period_electric_price + b.period_service_price * 0.8)
END), 2) AS paymoney,
count(1) as orderCount
FROM
t_charging_order a
left join (select charging_order_id, sum(period_electric_price) as period_electric_price,
sum(period_service_price) as period_service_price, sum(period_electric_price + period_service_price) as money
from t_charging_order_accounting_strategy group by charging_order_id) b on (a.id = b.charging_order_id)
a.del_flag = 0 and a.recharge_payment_status = 2 and YEARWEEK(DATE_FORMAT(a.create_time,
'%Y-%m-%d'), 1) = YEARWEEK(NOW(), 1)
and a.start_time between #{start} and #{end}
and a.site_id in
#{item}
GROUP BY
time
ORDER BY
time
SELECT
DATE_FORMAT(a.create_time, '%Y-%m-%d' ) as time,
SUM(CASE
WHEN a.order_source = 0 THEN b.period_service_price
WHEN a.order_source = 1 THEN b.period_service_price
ELSE b.period_service_price * 0.8
END) as servicecharge,
SUM(a.charging_capacity) as electrovalence,
SUM(a.electrovalence) AS paymentAmount,
ROUND(SUM(CASE
WHEN a.order_source = 0 THEN b.money
WHEN a.order_source = 1 THEN b.money
ELSE (b.period_electric_price + b.period_service_price * 0.8)
END), 2) AS paymoney,
count(1) as orderCount
FROM
t_charging_order a
left join (select charging_order_id, sum(period_electric_price) as period_electric_price,
sum(period_service_price) as period_service_price, sum(period_electric_price + period_service_price) as money
from t_charging_order_accounting_strategy group by charging_order_id) b on (a.id = b.charging_order_id)
a.del_flag = 0 and a.recharge_payment_status = 2 and MONTH(a.create_time) = MONTH(NOW())
AND YEAR(a.create_time) = YEAR(NOW())
and a.start_time between #{start} and #{end}
and a.site_id in
#{item}
GROUP BY
time
ORDER BY
time
SELECT
DATE_FORMAT(a.create_time, '%Y-%m-%d' ) as time,
SUM(CASE
WHEN a.order_source = 0 THEN b.period_service_price
WHEN a.order_source = 1 THEN b.period_service_price
ELSE b.period_service_price * 0.8
END) as servicecharge,
SUM(a.charging_capacity) as electrovalence,
SUM(a.electrovalence) AS paymentAmount,
ROUND(SUM(CASE
WHEN a.order_source = 0 THEN b.money
WHEN a.order_source = 1 THEN b.money
ELSE (b.period_electric_price + b.period_service_price * 0.8)
END), 2) AS paymoney,
count(1) as orderCount
FROM
t_charging_order a
left join (select charging_order_id, sum(period_electric_price) as period_electric_price,
sum(period_service_price) as period_service_price, sum(period_electric_price + period_service_price) as money
from t_charging_order_accounting_strategy group by charging_order_id) b on (a.id = b.charging_order_id)
a.del_flag = 0 and a.recharge_payment_status = 2 and YEAR(a.create_time) = YEAR(NOW())
and a.start_time between #{start} and #{end}
and a.site_id in
#{item}
GROUP BY
time
ORDER BY
time
SELECT
DATE_FORMAT(a.create_time, '%Y-%m-%d' ) as time,
SUM(CASE
WHEN a.order_source = 0 THEN b.period_service_price
WHEN a.order_source = 1 THEN b.period_service_price
ELSE b.period_service_price * 0.8
END) as servicecharge,
SUM(a.charging_capacity) as electrovalence,
SUM(a.electrovalence) AS paymentAmount,
ROUND(SUM(CASE
WHEN a.order_source = 0 THEN b.money
WHEN a.order_source = 1 THEN b.money
ELSE (b.period_electric_price + b.period_service_price * 0.8)
END), 2) AS paymoney,
count(1) as orderCount
FROM
t_charging_order a
left join (select charging_order_id, sum(period_electric_price) as period_electric_price,
sum(period_service_price) as period_service_price, sum(period_electric_price + period_service_price) as money
from t_charging_order_accounting_strategy group by charging_order_id) b on (a.id = b.charging_order_id)
a.del_flag = 0 and a.recharge_payment_status = 2
and a.start_time between #{start} and #{end}
and a.site_id in
#{item}
GROUP BY
time
ORDER BY
time
SELECT
'today' AS data_type,
DATE_FORMAT(create_time, '%H') AS TIME,
SUM(power) AS power
FROM
t_charging_order
WHERE
del_flag = 0
AND recharge_payment_status = 2
AND DATE(create_time) = CURDATE()
AND site_id IN
#{siteId}
GROUP BY
TIME
UNION ALL
SELECT
'yesterday' AS data_type,
DATE_FORMAT(create_time, '%H') AS TIME,
SUM(power) AS power
FROM
t_charging_order
WHERE
del_flag = 0
AND recharge_payment_status = 2
AND DATE(create_time) = CURDATE() - INTERVAL 1 DAY
AND site_id IN
#{siteId}
GROUP BY
TIME
ORDER BY
TIME;
SELECT
SUM(CASE WHEN power BETWEEN 0 AND 30 THEN 1 ELSE 0 END) AS count_0_30,
SUM(CASE WHEN power BETWEEN 31 AND 60 THEN 1 ELSE 0 END) AS count_31_60,
SUM(CASE WHEN power BETWEEN 61 AND 120 THEN 1 ELSE 0 END) AS count_61_120,
SUM(CASE WHEN power BETWEEN 121 AND 300 THEN 1 ELSE 0 END) AS count_121_300,
SUM(CASE WHEN power > 300 THEN 1 ELSE 0 END) AS count_above_300
FROM
t_charging_order
WHERE
del_flag = 0
AND recharge_payment_status = 2
AND site_id IN
#{siteId}
AND DATE(create_time) = CURDATE()
AND WEEKOFYEAR(create_time) = WEEKOFYEAR(CURDATE())
AND MONTH(create_time) = MONTH(CURDATE())
AND YEAR(create_time) = YEAR(CURDATE())
AND DATE(create_time) >= #{statisticsQueryDto.startTime}
AND DATE(create_time) <= #{statisticsQueryDto.endTime}
SELECT
DATE_FORMAT( create_time, '%H:00' ) AS time,
count(1) AS counts
FROM
charging_pile_account.t_app_user
WHERE
del_flag = 0
AND DATE ( create_time ) = CURDATE()
GROUP BY
time
SELECT
'today' AS data_type,
'1' as type,
DATE_FORMAT( create_time, '%H:00' ) AS time,
count(DISTINCT app_user_id) AS counts
FROM
t_charging_order
WHERE
del_flag = 0
AND DATE ( create_time ) = CURDATE()
GROUP BY
time
SELECT
'today' AS data_type,
'1' as type,
DATE_FORMAT( create_time, '%Y-%m-%d' ) AS time,
count(DISTINCT app_user_id) AS counts
FROM
t_charging_order
WHERE
del_flag = 0
AND DATE(create_time) = CURDATE()
AND WEEKOFYEAR(create_time) = WEEKOFYEAR(CURDATE())
AND MONTH(create_time) = MONTH(CURDATE())
AND YEAR(create_time) = YEAR(CURDATE())
AND create_time >= #{statisticsQueryDto.startTime}
AND create_time <= #{statisticsQueryDto.endTime}
GROUP BY
time
SELECT
DATE_FORMAT( create_time, '%Y-%m-%d' ) AS time,
count(1) AS counts
FROM
charging_pile_account.t_app_user
WHERE
del_flag = 0
AND DATE(create_time) = CURDATE()
AND WEEKOFYEAR(create_time) = WEEKOFYEAR(CURDATE())
AND MONTH(create_time) = MONTH(CURDATE())
AND YEAR(create_time) = YEAR(CURDATE())
AND DATE(create_time) >= #{statisticsQueryDto.startTime}
AND DATE(create_time) <= #{statisticsQueryDto.endTime}
GROUP BY
time
SELECT
tt.`name`,
COUNT( 1 ) AS count
FROM
(
SELECT
a.app_user_id,
a.user_tag_id,
a.create_time
FROM
charging_pile_account.t_app_user_tag a
JOIN ( SELECT app_user_id, MAX( create_time ) AS max_create_time FROM charging_pile_account.t_app_user_tag GROUP
BY app_user_id ) b ON a.app_user_id = b.app_user_id
AND a.create_time = b.max_create_time
LEFT JOIN `charging_pile_other`.`t_user_tag` ct on a.user_tag_id = ct.id
WHERE ct.del_flag = 0
) o
LEFT JOIN `charging_pile_other`.`t_user_tag` tt on o.user_tag_id = tt.id
GROUP BY
tt.name
SELECT
tv.`name`,
count(1) AS Counts
FROM
charging_pile_account.t_app_user ta
LEFT JOIN `charging_pile_other`.`t_vip` tv on ta.vip_id = tv.id
WHERE
ta.del_flag = 0
GROUP BY
tv.`name`
SELECT
tc.`name`,
au.company_id as companyId,
SUM( co.charging_capacity ) as chargingCapacity
FROM
charging_pile_order.t_charging_order co
LEFT JOIN charging_pile_account.t_app_user au ON co.app_user_id = au.id
LEFT JOIN `charging_pile_other`.`t_company` tc on au.company_id = tc.id
co.del_flag = 0
AND DATE( co.create_time ) = CURDATE()
AND WEEKOFYEAR( co.create_time ) = WEEKOFYEAR( CURDATE() )
AND MONTH( co.create_time ) = MONTH(CURDATE())
AND YEAR( co.create_time ) = YEAR(CURDATE() )
and DATE(co.create_time) >= #{statisticsQueryDto.startTime}
and DATE(co.create_time) <= #{statisticsQueryDto.endTime}
GROUP BY
tc.`name`, au.company_id
SELECT
count(1) as counts,vehicle_use
from charging_pile_account.t_app_user_car
where del_flag = 0
GROUP BY vehicle_use
SELECT
count(1) as counts,vehicle_brand
from charging_pile_account.t_app_user_car
where del_flag = 0
GROUP BY vehicle_brand
ORDER BY counts DESC
limit 5
SELECT
SUM(CASE WHEN license_plate LIKE '%川J%' THEN 1 ELSE 0 END) AS localCar,
SUM(CASE WHEN license_plate NOT LIKE '%川J%' THEN 1 ELSE 0 END) AS notLocalCar
FROM
`charging_pile_account`.`t_app_user_car`
WHERE
del_flag = 0
SELECT
ROUND(AVG(te.mark), 2) AS average_mark
FROM
`t_order_evaluate` te
LEFT JOIN t_charging_order co on te.order_id = co.id
WHERE
1 = 1
AND co.site_id IN
#{siteId}
AND te.del_flag = 0
SELECT
CASE
WHEN te.mark BETWEEN 1 AND 2 THEN '1-2'
WHEN te.mark = 3 THEN '3'
WHEN te.mark BETWEEN 4 AND 5 THEN '4-5'
ELSE 'Other'
END AS score_range,
COUNT(*) AS count
FROM
`t_order_evaluate` te
LEFT JOIN t_charging_order co on te.order_id = co.id
WHERE
te.del_flag = 0
AND co.site_id IN
#{siteId}
GROUP BY
score_range
select
a.id,
b.`name` as siteName,
a.`status`,
a.recharge_payment_type as rechargePaymentType,
a.pay_method as payMethod,
a.recharge_payment_status as rechargePaymentStatus,
a.site_id as siteId,
a.charging_pile_id as chargingPileId,
a.app_user_id as appUserId,
a.app_user_car_id as appUserCarId,
c.license_plate as plateNum,
a.start_charge_seq as startChargeSeq,
a.charging_gun_id as chargingGunId,
a.order_source as orderSource,
a.source_name as sourceName,
a.recharge_serial_number as rechargeSerialNumber,
a.`code`,
a.order_type as orderType,
d.`name` as terminalName,
UNIX_TIMESTAMP(a.end_time) - UNIX_TIMESTAMP(a.start_time) as chargingSecond,
a.electricity as chargingCapacity,
a.electricity as electricity,
a.recharge_amount as rechargeAmount,
a.payment_amount as orderAmount,
a.vip_discount_amount as vipDiscountAmount,
a.refund_amount as refundAmount,
a.is_whitelist as isWhitelist,
IFNULL(a.whitelist_electric_refund_amount, 0) + IFNULL(a.whitelist_service_refund_amount, 0) as whitelistRefundAmount,
IFNULL(a.whitelist_electric_refund_amount, 0) as whitelistElectricRefundAmount,
IFNULL(a.whitelist_service_refund_amount, 0) as whitelistServiceRefundAmount,
c.license_plate as licensePlate,
f.phone,
a.payment_amount as paymentAmount,
a.third_pay_amount as thirdPayAmount,
a.balance_pay_amount as balancePayAmount,
a.refund_amount as residualAmount,
h.electrovalence as electrovalence,
CASE WHEN a.order_source = 1 THEN h.serviceCharge ELSE h.serviceCharge * 0.8 END as serviceCharge,
CASE WHEN a.order_source = 2 THEN h.serviceCharge * 0.2 ELSE 0 END as sharingAmount,
0 as commissionAmount,
CASE WHEN a.order_source = 2 THEN IFNULL(h.serviceCharge, 0) * 0.2 ELSE 0 END as sharingAmount,
a.tripartite_platform_name as tripartitePlatformName,
a.create_time as createTime,
a.start_time as startTime,
a.end_time as endTime,
a.end_mode as endMode,
a.pay_time as payTime,
a.start_soc as startSoc,
a.end_soc as endSoc,
g.`name` as accountingStrategyName
from charging_pile_order.t_charging_order a
left join charging_pile_service.t_site b on (a.site_id = b.id)
left join charging_pile_account.t_app_user_car c on (a.app_user_car_id = c.id)
left join charging_pile_service.t_charging_gun d on (a.charging_gun_id = d.id)
left join charging_pile_account.t_app_user f on (a.app_user_id = f.id)
left join (
select charging_order_id, max(`name`) as `name`
from charging_pile_order.t_accounting_strategy_order
group by charging_order_id
) g on (a.id = g.charging_order_id)
inner join (
select sum(period_electric_price) as electrovalence,
sum(period_service_price) as serviceCharge,
charging_order_id
from charging_pile_order.t_charging_order_accounting_strategy
group by charging_order_id
) as h on (a.id = h.charging_order_id)
where a.del_flag = 0 and a.recharge_payment_status = 2
and a.code LIKE CONCAT('%',#{req.code},'%')
and a.app_user_car_id in
#{item}
and a.app_user_id in
#{item}
and a.site_id in
#{item}
and a.order_type = #{req.orderType}
and a.status = #{req.status}
and a.status = #{req.status}
and a.is_whitelist = #{req.isWhitelist}
and a.site_id = #{req.siteId}
and (a.pay_time between #{startTime1} and #{startTime2})
and (a.end_time between #{endTime1} and #{endTime2})
and a.start_time IS NOT NULL and a.end_time IS NOT NULL order by a.create_time desc
select
b.id,
b.`code`,
b.site_id as siteId,
b.charging_pile_id as chargingPileId,
b.charging_gun_id as chargingGunId,
b.app_user_id as appUserId,
b.app_user_car_id as appUserCarId,
b.order_type as orderType,
b.electricity,
b.recharge_amount as rechargeAmount,
b.recharge_payment_type as rechargePaymentType,
b.pay_method as payMethod,
b.is_whitelist as isWhitelist,
IFNULL(b.whitelist_electric_refund_amount, 0) + IFNULL(b.whitelist_service_refund_amount, 0) as whitelistRefundAmount,
IFNULL(b.whitelist_electric_refund_amount, 0) as whitelistElectricRefundAmount,
IFNULL(b.whitelist_service_refund_amount, 0) as whitelistServiceRefundAmount,
b.payment_amount as paymentAmount,
b.third_pay_amount as thirdPayAmount,
b.balance_pay_amount as balancePayAmount,
b.electrovalence,
b.service_charge as serviceCharge,
b.order_source as orderSource,
b.tripartite_platform_name as tripartitePlatformName,
DATE_FORMAT(b.start_time, '%Y-%m-%d %H:%i:%s') as startTime,
DATE_FORMAT(b.end_time, '%Y-%m-%d %H:%i:%s') as endTime,
(UNIX_TIMESTAMP(b.end_time) - UNIX_TIMESTAMP(b.start_time)) as chargingSecond,
b.start_soc as startSoc,
b.end_soc as endSoc,
b.`status`,
b.end_mode as endMode
from t_charging_order b
where b.del_flag = 0 and b.recharge_payment_status = 2
and b.code LIKE CONCAT('%',#{req.code},'%')
and b.app_user_car_id in
#{item}
and b.app_user_id in
#{item}
and b.site_id in
#{item}
and b.order_type = #{req.orderType}
and b.status = #{req.status}
and b.is_whitelist = #{req.isWhitelist}
and b.site_id = #{req.siteId}
and b.pay_time between #{startTime1} and #{startTime2}
and b.end_time between #{endTime1} and #{endTime2}
and b.start_time IS NOT NULL and b.end_time is not null
order by b.start_time desc
select
charging_order_id as orderId,
sum(period_electric_price) as periodElectricPrice,
sum(period_service_price) as periodServicePrice,
sum(CASE WHEN type = 1 THEN charging_capacity ELSE 0 END) as jian,
sum(CASE WHEN type = 2 THEN charging_capacity ELSE 0 END) as feng,
sum(CASE WHEN type = 3 THEN charging_capacity ELSE 0 END) as ping,
sum(CASE WHEN type = 4 THEN charging_capacity ELSE 0 END) as gu
from t_charging_order_accounting_strategy
where charging_order_id in
#{orderId}
group by charging_order_id
select
count(a.id) as orderCount,
sum(a.charging_capacity) as electronic,
sum(a.period_electric_price) as electrovalence,
sum(CASE WHEN a.order_source = 2 THEN a.period_service_price * 0.8 ELSE a.period_service_price END) as serviceCharge,
sum(a.period_electric_price + (CASE WHEN a.order_source = 2 THEN a.period_service_price * 0.8 ELSE a.period_service_price END)) as paymentAmount,
sum(CASE WHEN a.type = 1 THEN a.period_electric_price ELSE 0 END) as jianElectronic,
sum(CASE WHEN a.type = 2 THEN a.period_electric_price ELSE 0 END) as fengElectronic,
sum(CASE WHEN a.type = 3 THEN a.period_electric_price ELSE 0 END) as pingElectronic,
sum(CASE WHEN a.type = 4 THEN a.period_electric_price ELSE 0 END) as guElectronic,
sum(CASE WHEN a.order_source = 2 and a.type = 1 THEN a.period_service_price * 0.8 WHEN a.order_source != 2 and a.type = 1 THEN a.period_service_price ELSE 0 END) as jianService,
sum(CASE WHEN a.order_source = 2 and a.type = 2 THEN a.period_service_price * 0.8 WHEN a.order_source != 2 and a.type = 2 THEN a.period_service_price ELSE 0 END) as fengService,
sum(CASE WHEN a.order_source = 2 and a.type = 3 THEN a.period_service_price * 0.8 WHEN a.order_source != 2 and a.type = 3 THEN a.period_service_price ELSE 0 END) as pingService,
sum(CASE WHEN a.order_source = 2 and a.type = 4 THEN a.period_service_price * 0.8 WHEN a.order_source != 2 and a.type = 4 THEN a.period_service_price ELSE 0 END) as guService,
sum(CASE WHEN a.type = 1 THEN a.charging_capacity ELSE 0 END) as jian,
sum(CASE WHEN a.type = 2 THEN a.charging_capacity ELSE 0 END) as feng,
sum(CASE WHEN a.type = 3 THEN a.charging_capacity ELSE 0 END) as ping,
sum(CASE WHEN a.type = 4 THEN a.charging_capacity ELSE 0 END) as gu
from (
select co.id, co.site_id as siteId, coas.type, coas.charging_capacity, coas.period_electric_price, coas.period_service_price, co.order_source
from t_charging_order_accounting_strategy coas
inner join t_charging_order co on (coas.charging_order_id = co.id)
where co.del_flag = 0 and co.recharge_payment_status = 2
and co.code LIKE CONCAT('%',#{req.code},'%')
and co.app_user_car_id in
#{item}
and co.app_user_id in
#{item}
and co.site_id in
#{item}
and co.order_type = #{req.orderType}
and co.status = #{req.status}
and co.is_whitelist = #{req.isWhitelist}
and co.site_id = #{req.siteId}
and co.pay_time between #{startTime1} and #{startTime2}
and co.end_time between #{endTime1} and #{endTime2}
and co.start_time IS NOT NULL and co.end_time is not null
) as a
select co.id
from t_charging_order co
where co.del_flag = 0 and co.recharge_payment_status = 2
and co.code LIKE CONCAT('%',#{req.code},'%')
and co.app_user_car_id in
#{item}
and co.app_user_id in
#{item}
and co.site_id in
#{item}
and co.order_type = #{req.orderType}
and co.status = #{req.status}
and co.is_whitelist = #{req.isWhitelist}
and co.site_id = #{req.siteId}
and co.pay_time between #{startTime1} and #{startTime2}
and co.end_time between #{endTime1} and #{endTime2}
and co.start_time IS NOT NULL and co.end_time is not null
select t1.* from t_charging_order t1
where 1=1
and t1.code LIKE CONCAT('%',#{req.code},'%')
and t1.app_user_car_id in
#{item}
and t1.app_user_id in
#{item}
and t1.order_type = #{req.orderType}
and t1.status = #{req.status}
and t1.status = #{req.status}
and t1.is_whitelist = #{req.isWhitelist}
and t1.site_id = #{req.siteId}
and (t1.start_time between #{startTime1} and #{startTime2})
and (t1.end_time between #{endTime1} and #{endTime2})
select
count(1) as counts,
case
when tripartite_platform_name is null then '明星充电'
when tripartite_platform_name = 'KuaiDian' then '快电'
when tripartite_platform_name = 'XinDianTu' then '新电途'
else tripartite_platform_name
end as source
from t_charging_order
where 1=1
AND del_flag = 0
AND recharge_payment_status = 2 and status = 5
and site_id IN
#{siteId}
AND DATE(create_time ) = CURDATE()
and DATE(create_time) >= #{statisticsQueryDto.startTime}
and DATE(create_time) <= #{statisticsQueryDto.endTime}
group by tripartite_platform_name
SELECT
FORMAT(SUM(TIME_TO_SEC(TIMEDIFF(co.end_time, co.start_time)) /
864
6048
25920
315360
(864*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS
days_difference
))
), 2) AS percent,co.charging_gun_id,tc.name,cp.name as siteName
FROM
`charging_pile_order`.`t_charging_order` co
LEFT JOIN `charging_pile_service`.`t_charging_gun` tc on co.charging_gun_id = tc.id
LEFT JOIN `charging_pile_service`.`t_charging_pile` cp on tc.charging_pile_id = cp.id
WHERE co.del_flag = 0 and
co.start_time IS NOT NULL AND co.end_time IS NOT NULL and tc.type = 4
and co.site_id IN
#{siteId}
AND DATE( co.create_time ) = CURDATE()
AND WEEKOFYEAR( co.create_time ) = WEEKOFYEAR( CURDATE() )
AND MONTH( co.create_time ) = MONTH(CURDATE())
AND YEAR( co.create_time ) = YEAR(CURDATE() )
and DATE(co.create_time) >= #{statisticsQueryDto.startTime}
and DATE(co.create_time) <= #{statisticsQueryDto.endTime}
GROUP BY tc.name,cp.name,co.charging_gun_id
SELECT
FORMAT(SUM(TIME_TO_SEC(TIMEDIFF(co.end_time, co.start_time)) /
864
6048
25920
315360
(864*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS
days_difference
))
), 2) AS percent,co.charging_gun_id,tc.name,cp.name as siteName
FROM
`charging_pile_order`.`t_charging_order` co
LEFT JOIN `charging_pile_service`.`t_charging_gun` tc on co.charging_gun_id = tc.id
LEFT JOIN `charging_pile_service`.`t_charging_pile` cp on tc.charging_pile_id = cp.id
WHERE co.del_flag = 0 and
co.start_time IS NOT NULL AND co.end_time IS NOT NULL and tc.type in (2,3)
and co.site_id IN
#{siteId}
AND DATE( co.create_time ) = CURDATE()
AND WEEKOFYEAR( co.create_time ) = WEEKOFYEAR( CURDATE() )
AND MONTH( co.create_time ) = MONTH(CURDATE())
AND YEAR( co.create_time ) = YEAR(CURDATE() )
and DATE(co.create_time) >= #{statisticsQueryDto.startTime}
and DATE(co.create_time) <= #{statisticsQueryDto.endTime}
GROUP BY tc.name,cp.name,co.charging_gun_id
SELECT
FORMAT(SUM(TIME_TO_SEC(TIMEDIFF(co.end_time, co.down_time)) /
864
6048
25920
315360
(864*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS
days_difference
))
), 2) AS percent,cp.name
FROM
`charging_pile_service`.`t_fault_message` co
LEFT JOIN `charging_pile_service`.`t_charging_pile` cp on co.charging_pile_id = cp.id
WHERE
co.down_time IS NOT NULL AND co.end_time IS NOT NULL and cp.type = 1 and co.status =2
and co.site_id IN
#{siteId}
AND DATE( co.create_time ) = CURDATE()
AND WEEKOFYEAR( co.create_time ) = WEEKOFYEAR( CURDATE() )
AND MONTH( co.create_time ) = MONTH(CURDATE())
AND YEAR( co.create_time ) = YEAR(CURDATE() )
and DATE(co.create_time) >= #{statisticsQueryDto.startTime}
and DATE(co.create_time) <= #{statisticsQueryDto.endTime}
GROUP BY cp.name
SELECT
FORMAT(SUM(TIME_TO_SEC(TIMEDIFF(co.end_time, co.down_time)) /
864
6048
25920
315360
(864*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS
days_difference
))
), 2) AS percent,cp.name
FROM
`charging_pile_service`.`t_fault_message` co
LEFT JOIN `charging_pile_service`.`t_charging_pile` cp on co.charging_pile_id = cp.id
WHERE
co.down_time IS NOT NULL AND co.end_time IS NOT NULL and cp.type in (2,3) and co.status =2
and co.site_id IN
#{siteId}
AND DATE( co.create_time ) = CURDATE()
AND WEEKOFYEAR( co.create_time ) = WEEKOFYEAR( CURDATE() )
AND MONTH( co.create_time ) = MONTH(CURDATE())
AND YEAR( co.create_time ) = YEAR(CURDATE() )
and DATE(co.create_time) >= #{statisticsQueryDto.startTime}
and DATE(co.create_time) <= #{statisticsQueryDto.endTime}
GROUP BY cp.name
SELECT
FORMAT(SUM(TIME_TO_SEC(TIMEDIFF(co.end_time, co.down_time)) /
864
6048
25920
315360
(864*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS
days_difference
))
), 2) AS percent,cp.name
FROM
`charging_pile_service`.`t_fault_message` co
LEFT JOIN `charging_pile_service`.`t_charging_pile` cp on co.charging_pile_id = cp.id
WHERE
co.down_time IS NOT NULL AND co.end_time IS NOT NULL and cp.type = 1 and co.status =1
and co.site_id IN
#{siteId}
AND DATE( co.create_time ) = CURDATE()
AND WEEKOFYEAR( co.create_time ) = WEEKOFYEAR( CURDATE() )
AND MONTH( co.create_time ) = MONTH(CURDATE())
AND YEAR( co.create_time ) = YEAR(CURDATE() )
and DATE(co.create_time) >= #{statisticsQueryDto.startTime}
and DATE(co.create_time) <= #{statisticsQueryDto.endTime}
GROUP BY cp.name
SELECT
FORMAT(SUM(TIME_TO_SEC(TIMEDIFF(co.end_time, co.down_time)) /
864
6048
25920
315360
(864*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS
days_difference
))
), 2) AS percent,cp.name
FROM
`charging_pile_service`.`t_fault_message` co
LEFT JOIN `charging_pile_service`.`t_charging_pile` cp on co.charging_pile_id = cp.id
WHERE
co.down_time IS NOT NULL AND co.end_time IS NOT NULL and cp.type = 2 and co.status =1
and co.site_id IN
#{siteId}
AND DATE( co.create_time ) = CURDATE()
AND WEEKOFYEAR( co.create_time ) = WEEKOFYEAR( CURDATE() )
AND MONTH( co.create_time ) = MONTH(CURDATE())
AND YEAR( co.create_time ) = YEAR(CURDATE() )
and DATE(co.create_time) >= #{statisticsQueryDto.startTime}
and DATE(co.create_time) <= #{statisticsQueryDto.endTime}
GROUP BY cp.name
SELECT
FORMAT((SUM(co.current)*100 / SUM(co.need_elec)), 2) AS percent,
co.charging_gun_id,
tc.name as name,
cp.name AS siteName
FROM
`charging_pile_order`.`t_charging_order` co
LEFT JOIN `charging_pile_service`.`t_charging_gun` tc ON co.charging_gun_id = tc.id
LEFT JOIN `charging_pile_service`.`t_charging_pile` cp ON tc.charging_pile_id = cp.id
tc.type = 4 and co.need_elec != 0
and co.site_id IN
#{siteId}
AND DATE( co.create_time ) = CURDATE()
AND WEEKOFYEAR( co.create_time ) = WEEKOFYEAR( CURDATE() )
AND MONTH( co.create_time ) = MONTH(CURDATE())
AND YEAR( co.create_time ) = YEAR(CURDATE() )
and DATE(co.create_time) >= #{statisticsQueryDto.startTime}
and DATE(co.create_time) <= #{statisticsQueryDto.endTime}
GROUP BY
tc.name,
cp.name,
co.charging_gun_id;
select
count(distinct a.id) as num,
sum(b.charging_capacity) as charging_capacity,
sum(CASE WHEN a.order_source = 0 THEN b.period_service_price
WHEN a.order_source = 1 THEN b.period_service_price
ELSE b.period_service_price * 0.8
END) as servicecharge,
sum(b.period_electric_price) as electrovalence,
sum(b.charging_capacity) as electricity
from t_charging_order a
left join t_charging_order_accounting_strategy b on a.id = b.charging_order_id
where a.del_flag = 0
and a.status = 5
and a.recharge_payment_status = 2
and a.create_time >= CONCAT(#{time}, ' 00:00:00')
and a.create_time < DATE_ADD(#{time}, INTERVAL 1 DAY)
and a.site_id IN
#{siteId}
select
aa.time,
sum(aa.servicecharge) as servicecharge,
sum(aa.electrovalence) as electrovalence,
sum(aa.electricity) as electricity,
count(1) as orderCount
from (
SELECT
DATE_FORMAT(
a.start_time
a.end_time
, '%H:00') as time,
(CASE
WHEN a.order_source = 0 THEN b.period_service_price
WHEN a.order_source = 1 THEN b.period_service_price
ELSE b.period_service_price * 0.8
END) as servicecharge,
(b.period_electric_price) as electrovalence,
(b.charging_capacity) as electricity
FROM
t_charging_order a
left join (select charging_order_id, sum(period_electric_price) as period_electric_price,
sum(period_service_price) as period_service_price, sum(charging_capacity) as charging_capacity,
sum(period_electric_price + period_service_price) as money from t_charging_order_accounting_strategy group by
charging_order_id) b on (a.id = b.charging_order_id)
WHERE a.del_flag = 0 and a.status = 5 and a.recharge_payment_status = 2 and DATE_FORMAT(
a.create_time
a.end_time
, '%Y-%m-%d') = #{statisticsQueryDto.hourDate}
and a.site_id IN
#{siteId}
) as aa GROUP BY aa.time ORDER BY aa.time
select
aa.time,
sum(aa.servicecharge) as servicecharge,
sum(aa.electrovalence) as electrovalence,
sum(aa.electricity) as electricity,
count(1) as orderCount
from (
SELECT
DATE_FORMAT(
a.start_time
a.end_time
, '%Y-%m-%d') as time,
(CASE
WHEN a.order_source = 0 THEN b.period_service_price
WHEN a.order_source = 1 THEN b.period_service_price
ELSE b.period_service_price * 0.8
END) as servicecharge,
(b.period_electric_price) as electrovalence,
(b.charging_capacity) as electricity
FROM
t_charging_order a
left join (select charging_order_id, sum(period_electric_price) as period_electric_price,
sum(period_service_price) as period_service_price, sum(charging_capacity) as charging_capacity,
sum(period_electric_price + period_service_price) as money from t_charging_order_accounting_strategy group by
charging_order_id) b on (a.id = b.charging_order_id)
WHERE a.del_flag = 0 and a.status = 5 and a.recharge_payment_status = 2 and DATE_FORMAT(
a.start_time
a.end_time
, '%Y-%m-%d') between #{statisticsQueryDto.startTime} and #{statisticsQueryDto.endTime}
and a.site_id IN
#{siteId}
) as aa GROUP BY aa.time ORDER BY aa.time
select
aa.time,
sum(aa.servicecharge) as servicecharge,
sum(aa.electrovalence) as electrovalence,
sum(aa.electricity) as electricity,
count(1) as orderCount
from (
SELECT
DATE_FORMAT(
a.start_time
a.end_time
, '%Y-%m') as time,
(CASE
WHEN a.order_source = 0 THEN b.period_service_price
WHEN a.order_source = 1 THEN b.period_service_price
ELSE b.period_service_price * 0.8
END) as servicecharge,
(b.period_electric_price) as electrovalence,
(b.charging_capacity) as electricity
FROM
t_charging_order a
left join (select charging_order_id, sum(period_electric_price) as period_electric_price,
sum(period_service_price) as period_service_price, sum(charging_capacity) as charging_capacity,
sum(period_electric_price + period_service_price) as money from t_charging_order_accounting_strategy group by
charging_order_id) b on (a.id = b.charging_order_id)
WHERE a.del_flag = 0 and a.status = 5 and a.recharge_payment_status = 2 and DATE_FORMAT(
a.start_time
a.end_time
, '%Y-%m-%d') between #{statisticsQueryDto.startTime} and #{statisticsQueryDto.endTime}
and a.site_id IN
#{siteId}
) as aa GROUP BY aa.time ORDER BY aa.time
SELECT
DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
SUM(charging_capacity) as chargingCapacity
FROM
t_charging_order
WHERE del_flag = 0 and recharge_payment_status = 2
AND DATE( create_time ) between #{statisticsQueryDto.startTime} and #{statisticsQueryDto.endTime}
and site_id IN
#{siteId}
GROUP BY
time
SELECT
COUNT( DISTINCT app_user_id ) AS counts,
'1' AS type
FROM
`charging_pile_order`.`t_charging_order` UNION ALL
SELECT
COUNT(*) AS counts,
'2' AS type
FROM
`charging_pile_account`.`t_app_user`
WHERE
`vip_end_time` > NOW()
UNION ALL
SELECT
COUNT(*) AS counts,
'3' AS type
FROM
`charging_pile_account`.`t_app_user`
WHERE
del_flag = 0
SELECT
FORMAT((SUM(co.current)*100 / SUM(co.need_elec)), 2) AS percent,
co.charging_gun_id,
tc.name as name,
cp.name AS siteName
FROM
(select site_id,create_time,charging_gun_id, charging_pile_id, current, (CASE WHEN need_elec = 0 THEN `current`
ELSE need_elec END) as need_elec from `charging_pile_order`.`t_charging_order`) co
LEFT JOIN `charging_pile_service`.`t_charging_gun` tc ON co.charging_gun_id = tc.id
LEFT JOIN `charging_pile_service`.`t_charging_pile` cp ON tc.charging_pile_id = cp.id
tc.type in (2,3)
and co.site_id IN
#{siteId}
AND DATE( co.create_time ) = CURDATE()
AND WEEKOFYEAR( co.create_time ) = WEEKOFYEAR( CURDATE() )
AND MONTH( co.create_time ) = MONTH(CURDATE())
AND YEAR( co.create_time ) = YEAR(CURDATE() )
and DATE(co.create_time) >= #{statisticsQueryDto.startTime}
and DATE(co.create_time) <= #{statisticsQueryDto.endTime}
GROUP BY
tc.name,
cp.name,
co.charging_gun_id;
SELECT count(1)
from `charging_pile_account`.`t_app_user` au
WHERE au.id not IN (
SELECT app_user_id
from `charging_pile_account`.`t_app_user_tag`
GROUP BY app_user_id
) and au.del_flag = 0
select count(1)
from
charging_pile_account.t_app_user_car
where del_flag = 0
and vehicle_brand not in
#{brand}
where b.del_flag = 0 and b.recharge_payment_status = 2 and b.start_time IS NOT NULL and b.end_time is not null
and b.code LIKE CONCAT('%',#{req.code},'%')
and b.app_user_id in
#{item}
and app_user.phone LIKE CONCAT('%',#{req.phone},'%')
and b.site_id in
#{item}
and b.order_type = #{req.orderType}
and b.status = #{req.status}
and (b.order_source = 0 or b.order_source = 1 )
and b.tripartite_platform_name = 'KuaiDian'
and b.tripartite_platform_name = 'XinDianTu'
and b.is_whitelist = #{req.isWhitelist}
and b.recharge_payment_type = 1
and b.recharge_payment_type in (2, 3)
and b.pay_method in (1, 2)
and b.site_id = #{req.siteId}
and b.charging_pile_id = #{req.pileId}
and b.charging_gun_id = #{req.gunId}
and (b.pay_time between #{startTime1} and #{startTime2})
and (b.end_time between #{endTime1} and #{endTime2})
select
sum(COALESCE(summary.charging_duration, UNIX_TIMESTAMP(b.end_time) - UNIX_TIMESTAMP(b.start_time))) as `time`,
sum(COALESCE(summary.income, IFNULL(b.electrovalence, 0) + CASE WHEN b.order_source = 1 THEN IFNULL(b.service_charge, 0) ELSE IFNULL(b.service_charge, 0) * 0.8 END)) as income,
sum(COALESCE(summary.electric_price, IFNULL(b.electrovalence, 0))) as electronicMoney,
sum(COALESCE(summary.service_price, CASE WHEN b.order_source = 1 THEN IFNULL(b.service_charge, 0) ELSE IFNULL(b.service_charge, 0) * 0.8 END)) as serviceMoney,
sum(COALESCE(summary.charging_capacity, IFNULL(b.charging_capacity, 0))) as total,
sum(CASE WHEN b.recharge_payment_type = 1 AND IFNULL(b.third_pay_amount, CASE WHEN b.pay_method = 3 THEN IFNULL(b.payment_amount, IFNULL(b.recharge_amount, 0)) ELSE 0 END) - IFNULL(b.third_refund_amount, CASE WHEN b.pay_method = 3 THEN IFNULL(b.refund_amount, 0) ELSE 0 END) > 0 THEN IFNULL(b.third_pay_amount, CASE WHEN b.pay_method = 3 THEN IFNULL(b.payment_amount, IFNULL(b.recharge_amount, 0)) ELSE 0 END) - IFNULL(b.third_refund_amount, CASE WHEN b.pay_method = 3 THEN IFNULL(b.refund_amount, 0) ELSE 0 END) ELSE 0 END) as wechatIncome,
sum(CASE WHEN b.recharge_payment_type in (2, 3) AND IFNULL(b.third_pay_amount, CASE WHEN b.pay_method = 3 THEN IFNULL(b.payment_amount, IFNULL(b.recharge_amount, 0)) ELSE 0 END) - IFNULL(b.third_refund_amount, CASE WHEN b.pay_method = 3 THEN IFNULL(b.refund_amount, 0) ELSE 0 END) > 0 THEN IFNULL(b.third_pay_amount, CASE WHEN b.pay_method = 3 THEN IFNULL(b.payment_amount, IFNULL(b.recharge_amount, 0)) ELSE 0 END) - IFNULL(b.third_refund_amount, CASE WHEN b.pay_method = 3 THEN IFNULL(b.refund_amount, 0) ELSE 0 END) ELSE 0 END) as alipayIncome,
sum(CASE WHEN b.is_whitelist = 1 THEN IFNULL(b.electrovalence, 0) + IFNULL(b.service_charge, 0) ELSE 0 END) as whitelistChargingIncome,
sum(CASE WHEN b.is_whitelist = 1 THEN IFNULL(b.whitelist_electric_refund_amount, 0) + IFNULL(b.whitelist_service_refund_amount, 0) ELSE 0 END) as whitelistRefund
from `charging_pile_order`.t_charging_order b
left join `charging_pile_order`.t_charging_order_summary_data summary on summary.charging_order_id = b.id
inner join `charging_pile_account`.`t_app_user` app_user on app_user.id = b.app_user_id
select
sum(aa.time) as `time`,
sum(aa.income) as income,
sum(aa.electronicMoney) as electronicMoney,
sum(aa.serviceMoney) as serviceMoney,
sum(aa.total) as total
from (
select
b.id,
(UNIX_TIMESTAMP(b.end_time) - UNIX_TIMESTAMP(b.start_time)) as time,
sum(a.charging_capacity) as total,
sum(a.period_electric_price) as electronicMoney,
sum(CASE WHEN b.order_source = 1 THEN a.period_service_price ELSE a.period_service_price * 0.8 END) as serviceMoney,
sum(a.period_electric_price + (CASE WHEN b.order_source = 1 THEN a.period_service_price ELSE a.period_service_price * 0.8 END)) as income
from `charging_pile_order`.t_charging_order_accounting_strategy a
left join `charging_pile_order`.t_charging_order b on (a.charging_order_id = b.id)
inner join `charging_pile_account`.`t_app_user` app_user on app_user.id = b.app_user_id
group by b.id,time
) as aa
select
sum(CASE WHEN aa.recharge_payment_type = 1 and aa.thirdNetAmount > 0 THEN aa.thirdNetAmount ELSE 0 END) as wechatIncome,
sum(CASE WHEN aa.recharge_payment_type in (2, 3) and aa.thirdNetAmount > 0 THEN aa.thirdNetAmount ELSE 0 END) as alipayIncome,
0 as balanceIncome,
0 as platformIncomeTotal,
0 as partnerIncomeTotal,
sum(CASE WHEN aa.is_whitelist = 1 THEN IFNULL(aa.electrovalence, 0) + IFNULL(aa.serviceCharge, 0) ELSE 0 END) as whitelistChargingIncome,
sum(CASE WHEN aa.is_whitelist = 1 THEN IFNULL(aa.whitelist_electric_refund_amount, 0) + IFNULL(aa.whitelist_service_refund_amount, 0) ELSE 0 END) as whitelistRefund
from (
select
b.id,
b.recharge_payment_type,
b.is_whitelist,
b.electrovalence,
b.service_charge as serviceCharge,
b.whitelist_electric_refund_amount,
b.whitelist_service_refund_amount,
IFNULL(b.third_pay_amount, CASE WHEN b.pay_method = 3 THEN IFNULL(b.payment_amount, IFNULL(b.recharge_amount, 0)) ELSE 0 END) - IFNULL(b.third_refund_amount, CASE WHEN b.pay_method = 3 THEN IFNULL(b.refund_amount, 0) ELSE 0 END) as thirdNetAmount
from `charging_pile_order`.t_charging_order b
inner join `charging_pile_account`.`t_app_user` app_user on app_user.id = b.app_user_id
) as aa
select
s.charging_order_id as orderId,
sum(IFNULL(s.channel_pay_amount, 0) - IFNULL(s.share_amount, 0)) as platformIncome,
sum(IFNULL(s.share_amount, 0)) as partnerIncome
from `charging_pile_order`.t_charging_order_share_record s
inner join `charging_pile_order`.t_charging_order o on o.id = s.charging_order_id
where s.del_flag = 0 and s.charging_order_id is not null
and s.charging_order_id in
#{item}
group by s.charging_order_id
select
s.pay_channel as payChannel,
sum(IFNULL(s.share_amount, 0)) as shareAmount
from t_charging_order_share_record s
inner join t_charging_order o on s.charging_order_id = o.id
where s.del_flag = 0
and s.charging_order_id is not null
and o.del_flag = 0
and o.recharge_payment_status = 2
and o.status = 5
and o.create_time >= #{sixBefore}
and o.site_id in
#{siteId}
group by s.pay_channel
select
sum(IFNULL(s.channel_pay_amount, 0) - IFNULL(s.share_amount, 0)) as platformIncomeTotal,
sum(IFNULL(s.share_amount, 0)) as partnerIncomeTotal
from `charging_pile_order`.t_charging_order_share_record s
inner join `charging_pile_order`.t_charging_order o on o.id = s.charging_order_id
where s.del_flag = 0 and s.charging_order_id is not null
and s.charging_order_id in
#{item}
select b.id
from `charging_pile_order`.t_charging_order b
inner join `charging_pile_account`.`t_app_user` app_user on app_user.id = b.app_user_id
select
sum(CASE WHEN change_type = 2 THEN IFNULL(used_amount, 0) - IFNULL(gift_used_amount, 0) WHEN change_type = 3 THEN -(IFNULL(used_amount, 0) - IFNULL(gift_used_amount, 0)) ELSE 0 END) as balanceIncome,
sum(CASE WHEN change_type = 2 THEN IFNULL(gift_used_amount, 0) WHEN change_type = 3 THEN -IFNULL(gift_used_amount, 0) ELSE 0 END) as balanceGiftIncome
from `charging_pile_other`.t_exchange_code_use_record
where del_flag = 0 and change_type in (2, 3)
and order_id in
#{item}
select
order_id as orderId,
sum(CASE WHEN change_type = 2 THEN IFNULL(used_amount, 0) - IFNULL(gift_used_amount, 0) WHEN change_type = 3 THEN -(IFNULL(used_amount, 0) - IFNULL(gift_used_amount, 0)) ELSE 0 END) as balanceIncome,
sum(CASE WHEN change_type = 2 THEN IFNULL(gift_used_amount, 0) WHEN change_type = 3 THEN -IFNULL(gift_used_amount, 0) ELSE 0 END) as balanceGiftIncome
from `charging_pile_other`.t_exchange_code_use_record
where del_flag = 0 and order_id is not null and order_id != 0 and change_type in (2, 3)
and order_id in
#{item}
group by order_id
select
p.id as packageId,
p.package_name as packageName,
sum(CASE WHEN r.change_type = 2 THEN IFNULL(r.used_amount, 0) - IFNULL(r.gift_used_amount, 0) WHEN r.change_type = 3 THEN -(IFNULL(r.used_amount, 0) - IFNULL(r.gift_used_amount, 0)) ELSE 0 END) as balanceIncome,
sum(CASE WHEN r.change_type = 2 THEN IFNULL(r.gift_used_amount, 0) WHEN r.change_type = 3 THEN -IFNULL(r.gift_used_amount, 0) ELSE 0 END) as giftIncome
from `charging_pile_other`.t_exchange_code_use_record r
left join `charging_pile_other`.t_exchange_code_detail d on r.detail_id = d.id
left join `charging_pile_other`.t_exchange_code_package p on d.package_id = p.id
where r.del_flag = 0 and r.change_type in (2, 3)
and r.order_id in
#{item}
group by p.id, p.package_name
having balanceIncome != 0 or giftIncome != 0
order by p.id desc
SELECT COUNT(1)
FROM t_charging_order
WHERE del_flag = 0
AND status IN (3, 5)
AND charging_gun_id IN
#{item}
AND create_time >= #{startTime}
AND create_time < #{endTime}
SELECT
*
FROM
t_charging_order
WHERE
`status` = 2
AND recharge_payment_status = 2
AND (NOW() >= ADDDATE(pay_time, INTERVAL 15 MINUTE ) OR NOW() >= ADDDATE(create_time, INTERVAL 30 MINUTE ))
AND del_flag = 0
SELECT
*
FROM
t_charging_order
WHERE
`status` = 4
AND NOW() >= ADDDATE(end_time, INTERVAL 10 MINUTE )
AND del_flag = 0
AND id NOT IN (
SELECT
charging_order_id
FROM
t_charging_order_refund)
SELECT
*
FROM
t_charging_order
WHERE
`status` = 3
AND del_flag = 0
AND id NOT IN (
SELECT
charging_order_id
FROM
t_charging_order_refund)
SELECT IFNULL(SUM(t2.charging_capacity), 0.0) AS sumDegreeBySiteIds
FROM t_charging_order t1
LEFT JOIN t_charging_order_summary_data t2 ON t1.id = t2.charging_order_id
WHERE t1.del_flag = 0
AND t1.site_id IN
#{item}
SELECT
*
FROM
t_charging_order
WHERE `status` in (-1, 5) AND del_flag = 0 and create_time > '2025-08-01 00:00:00' and order_source = 1 AND id NOT IN (
SELECT
charging_order_id
FROM
t_charging_order_refund)
select * from t_charging_order where `status` in (2, 3, 4) and id IN (
SELECT
charging_order_id
FROM
t_charging_order_refund)
select
aa.siteId,
count(aa.orderId) as orderNum,
sum(aa.chargingDuration) as chargingDuration,
sum(aa.totalAmount) as totalAmount,
sum(aa.couponDeduction) as couponDeduction,
sum(aa.platformFee) as platformFee,
SUM(aa.tripartiteCommission) as tripartiteCommission,
sum(aa.totalElectricity) as totalElectricity,
sum(aa.totalElectricityCharge) as totalElectricityCharge,
sum(aa.totalServiceFee) as totalServiceFee
from (
select
b.id as orderId,
b.site_id as siteId,
UNIX_TIMESTAMP(b.end_time) - UNIX_TIMESTAMP(b.start_time) as chargingDuration,
b.payment_amount as totalAmount,
b.coupon_discount_amount as couponDeduction,
(CASE WHEN b.order_source != 2 THEN b.recharge_amount * 0.006 ELSE 0 END) as platformFee,
sum((CASE WHEN b.order_source = 2 THEN a.period_service_price * 0.2 ELSE 0 END)) as tripartiteCommission,
sum(a.charging_capacity) as totalElectricity,
sum(a.period_electric_price) as totalElectricityCharge,
sum(a.period_service_price) as totalServiceFee
from `charging_pile_order`.t_charging_order_accounting_strategy a
left join `charging_pile_order`.t_charging_order b on (a.charging_order_id = b.id)
where b.`status` = 5 and b.del_flag = 0
and b.start_time between #{startTime} and #{endTime}
and b.end_time between #{startTime} and #{endTime}
group by orderId,siteId, chargingDuration, totalAmount, couponDeduction, platformFee
) as aa group by aa.siteId order by aa.siteId
SELECT
b.site_id AS siteId,
SUM(CASE
WHEN sr.charging_order_id IS NOT NULL THEN sr.paid_amount
ELSE IFNULL(b.payment_amount, 0)
END) AS rechargeAmount,
SUM(IFNULL(r.refund_amount, 0)) AS refundAmount,
SUM(CASE
WHEN sr.charging_order_id IS NOT NULL THEN sr.paid_service_amount
ELSE IFNULL(a.service_amount, 0)
END) AS serviceAmount
FROM t_charging_order b
LEFT JOIN (
SELECT charging_order_id,
SUM(IFNULL(period_service_price, 0)) AS service_amount
FROM t_charging_order_accounting_strategy
GROUP BY charging_order_id
) a ON a.charging_order_id = b.id
LEFT JOIN (
SELECT charging_order_id,
SUM(IFNULL(channel_pay_amount, 0)) AS paid_amount,
SUM(IFNULL(channel_service_amount, 0)) AS paid_service_amount
FROM t_charging_order_share_record
WHERE pay_channel = 'ICBC'
AND del_flag = 0
GROUP BY charging_order_id
) sr ON sr.charging_order_id = b.id
LEFT JOIN (
SELECT charging_order_id,
SUM(IFNULL(refund_amount, 0)) AS refund_amount
FROM t_charging_order_refund
WHERE refund_status = 2
GROUP BY charging_order_id
) r ON r.charging_order_id = b.id
WHERE b.status = 5
AND b.del_flag = 0
AND b.order_source = 1
AND b.source_name = 'ICBC'
AND b.start_time BETWEEN #{startTime} AND #{endTime}
GROUP BY b.site_id
ORDER BY b.site_id
SELECT
id,
TRIM(name) AS companyName,
IFNULL(TRIM(tax_identification_number), '') AS socialCreditCode,
company_address AS companyAddress,
company_phone AS companyPhone,
IFNULL(total_amount, 0) AS totalAmount
FROM t_order_invoice
WHERE invoicing_object_type = 2
AND status IN (2, 3)
AND TRIM(name) = TRIM(#{data.exactCompanyName})
AND TRIM(name) LIKE CONCAT('%', TRIM(#{data.companyName}), '%')
AND IFNULL(TRIM(tax_identification_number), '') = TRIM(#{data.socialCreditCode})
SELECT
order_invoice_id AS invoiceId,
order_id AS orderId,
IFNULL(invoice_amount, 0) AS invoiceAmount
FROM t_order_invoice_detail
WHERE order_type = 1
AND order_invoice_id IN
#{invoiceId}
SELECT DISTINCT co.id
FROM t_charging_order co
INNER JOIN charging_pile_service.t_site s ON s.id = co.site_id
INNER JOIN charging_pile_service.t_partner p ON p.id = s.partner_id
INNER JOIN charging_pile_account.t_app_user au ON au.id = co.app_user_id
SELECT
id AS orderId,
start_time AS startTime,
site_id AS siteId
FROM t_charging_order
WHERE id IN
#{orderId}
SELECT
id AS siteId,
name AS siteName
FROM charging_pile_service.t_site
WHERE id IN
#{siteId}
SELECT id
FROM t_order_invoice
invoicing_object_type = 2
AND status IN (2, 3)
AND TRIM(name) = TRIM(#{data.exactCompanyName})
AND TRIM(name) LIKE CONCAT('%', TRIM(#{data.companyName}), '%')
AND IFNULL(TRIM(tax_identification_number), '') = TRIM(#{data.socialCreditCode})
SELECT order_id AS orderId,
electrovalence,
service_charge AS serviceCharge
FROM t_order_invoice_detail
WHERE order_type = 1
AND order_invoice_id IN
#{invoiceId}
co.id IN
#{orderId}
AND s.site_type = #{data.siteType}
AND s.partner_id = #{data.partnerId}
AND co.site_id = #{data.siteId}
AND co.create_time >= #{data.createTime1}
AND co.create_time <= #{data.createTime2}
AND co.code LIKE CONCAT('%', #{data.code}, '%')
AND co.order_type = #{data.orderType}
AND au.phone LIKE CONCAT('%', #{data.phone}, '%')
AND co.status = #{data.status}
AND p.name LIKE CONCAT('%', #{data.partnerName}, '%')
AND co.order_source = #{data.orderSource}
AND co.start_time >= #{data.startTime1}
AND co.start_time <= #{data.startTime2}
AND co.end_time >= #{data.endTime1}
AND co.end_time <= #{data.endTime2}
SELECT COUNT(*)
FROM t_charging_order co
INNER JOIN charging_pile_service.t_site s ON s.id = co.site_id
INNER JOIN charging_pile_service.t_partner p ON p.id = s.partner_id
INNER JOIN charging_pile_account.t_app_user au ON au.id = co.app_user_id
SELECT
co.id,
co.code,
co.order_type AS orderType,
co.order_classification AS orderClassification,
s.name AS siteName,
CONCAT(IFNULL(cp.name, ''), IFNULL(cg.name, '')) AS terminalName,
co.status,
(UNIX_TIMESTAMP(co.end_time) - UNIX_TIMESTAMP(co.start_time)) AS chargingSecond,
co.recharge_amount AS totalAmount,
IFNULL(co.coupon_discount_amount, 0) AS couponDiscountAmount,
IFNULL(co.vip_discount_amount, 0) AS vipDiscountAmount,
co.payment_amount AS paymentAmount,
IFNULL(co.refund_amount, 0) AS refundAmount,
co.order_source AS orderSource,
p.name AS partnerName,
au.phone AS phone,
car.license_plate AS licensePlate,
co.charging_capacity AS chargingCapacity,
co.end_mode AS endMode,
co.create_time AS createTime,
co.start_time AS startTime,
co.end_time AS endTime,
co.pay_time AS payTime
FROM t_charging_order co
LEFT JOIN charging_pile_service.t_site s ON s.id = co.site_id
LEFT JOIN charging_pile_service.t_partner p ON p.id = s.partner_id
LEFT JOIN charging_pile_service.t_charging_pile cp ON cp.id = co.charging_pile_id
LEFT JOIN charging_pile_service.t_charging_gun cg ON cg.id = co.charging_gun_id
LEFT JOIN charging_pile_account.t_app_user au ON au.id = co.app_user_id
LEFT JOIN charging_pile_account.t_app_user_car car ON car.id = co.app_user_car_id
ORDER BY co.create_time DESC
LIMIT #{offset}, #{pageSize}
SELECT charging_order_id AS orderId,
COUNT(1) AS periodCount
FROM t_charging_order_accounting_strategy
WHERE charging_order_id IN
#{orderId}
GROUP BY charging_order_id
select
income.site_id,
income.billingCycle,
sum(income.payment_amount) as payment_amount,
sum(income.commissionable_service_fee) as commissionable_service_fee
from (
select
b.id as order_id,
b.site_id,
DATE_FORMAT(
CASE WHEN #{dateType} = 2 THEN b.end_time ELSE b.start_time END,
'%Y-%m'
) as billingCycle,
ifnull(b.payment_amount, 0) as payment_amount,
sum(CASE WHEN b.order_source = 1 THEN ifnull(a.period_service_price, 0) ELSE 0 END)
as commissionable_service_fee
from `charging_pile_order`.t_charging_order_accounting_strategy a
inner join `charging_pile_order`.t_charging_order b on a.charging_order_id = b.id
where b.`status` = 5
and b.del_flag = 0
and DATE_FORMAT(
CASE WHEN #{dateType} = 2 THEN b.end_time ELSE b.start_time END,
'%Y-%m'
) in
#{item}
and b.site_id in
#{item}
group by b.id, b.site_id, billingCycle, b.payment_amount
) income
group by income.site_id, income.billingCycle
SELECT COUNT(DISTINCT charging_order.id) AS validOrderCount,
(SELECT COUNT(DISTINCT user_count_order.app_user_id)
FROM t_charging_order user_count_order
WHERE user_count_order.site_id IN
#{siteId}
) AS chargingUserCount,
(SELECT COUNT(*)
FROM charging_pile_account.t_app_user app_user
WHERE app_user.del_flag = 0) AS registeredUserCount,
COALESCE(ROUND(SUM(accounting.charging_capacity), 2), 0) AS totalChargingCapacity,
COALESCE(ROUND(SUM(accounting.period_electric_price), 2), 0) AS electricityFee,
COALESCE(ROUND(SUM(CASE
WHEN charging_order.order_source IN (0, 1) THEN accounting.period_service_price
ELSE accounting.period_service_price * 0.8
END), 2), 0) AS serviceFee,
COALESCE(ROUND(SUM(accounting.period_electric_price) + SUM(CASE
WHEN charging_order.order_source IN (0, 1) THEN accounting.period_service_price
ELSE accounting.period_service_price * 0.8
END), 2), 0) AS totalIncome
FROM t_charging_order charging_order
LEFT JOIN t_charging_order_accounting_strategy accounting
ON accounting.charging_order_id = charging_order.id
WHERE charging_order.del_flag = 0
AND charging_order.status = 5
AND charging_order.recharge_payment_status = 2
AND charging_order.site_id IN
#{siteId}
SELECT SUM(IFNULL(total_electricity_charge, 0)) AS electrovalence,
SUM(IFNULL(total_service_fee, 0) - IFNULL(tripartite_commission, 0)) AS service_charge
FROM t_charging_settlement_bill
WHERE statistical_date_type = 1
AND site_id != 0
AND billing_cycle >= '${startTime}'
AND billing_cycle < '${endTime}'
AND site_id IN (${siteIdsCsv})
SELECT SUM(IFNULL(accounting.period_electric_price, 0)) AS electrovalence,
SUM(CASE
WHEN charging_order.order_source = 2
THEN IFNULL(accounting.period_service_price, 0) * 0.8
ELSE IFNULL(accounting.period_service_price, 0)
END) AS service_charge
FROM t_charging_order_accounting_strategy accounting
INNER JOIN t_charging_order charging_order
ON accounting.charging_order_id = charging_order.id
WHERE charging_order.del_flag = 0
AND charging_order.status = 5
AND charging_order.recharge_payment_status = 2
AND charging_order.create_time >= '${startTime}'
AND charging_order.create_time < '${endTime}'
AND charging_order.site_id IN (${siteIdsCsv})
SELECT SUM(IFNULL(power, 0)) AS total_power,
COUNT(1) AS order_count
FROM t_charging_order
WHERE del_flag = 0
AND create_time >= '${startTime}'
AND create_time < '${endTime}'
AND site_id IN (${siteIdsCsv})
SELECT charging_order.site_id AS site_id,
COUNT(DISTINCT charging_order.id) AS order_count,
COUNT(DISTINCT charging_order.app_user_id) AS user_count,
COALESCE(ROUND(SUM(CASE WHEN charging_order.status = 5
AND charging_order.recharge_payment_status = 2 THEN accounting.charging_capacity ELSE 0 END), 2), 0) AS capacity,
COALESCE(ROUND(SUM(CASE WHEN charging_order.status = 5
AND charging_order.recharge_payment_status = 2 THEN accounting.period_electric_price ELSE 0 END), 2), 0) AS electric_fee,
COALESCE(ROUND(SUM(CASE WHEN charging_order.status = 5
AND charging_order.recharge_payment_status = 2 AND charging_order.order_source IN (0, 1) THEN accounting.period_service_price
WHEN charging_order.status = 5
AND charging_order.recharge_payment_status = 2 THEN accounting.period_service_price * 0.8
ELSE 0 END), 2), 0) AS service_fee
FROM t_charging_order charging_order
LEFT JOIN t_charging_order_accounting_strategy accounting
ON accounting.charging_order_id = charging_order.id
WHERE charging_order.del_flag = 0
AND charging_order.status IN (1, 2, 3, 4, 5)
AND charging_order.create_time >= #{startTime}
AND charging_order.create_time < #{endTime}
GROUP BY charging_order.site_id
SELECT site_id AS site_id,
COUNT(DISTINCT app_user_id) AS user_count
FROM t_charging_order
WHERE create_time >= #{startTime}
AND create_time < #{endTime}
GROUP BY site_id
SELECT DISTINCT site_id AS site_id, app_user_id AS app_user_id
FROM t_charging_order
WHERE create_time >= #{startTime}
AND create_time < #{endTime}
AND app_user_id IS NOT NULL
INSERT IGNORE INTO t_large_screen_user_site (site_id, app_user_id)
VALUES
(#{row.siteId}, #{row.appUserId})
SELECT COUNT(DISTINCT app_user_id)
FROM t_large_screen_user_site
WHERE site_id IN
#{siteId}
SELECT COUNT(*) FROM t_large_screen_user_site
SELECT charging_order.site_id AS site_id,
COUNT(1) AS order_count,
COALESCE(SUM(IFNULL(charging_order.power, 0)), 0) AS total_power,
COALESCE(ROUND(SUM(CASE WHEN charging_order.status = 5
AND charging_order.recharge_payment_status = 2 THEN accounting.period_electric_price ELSE 0 END), 2), 0) AS electric_fee,
COALESCE(ROUND(SUM(CASE WHEN charging_order.status = 5
AND charging_order.recharge_payment_status = 2 AND charging_order.order_source IN (0, 1) THEN accounting.period_service_price
WHEN charging_order.status = 5
AND charging_order.recharge_payment_status = 2 THEN accounting.period_service_price * 0.8
ELSE 0 END), 2), 0) AS service_fee
FROM t_charging_order charging_order
LEFT JOIN t_charging_order_accounting_strategy accounting
ON accounting.charging_order_id = charging_order.id
WHERE charging_order.del_flag = 0
AND charging_order.create_time >= #{startTime}
AND charging_order.create_time < #{endTime}
GROUP BY charging_order.site_id
SELECT COUNT(*)
FROM charging_pile_account.t_app_user
WHERE del_flag = 0
REPLACE INTO t_large_screen_site_stat
(stat_type, period, site_id, order_count, user_count, capacity, electric_fee,
service_fee, income, total_power, registered_user_count, update_time)
VALUES
(#{row.statType}, #{row.period}, #{row.siteId}, #{row.orderCount}, #{row.userCount},
#{row.capacity}, #{row.electricFee}, #{row.serviceFee}, #{row.income},
#{row.totalPower}, #{row.registeredUserCount}, NOW())
SELECT COUNT(*) FROM t_large_screen_site_stat
SELECT COALESCE(SUM(order_count), 0) AS validOrderCount,
COALESCE(SUM(user_count), 0) AS chargingUserCount,
COALESCE(SUM(capacity), 0) AS totalChargingCapacity,
COALESCE(SUM(electric_fee), 0) AS electricityFee,
COALESCE(SUM(service_fee), 0) AS serviceFee,
COALESCE(SUM(income), 0) AS totalIncome
FROM t_large_screen_site_stat
WHERE stat_type = 'M'
AND site_id IN
#{siteId}
SELECT period AS month,
COALESCE(SUM(electric_fee), 0) AS electrovalence,
COALESCE(SUM(service_fee), 0) AS service_charge
FROM t_large_screen_site_stat
WHERE stat_type = 'D'
AND period >= #{sixBefore}
AND site_id IN
#{siteId}
GROUP BY period
SELECT DATE_FORMAT(charging_order.create_time, '%Y-%m-%d') AS month,
COALESCE(ROUND(SUM(accounting.period_electric_price), 2), 0) AS electrovalence,
COALESCE(ROUND(SUM(CASE WHEN charging_order.order_source IN (0, 1) THEN accounting.period_service_price
ELSE accounting.period_service_price * 0.8 END), 2), 0) AS service_charge
FROM t_charging_order charging_order
LEFT JOIN t_charging_order_accounting_strategy accounting
ON accounting.charging_order_id = charging_order.id
WHERE charging_order.del_flag = 0
AND charging_order.status = 5
AND charging_order.recharge_payment_status = 2
AND charging_order.create_time >= #{startTime}
AND charging_order.create_time < #{endTime}
AND charging_order.site_id IN
#{siteId}
GROUP BY DATE_FORMAT(charging_order.create_time, '%Y-%m-%d')
ORDER BY month
SELECT period AS day,
COALESCE(SUM(total_power), 0) AS total_power,
COALESCE(SUM(order_count), 0) AS order_count
FROM t_large_screen_site_stat
WHERE stat_type = 'D'
AND period >= #{dayStart}
AND period < #{dayEnd}
AND site_id IN
#{siteId}
GROUP BY period
SELECT registered_user_count
FROM t_large_screen_site_stat
WHERE stat_type = 'G'
AND period = 'ALL'
AND site_id = 0
LIMIT 1
SELECT COALESCE(SUM(capacity), 0)
FROM t_large_screen_site_stat
WHERE stat_type = 'M'
AND site_id IN
#{siteId}
SELECT DATE(end_time) AS statDay,
COUNT(*) AS orderCount,
SUM(IFNULL(order_amount, 0)) AS orderAmount,
SUM(COALESCE(order_amount, payment_amount)) AS orderAmountEffective,
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 + CASE
WHEN is_whitelist = 1 THEN IFNULL(whitelist_electric_refund_amount, 0)
+ IFNULL(whitelist_service_refund_amount, 0)
ELSE 0
END) AS chargingIncome,
SUM(IFNULL(charging_capacity, 0)) AS capacity,
SUM(IFNULL(charging_power, power)) AS totalPower,
COUNT(IFNULL(charging_power, power)) AS powerCount,
MAX(IFNULL(IFNULL(charging_power, power), 0)) AS maxPower,
SUM(CASE WHEN `current` IS NOT NULL AND need_elec IS NOT NULL AND need_elec > 0
THEN CASE WHEN ROUND(`current` * 100 / need_elec, 4) > 100 THEN 100
ELSE ROUND(`current` * 100 / need_elec, 4) END ELSE 0 END) AS elecSatSum,
SUM(CASE WHEN `current` IS NOT NULL AND need_elec IS NOT NULL AND need_elec > 0
THEN 1 ELSE 0 END) AS elecSatCount,
SUM(CASE WHEN IFNULL(IFNULL(charging_power, power), 0) > 0
THEN IFNULL(IFNULL(charging_power, power), 0) ELSE 0 END) AS utilPowerSum,
SUM(CASE WHEN IFNULL(IFNULL(charging_power, power), 0) > 0
THEN 1 ELSE 0 END) AS utilPowerCount
FROM t_charging_order
WHERE del_flag = 0
AND recharge_payment_status = 2
AND site_id IN
#{siteId}
AND end_time >= #{start}
AND end_time < #{end}
GROUP BY 1
SELECT CASE WHEN IFNULL(IFNULL(charging_power, power), 0) < 30 THEN 0
WHEN IFNULL(IFNULL(charging_power, power), 0) < 60 THEN 1
WHEN IFNULL(IFNULL(charging_power, power), 0) < 120 THEN 2
WHEN IFNULL(IFNULL(charging_power, power), 0) < 300 THEN 3
ELSE 4 END AS bucket,
COUNT(*) AS orderCount
FROM t_charging_order
WHERE del_flag = 0
AND recharge_payment_status = 2
AND site_id IN
#{siteId}
AND end_time >= #{start}
AND end_time < #{end}
GROUP BY 1
SELECT `type` AS type,
SUM(IFNULL(charging_capacity, 0)) AS capacity
FROM t_charging_order_accounting_strategy
WHERE charging_order_id IN
#{orderId}
GROUP BY `type`
SELECT id
FROM t_charging_order
WHERE del_flag = 0
AND recharge_payment_status = 2
AND site_id IN
#{siteId}
AND end_time >= #{start}
AND end_time < #{end}
SELECT app_user_id AS appUserId,
app_user_car_id AS appUserCarId,
DATE(end_time) AS statDay,
COUNT(*) AS orderCount,
SUM(IFNULL(charging_capacity, 0)) AS capacity,
SUM(IFNULL(payment_amount, 0)) AS paymentAmount
FROM t_charging_order
WHERE del_flag = 0
AND recharge_payment_status = 2
AND status = 5
AND site_id IN
#{siteId}
AND end_time >= #{start}
AND end_time < #{end}
GROUP BY 1, 2, 3
SELECT DATE(create_time) AS statDay,
COUNT(*) AS userCount
FROM charging_pile_account.t_app_user
WHERE del_flag = 0
AND create_time >= #{start}
AND create_time < #{end}
GROUP BY 1
ORDER BY 1
SELECT IFNULL(tripartite_platform_name, '') AS source,
COUNT(*) AS orderCount
FROM t_charging_order
WHERE del_flag = 0
AND recharge_payment_status = 2
AND status = 5
AND site_id IN
#{siteId}
AND end_time >= #{start}
AND end_time < #{end}
GROUP BY tripartite_platform_name
SELECT charging_gun_id AS chargingGunId,
SUM(CASE WHEN `current` IS NOT NULL AND need_elec IS NOT NULL AND need_elec > 0
THEN CASE WHEN ROUND(`current` * 100 / need_elec, 4) > 100 THEN 100
ELSE ROUND(`current` * 100 / need_elec, 4) END ELSE 0 END) AS satSum,
SUM(CASE WHEN `current` IS NOT NULL AND need_elec IS NOT NULL AND need_elec > 0
THEN 1 ELSE 0 END) AS satCount
FROM t_charging_order
WHERE del_flag = 0
AND recharge_payment_status = 2
AND site_id IN
#{siteId}
AND end_time >= #{start}
AND end_time < #{end}
GROUP BY charging_gun_id