| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.ruoyi.order.mapper.TChargingOrderMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.ruoyi.order.api.model.TChargingOrder"> |
| | | <id column="id" property="id" /> |
| | | <result column="code" property="code" /> |
| | | <result column="order_type" property="orderType" /> |
| | | <result column="order_classification" property="orderClassification" /> |
| | | <result column="app_user_id" property="appUserId" /> |
| | | <result column="app_user_car_id" property="appUserCarId" /> |
| | | <result column="site_id" property="siteId" /> |
| | | <result column="parking_lot_id" property="parkingLotId" /> |
| | | <result column="charging_pile_id" property="chargingPileId" /> |
| | | <result column="charging_gun_id" property="chargingGunId" /> |
| | | <id column="id" property="id"/> |
| | | <result column="code" property="code"/> |
| | | <result column="order_type" property="orderType"/> |
| | | <result column="order_classification" property="orderClassification"/> |
| | | <result column="app_user_id" property="appUserId"/> |
| | | <result column="app_user_car_id" property="appUserCarId"/> |
| | | <result column="site_id" property="siteId"/> |
| | | <result column="parking_lot_id" property="parkingLotId"/> |
| | | <result column="charging_pile_id" property="chargingPileId"/> |
| | | <result column="charging_gun_id" property="chargingGunId"/> |
| | | <result column="charging_capacity" property="chargingCapacity"/> |
| | | <result column="charging_power" property="chargingPower"/> |
| | | <result column="start_time" property="startTime" /> |
| | | <result column="end_time" property="endTime" /> |
| | | <result column="status" property="status" /> |
| | | <result column="start_time" property="startTime"/> |
| | | <result column="end_time" property="endTime"/> |
| | | <result column="status" property="status"/> |
| | | <result column="end_mode" property="endMode"/> |
| | | <result column="recharge_amount" property="rechargeAmount" /> |
| | | <result column="recharge_payment_type" property="rechargePaymentType" /> |
| | | <result column="recharge_payment_status" property="rechargePaymentStatus" /> |
| | | <result column="recharge_serial_number" property="rechargeSerialNumber" /> |
| | | <result column="residual_amount" property="residualAmount" /> |
| | | <result column="order_amount" property="orderAmount" /> |
| | | <result column="app_coupon_id" property="appCouponId" /> |
| | | <result column="coupon_discount_amount" property="couponDiscountAmount" /> |
| | | <result column="vip_discount" property="vipDiscount" /> |
| | | <result column="vip_discount_amount" property="vipDiscountAmount" /> |
| | | <result column="payment_amount" property="paymentAmount" /> |
| | | <result column="refund_code" property="refundCode" /> |
| | | <result column="refund_amount" property="refundAmount" /> |
| | | <result column="refund_status" property="refundStatus" /> |
| | | <result column="refund_serial_number" property="refundSerialNumber" /> |
| | | <result column="refund_time" property="refundTime" /> |
| | | <result column="need_elec" property="needElec" /> |
| | | <result column="create_time" property="createTime" /> |
| | | <result column="del_flag" property="delFlag" /> |
| | | <result column="total_electricity" property="totalElectricity" /> |
| | | <result column="recharge_amount" property="rechargeAmount"/> |
| | | <result column="recharge_payment_type" property="rechargePaymentType"/> |
| | | <result column="recharge_payment_status" property="rechargePaymentStatus"/> |
| | | <result column="pay_method" property="payMethod"/> |
| | | <result column="balance_pay_amount" property="balancePayAmount"/> |
| | | <result column="third_pay_amount" property="thirdPayAmount"/> |
| | | <result column="balance_refund_amount" property="balanceRefundAmount"/> |
| | | <result column="third_refund_amount" property="thirdRefundAmount"/> |
| | | <result column="recharge_serial_number" property="rechargeSerialNumber"/> |
| | | <result column="residual_amount" property="residualAmount"/> |
| | | <result column="order_amount" property="orderAmount"/> |
| | | <result column="app_coupon_id" property="appCouponId"/> |
| | | <result column="coupon_discount_amount" property="couponDiscountAmount"/> |
| | | <result column="is_whitelist" property="isWhitelist"/> |
| | | <result column="whitelist_id" property="whitelistId"/> |
| | | <result column="whitelist_benefit_type" property="whitelistBenefitType"/> |
| | | <result column="whitelist_discount_amount" property="whitelistDiscountAmount"/> |
| | | <result column="whitelist_electric_refund_amount" property="whitelistElectricRefundAmount"/> |
| | | <result column="whitelist_service_refund_amount" property="whitelistServiceRefundAmount"/> |
| | | <result column="vip_discount" property="vipDiscount"/> |
| | | <result column="vip_discount_amount" property="vipDiscountAmount"/> |
| | | <result column="payment_amount" property="paymentAmount"/> |
| | | <result column="refund_code" property="refundCode"/> |
| | | <result column="refund_amount" property="refundAmount"/> |
| | | <result column="refund_status" property="refundStatus"/> |
| | | <result column="refund_serial_number" property="refundSerialNumber"/> |
| | | <result column="refund_time" property="refundTime"/> |
| | | <result column="need_elec" property="needElec"/> |
| | | <result column="create_time" property="createTime"/> |
| | | <result column="del_flag" property="delFlag"/> |
| | | <result column="total_electricity" property="totalElectricity"/> |
| | | </resultMap> |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | 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, recharge_serial_number, |
| | | order_amount, app_coupon_id, coupon_discount_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 |
| | | 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 |
| | | </sql> |
| | | |
| | | |
| | | |
| | | <select id="getMyChargingOrderList" resultMap="BaseResultMap"> |
| | | select * from t_charging_order where del_flag = 0 and app_user_id = #{appUserId} and recharge_payment_status = 2 |
| | | <if test="1 == type"> |
| | | and id not in (select order_id from t_order_evaluate where order_type = 1 and app_user_id = #{appUserId} and del_flag = 0) |
| | | and id not in (select order_id from t_order_evaluate where order_type = 1 and app_user_id = #{appUserId} and |
| | | del_flag = 0) |
| | | </if> |
| | | order by create_time desc |
| | | <if test="null != pageCurr and null != pageSize"> |
| | |
| | | </if> |
| | | </select> |
| | | <select id="getNoInvoicedOrder" resultMap="BaseResultMap"> |
| | | 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} |
| | | 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} |
| | | <if test="null != month and '' != month"> |
| | | and DATE_FORMAT(end_time, '%Y-%m') = #{month} |
| | | </if> |
| | |
| | | </select> |
| | | |
| | | <select id="chargingOrder" resultType="com.ruoyi.order.api.vo.ChargingOrderVO"> |
| | | select t1.* |
| | | select t1.*, |
| | | IFNULL(t1.whitelist_electric_refund_amount, 0) + IFNULL(t1.whitelist_service_refund_amount, 0) as whitelistRefundAmount |
| | | from t_charging_order t1 |
| | | where t1.del_flag = 0 |
| | | <if test="null != req.code and req.code!=''"> |
| | | and t1.code LIKE CONCAT('%',#{req.code},'%') |
| | | and t1.code LIKE CONCAT('%',#{req.code},'%') |
| | | </if> |
| | | <if test="null != req.userIds and req.userIds.size()>0" > |
| | | <if test="null != req.userIds and req.userIds.size()>0"> |
| | | and t1.app_user_id in |
| | | <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | <if test="null != req.siteIds and req.siteIds.size()>0" > |
| | | <if test="null != req.siteIds and req.siteIds.size()>0"> |
| | | and t1.site_id in |
| | | <foreach collection="req.siteIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | |
| | | <if test="req.orderSource != null and req.orderSource == 3 "> |
| | | and t1.tripartite_platform_name = 'XinDianTu' |
| | | </if> |
| | | <if test="req.isWhitelist != null"> |
| | | and t1.is_whitelist = #{req.isWhitelist} |
| | | </if> |
| | | <if test="req.paymentType != null and req.paymentType == 1 "> |
| | | and t1.recharge_payment_type = 1 |
| | | </if> |
| | | <if test="req.paymentType != null and req.paymentType == 2 "> |
| | | and t1.recharge_payment_type in (2, 3) |
| | | </if> |
| | | <if test="req.paymentType != null and req.paymentType == 3 "> |
| | | and t1.pay_method in (1, 2) |
| | | </if> |
| | | <if test="req.siteId != null "> |
| | | and t1.site_id = #{req.siteId} |
| | | </if> |
| | |
| | | order by t1.create_time desc |
| | | </select> |
| | | <select id="payOrderQuery" resultType="com.ruoyi.order.dto.PayOrderDto"> |
| | | SELECT o.*,i.phone FROM (SELECT |
| | | SELECT o.*,i.phone FROM ( |
| | | SELECT |
| | | a.id, |
| | | a.`code`, |
| | | 1 as type, |
| | |
| | | charging_pile_order.t_charging_order a |
| | | left join charging_pile_order.t_charging_order_refund b on (b.charging_order_id = a.id) |
| | | where a.recharge_payment_status = 2 |
| | | |
| | | UNION ALL |
| | | |
| | | SELECT |
| | | a.id, |
| | | a.`code`, |
| | |
| | | charging_pile_order.t_shopping_order a |
| | | left join charging_pile_order.t_shopping_order_refund b on (b.shopping_order_id = a.id) |
| | | where a.payment_status = 2 |
| | | |
| | | UNION ALL |
| | | |
| | | SELECT |
| | | a.id, |
| | | a.`code`, |
| | |
| | | charging_pile_order.t_vip_order a |
| | | left join charging_pile_order.t_vip_order_refund b on (a.id = b.vip_order_id) |
| | | where a.payment_status = 2 |
| | | |
| | | UNION ALL |
| | | |
| | | SELECT |
| | | id, |
| | | `code`, |
| | |
| | | 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 |
| | | <where> |
| | | o.del_flag = 0 |
| | | charging_pile_service.t_parking_record |
| | | ) o |
| | | LEFT JOIN `charging_pile_account`.`t_app_user` i on o.app_user_id = i.id |
| | | <where> |
| | | o.del_flag = 0 |
| | | <if test="data.code != null and data.code != ''"> |
| | | AND o.code LIKE CONCAT('%',#{data.code},'%') |
| | | </if> |
| | | <if test="data.phone != null and data.phone != ''"> |
| | | AND i.phone LIKE CONCAT('%',#{data.phone},'%') |
| | | </if> |
| | | <if test="data.type != null"> |
| | | AND o.type = #{data.type} |
| | | </if> |
| | | <if test="data.createTime1 != null"> |
| | | AND o.create_time >= #{data.createTime1} |
| | | </if> |
| | | <if test="data.createTime2 != null"> |
| | | AND o.create_time <= #{data.createTime2} |
| | | </if> |
| | | <if test="data.ids != null and data.ids.size() > 0"> |
| | | AND o.id IN |
| | | <foreach collection="data.ids" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | <if test="data.isRefund == 1"> |
| | | AND o.refund_status is not null |
| | | </if> |
| | | <if test="data.isRefund == 2"> |
| | | AND o.refund_status is null |
| | | </if> |
| | | |
| | | <if test="data.code != null and data.code != ''"> |
| | | AND o.code LIKE CONCAT('%',#{data.code},'%') |
| | | </if> |
| | | <if test="data.phone != null and data.phone != ''"> |
| | | AND i.phone LIKE CONCAT('%',#{data.phone},'%') |
| | | </if> |
| | | <if test="data.type != null"> |
| | | AND o.type = #{data.type} |
| | | </if> |
| | | <if test="data.createTime1 != null"> |
| | | AND o.create_time >= #{data.createTime1} |
| | | </if> |
| | | <if test="data.createTime2 != null"> |
| | | AND o.create_time <= #{data.createTime2} |
| | | </if> |
| | | <if test="data.ids != null and data.ids.size() > 0"> |
| | | AND o.id IN |
| | | <foreach collection="data.ids" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | <if test="data.isRefund == 1"> |
| | | AND o.refund_status is not null |
| | | </if> |
| | | <if test="data.isRefund == 2"> |
| | | AND o.refund_status is null |
| | | </if> |
| | | |
| | | </where> |
| | | </where> |
| | | ORDER BY o.create_time desc |
| | | |
| | | </select> |
| | | <select id="getRefundList" resultType="com.ruoyi.order.api.model.TChargingOrderRefund"> |
| | | select * from ( |
| | | SELECT |
| | | re.id, |
| | | re.`code`, |
| | | re.refund_code, |
| | | re.refund_title, |
| | | re.refund_reason, |
| | | re.refund_amount, |
| | | re.refund_total_amount, |
| | | re.refund_time, |
| | | re.pay_type, |
| | | re.pay_amount, |
| | | re.refund_remark, |
| | | co.recharge_serial_number as serail_number, |
| | | co.payment_amount, |
| | | co.create_time as pay_time, |
| | | co.id as order_id, |
| | | co.app_user_id as user_id, |
| | | 1 as type |
| | | 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, |
| | | co.recharge_serial_number as serail_number, |
| | | co.payment_amount, |
| | | co.create_time as pay_time, |
| | | co.id as order_id, |
| | | co.app_user_id as user_id, |
| | | co.pay_method as pay_method, |
| | | 1 as type |
| | | FROM t_charging_order_refund re |
| | | LEFT JOIN t_charging_order co ON re.charging_order_id = co.id |
| | | LEFT JOIN t_charging_order co ON re.charging_order_id = co.id |
| | | UNION ALL |
| | | SELECT |
| | | re.id, |
| | | re.`code`, |
| | | re.refund_code, |
| | | re.refund_title, |
| | | re.refund_reason, |
| | | re.refund_amount, |
| | | re.refund_total_amount, |
| | | re.refund_time, |
| | | re.pay_type, |
| | | re.pay_amount, |
| | | re.refund_remark, |
| | | so.serial_number, |
| | | so.payment_amount, |
| | | so.create_time as pay_time, |
| | | so.id as order_id, |
| | | so.app_user_id as user_id, |
| | | 2 as type |
| | | 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, |
| | | so.serial_number, |
| | | so.payment_amount, |
| | | so.create_time as pay_time, |
| | | so.id as order_id, |
| | | so.app_user_id as user_id, |
| | | 3 as pay_method, |
| | | 2 as type |
| | | FROM t_shopping_order_refund re |
| | | LEFT JOIN t_shopping_order so on re.shopping_order_id = so.id |
| | | UNION ALL |
| | | SELECT |
| | | vr.id, |
| | | vr.`code`, |
| | | vr.refund_code, |
| | | vr.refund_title, |
| | | vr.refund_reason, |
| | | vr.refund_amount, |
| | | vr.refund_total_amount, |
| | | vr.refund_time, |
| | | vr.pay_type, |
| | | vr.pay_amount, |
| | | vr.refund_remark, |
| | | vo.serial_number, |
| | | vo.payment_amount, |
| | | vo.create_time as pay_time, |
| | | vo.id as order_id, |
| | | vo.app_user_id as user_id, |
| | | 3 as type |
| | | vr.id, |
| | | vr.`code`, |
| | | vr.refund_code, |
| | | vr.refund_title, |
| | | vr.refund_reason, |
| | | vr.refund_amount, |
| | | 0 as balance_refund_amount, |
| | | vr.refund_amount as third_refund_amount, |
| | | vr.refund_total_amount, |
| | | vr.refund_time, |
| | | vr.pay_type, |
| | | vr.pay_amount, |
| | | vr.refund_remark, |
| | | vo.serial_number, |
| | | vo.payment_amount, |
| | | vo.create_time as pay_time, |
| | | vo.id as order_id, |
| | | vo.app_user_id as user_id, |
| | | 3 as pay_method, |
| | | 3 as type |
| | | FROM t_vip_order_refund vr |
| | | LEFT JOIN t_vip_order vo on vr.vip_order_id = vo.id |
| | | ) o |
| | |
| | | |
| | | </select> |
| | | <select id="chargingOrderGroup" resultType="com.ruoyi.common.core.dto.ChargingOrderGroup"> |
| | | SELECT SUM(tc.charging_capacity) as charging_capacity,tc.site_id |
| | | 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 |
| | | <where> |
| | |
| | | GROUP BY site_id |
| | | |
| | | |
| | | |
| | | </select> |
| | | <select id="charge" resultType="com.ruoyi.order.dto.SixChargingDto"> |
| | | SELECT |
| | | DATE_FORMAT( subquery.create_time, '%m' ) AS MONTH, |
| | | SUM(electrovalence) AS electrovalence, |
| | | DATE_FORMAT(a.create_time, '%m') AS MONTH, |
| | | SUM(IFNULL(b.period_electric_price, 0)) AS electrovalence, |
| | | SUM( |
| | | CASE |
| | | WHEN subquery.order_source = 0 THEN subquery.service_charge |
| | | WHEN subquery.order_source = 1 THEN subquery.service_charge |
| | | ELSE subquery.service_charge * 0.8 |
| | | END |
| | | CASE |
| | | WHEN a.order_source = 0 THEN IFNULL(b.period_service_price, 0) |
| | | WHEN a.order_source = 1 THEN IFNULL(b.period_service_price, 0) |
| | | ELSE IFNULL(b.period_service_price, 0) * 0.8 |
| | | END |
| | | ) AS service_charge |
| | | |
| | | FROM |
| | | ( |
| | | SELECT |
| | | a.create_time, |
| | | b.period_electric_price as electrovalence, |
| | | b.period_service_price as service_charge, |
| | | a.order_source |
| | | 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) |
| | | <where> |
| | | a.del_flag = 0 and a.recharge_payment_status = 2 and a.status = 5 |
| | | <if test="sixBefore != null"> |
| | | AND a.create_time >= #{sixBefore} |
| | | </if> |
| | | <if test="siteIds != null and siteIds.size() > 0"> |
| | | AND a.site_id IN |
| | | <foreach collection="siteIds" item="siteId" open="(" separator="," close=")"> |
| | | #{siteId} |
| | | </foreach> |
| | | </if> |
| | | </where> |
| | | ) AS subquery |
| | | 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.recharge_payment_status = 2 and a.status = 5 |
| | | <if test="sixBefore != null"> |
| | | AND a.create_time >= #{sixBefore} |
| | | </if> |
| | | <if test="siteIds != null and siteIds.size() > 0"> |
| | | AND a.site_id IN |
| | | <foreach collection="siteIds" item="siteId" open="(" separator="," close=")"> |
| | | #{siteId} |
| | | </foreach> |
| | | </if> |
| | | </where> |
| | | GROUP BY |
| | | DATE_FORMAT( subquery.create_time, '%m' ) |
| | | DATE_FORMAT(a.create_time, '%m') |
| | | |
| | | |
| | | </select> |
| | | <select id="circle" resultType="com.ruoyi.order.dto.SixCircleDto"> |
| | | SELECT |
| | | site_id as siteId, |
| | | a.site_id as siteId, |
| | | 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) |
| | | WHEN a.order_source = 0 THEN IFNULL(b.period_electric_price, 0) + IFNULL(b.period_service_price, 0) |
| | | WHEN a.order_source = 1 THEN IFNULL(b.period_electric_price, 0) + IFNULL(b.period_service_price, 0) |
| | | ELSE (IFNULL(b.period_electric_price, 0) + IFNULL(b.period_service_price, 0) * 0.8) |
| | | END), 2) AS paymentAmount |
| | | 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) |
| | | LEFT JOIN t_charging_order_accounting_strategy b ON a.id = b.charging_order_id |
| | | <where> |
| | | a.del_flag = 0 and a.recharge_payment_status = 2 and a.status = 5 |
| | | <if test="siteIds != null and siteIds.size() > 0"> |
| | |
| | | </foreach> |
| | | </if> |
| | | <if test="sixBefore != null"> |
| | | AND create_time >= #{sixBefore} |
| | | AND a.create_time >= #{sixBefore} |
| | | </if> |
| | | </where> |
| | | GROUP BY a.site_id |
| | |
| | | |
| | | </select> |
| | | <select id="countAll" resultType="java.util.Map"> |
| | | select sum(electrovalence) as electrovalence,sum(service_charge) as service_charge,ROUND(sum(electrovalence+service_charge) * 0.006, 2) as commission_amount,sum(sharing_amount) as sharing_amount |
| | | from t_charging_order |
| | | where del_flag = 0 and recharge_payment_status = 2 and status = 5 |
| | | SELECT |
| | | ROUND(SUM(IFNULL(b.period_electric_price, 0)), 2) AS electrovalence, |
| | | ROUND(SUM(CASE |
| | | WHEN a.order_source = 2 THEN IFNULL(b.period_service_price, 0) * 0.8 |
| | | ELSE IFNULL(b.period_service_price, 0) |
| | | END), 2) AS service_charge, |
| | | ROUND(SUM(CASE |
| | | WHEN a.order_source = 2 THEN 0 |
| | | ELSE IFNULL(b.period_electric_price, 0) + IFNULL(b.period_service_price, 0) |
| | | END) * 0.006, 2) AS commission_amount, |
| | | ROUND(SUM(CASE |
| | | WHEN a.order_source = 2 THEN IFNULL(b.period_service_price, 0) * 0.2 |
| | | ELSE 0 |
| | | END), 2) AS sharing_amount |
| | | 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.recharge_payment_status = 2 AND a.status = 5 |
| | | <if test="siteIds != null and siteIds.size() > 0"> |
| | | AND site_id IN |
| | | AND a.site_id IN |
| | | <foreach collection="siteIds" item="siteId" open="(" separator="," close=")"> |
| | | #{siteId} |
| | | </foreach> |
| | |
| | | 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.status = 5 and t2.recharge_payment_status = 2 and t2.create_time between #{start} and #{end} |
| | | where t2.del_flag = 0 and t2.recharge_payment_status = 2 and t2.start_time IS NOT NULL and t2.end_time is not null and t2.pay_time between #{start} and #{end} |
| | | <if test="null != siteIds and siteIds.size() > 0"> |
| | | and t2.site_id in |
| | | <foreach collection="siteIds" separator="," open="(" close=")" item="item" index="index"> |
| | |
| | | </select> |
| | | <select id="getDateData" resultType="java.util.Map"> |
| | | SELECT |
| | | DATE_FORMAT(a.create_time, '%H:00' ) as time, |
| | | DATE_FORMAT(a.pay_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 |
| | |
| | | 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) |
| | | 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) |
| | | <where> |
| | | a.del_flag = 0 and a.status = 5 and a.recharge_payment_status = 2 and DATE(a.create_time) = CURDATE() |
| | | and a.create_time between #{start} and #{end} |
| | | a.del_flag = 0 and a.recharge_payment_status = 2 and a.start_time IS NOT NULL and a.end_time is not null |
| | | and a.pay_time between #{start} and #{end} |
| | | <if test="null != siteIds and siteIds.size() > 0"> |
| | | and a.site_id in |
| | | <foreach collection="siteIds" separator="," open="(" close=")" item="item" index="index"> |
| | |
| | | </if> |
| | | </where> |
| | | GROUP BY |
| | | time |
| | | time |
| | | ORDER BY |
| | | time |
| | | time |
| | | |
| | | </select> |
| | | <select id="getWeekData" resultType="java.util.Map"> |
| | | SELECT |
| | | DATE_FORMAT(a.create_time, '%Y-%m-%d' ) as time, |
| | | DATE_FORMAT(a.pay_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 |
| | |
| | | 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) |
| | | 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) |
| | | <where> |
| | | a.del_flag = 0 and a.status = 5 and a.recharge_payment_status = 2 and YEARWEEK(DATE_FORMAT(a.create_time, '%Y-%m-%d'), 1) = YEARWEEK(NOW(), 1) |
| | | and a.create_time between #{start} and #{end} |
| | | a.del_flag = 0 and a.recharge_payment_status = 2 and a.start_time IS NOT NULL and a.end_time is not null |
| | | and a.pay_time between #{start} and #{end} |
| | | <if test="null != siteIds and siteIds.size() > 0"> |
| | | and a.site_id in |
| | | <foreach collection="siteIds" separator="," open="(" close=")" item="item" index="index"> |
| | |
| | | </select> |
| | | <select id="getMonthData" resultType="java.util.Map"> |
| | | SELECT |
| | | DATE_FORMAT(a.create_time, '%Y-%m-%d' ) as time, |
| | | DATE_FORMAT(a.pay_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 |
| | |
| | | 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) |
| | | 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) |
| | | <where> |
| | | a.del_flag = 0 and a.status = 5 and a.recharge_payment_status = 2 and MONTH(a.create_time) = MONTH(NOW()) AND YEAR(a.create_time) = YEAR(NOW()) |
| | | and a.create_time between #{start} and #{end} |
| | | a.del_flag = 0 and a.recharge_payment_status = 2 and a.start_time IS NOT NULL and a.end_time is not null |
| | | and a.pay_time between #{start} and #{end} |
| | | <if test="null != siteIds and siteIds.size() > 0"> |
| | | and a.site_id in |
| | | <foreach collection="siteIds" separator="," open="(" close=")" item="item" index="index"> |
| | |
| | | </select> |
| | | <select id="getYearData" resultType="java.util.Map"> |
| | | SELECT |
| | | DATE_FORMAT(a.create_time, '%Y-%m-%d' ) as time, |
| | | DATE_FORMAT(a.pay_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 |
| | |
| | | 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) |
| | | 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) |
| | | <where> |
| | | a.del_flag = 0 and a.status = 5 and a.recharge_payment_status = 2 and YEAR(a.create_time) = YEAR(NOW()) |
| | | and a.create_time between #{start} and #{end} |
| | | a.del_flag = 0 and a.recharge_payment_status = 2 and a.start_time IS NOT NULL and a.end_time is not null |
| | | and a.pay_time between #{start} and #{end} |
| | | <if test="null != siteIds and siteIds.size() > 0"> |
| | | and a.site_id in |
| | | <foreach collection="siteIds" separator="," open="(" close=")" item="item" index="index"> |
| | |
| | | </select> |
| | | <select id="getByDate" resultType="java.util.Map"> |
| | | SELECT |
| | | DATE_FORMAT(a.create_time, '%Y-%m-%d' ) as time, |
| | | DATE_FORMAT(a.pay_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 |
| | |
| | | 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) |
| | | 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) |
| | | <where> |
| | | a.del_flag = 0 and a.status = 5 and a.recharge_payment_status = 2 |
| | | and a.create_time between #{start} and #{end} |
| | | a.del_flag = 0 and a.recharge_payment_status = 2 and a.start_time IS NOT NULL and a.end_time is not null |
| | | and a.pay_time between #{start} and #{end} |
| | | <if test="null != siteIds and siteIds.size() > 0"> |
| | | and a.site_id in |
| | | <foreach collection="siteIds" separator="," open="(" close=")" item="item" index="index"> |
| | |
| | | </select> |
| | | <select id="queryPower" resultType="java.util.Map"> |
| | | SELECT |
| | | 'today' AS data_type, |
| | | DATE_FORMAT(create_time, '%H') AS TIME, |
| | | SUM(power) AS power |
| | | 'today' AS data_type, |
| | | DATE_FORMAT(create_time, '%H') AS TIME, |
| | | SUM(power) AS power |
| | | FROM |
| | | t_charging_order |
| | | t_charging_order |
| | | WHERE |
| | | del_flag = 0 |
| | | AND recharge_payment_status = 2 |
| | | AND DATE(create_time) = CURDATE() |
| | | del_flag = 0 |
| | | AND recharge_payment_status = 2 |
| | | AND DATE(create_time) = CURDATE() |
| | | <if test="siteIds != null and siteIds.size() > 0"> |
| | | AND site_id IN |
| | | <foreach collection="siteIds" item="siteId" open="(" separator="," close=")"> |
| | |
| | | </foreach> |
| | | </if> |
| | | GROUP BY |
| | | TIME |
| | | TIME |
| | | |
| | | UNION ALL |
| | | |
| | | SELECT |
| | | 'yesterday' AS data_type, |
| | | DATE_FORMAT(create_time, '%H') AS TIME, |
| | | SUM(power) AS power |
| | | 'yesterday' AS data_type, |
| | | DATE_FORMAT(create_time, '%H') AS TIME, |
| | | SUM(power) AS power |
| | | FROM |
| | | t_charging_order |
| | | t_charging_order |
| | | WHERE |
| | | del_flag = 0 |
| | | AND recharge_payment_status = 2 |
| | | AND DATE(create_time) = CURDATE() - INTERVAL 1 DAY |
| | | del_flag = 0 |
| | | AND recharge_payment_status = 2 |
| | | AND DATE(create_time) = CURDATE() - INTERVAL 1 DAY |
| | | <if test="siteIds != null and siteIds.size() > 0"> |
| | | AND site_id IN |
| | | <foreach collection="siteIds" item="siteId" open="(" separator="," close=")"> |
| | |
| | | </foreach> |
| | | </if> |
| | | GROUP BY |
| | | TIME |
| | | TIME |
| | | |
| | | ORDER BY |
| | | TIME; |
| | | TIME; |
| | | |
| | | |
| | | </select> |
| | |
| | | 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 |
| | | t_charging_order |
| | | WHERE |
| | | del_flag = 0 |
| | | AND recharge_payment_status = 2 |
| | | del_flag = 0 |
| | | AND recharge_payment_status = 2 |
| | | <if test="siteIds != null and siteIds.size() > 0"> |
| | | AND site_id IN |
| | | <foreach collection="siteIds" item="siteId" open="(" separator="," close=")"> |
| | |
| | | AND MONTH(create_time) = MONTH(CURDATE()) |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType ==4"> |
| | | AND YEAR(create_time) = YEAR(CURDATE()) |
| | | AND YEAR(create_time) = YEAR(CURDATE()) |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType ==5"> |
| | | |
| | |
| | | |
| | | SELECT |
| | | |
| | | DATE_FORMAT( create_time, '%H:00' ) AS time, |
| | | count(1) AS counts |
| | | DATE_FORMAT( create_time, '%H:00' ) AS time, |
| | | count(1) AS counts |
| | | FROM |
| | | charging_pile_account.t_app_user |
| | | charging_pile_account.t_app_user |
| | | WHERE |
| | | del_flag = 0 |
| | | AND DATE ( create_time ) = CURDATE() |
| | | del_flag = 0 |
| | | AND DATE ( create_time ) = CURDATE() |
| | | GROUP BY |
| | | time |
| | | time |
| | | </select> |
| | | |
| | | |
| | | <select id="usersDay1" resultType="java.util.Map"> |
| | | SELECT |
| | | 'today' AS data_type, |
| | | '1' as type, |
| | | DATE_FORMAT( create_time, '%H:00' ) AS time, |
| | | count(DISTINCT app_user_id) AS counts |
| | | '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 |
| | | t_charging_order |
| | | WHERE |
| | | del_flag = 0 |
| | | AND DATE ( create_time ) = CURDATE() |
| | | del_flag = 0 |
| | | AND DATE ( create_time ) = CURDATE() |
| | | GROUP BY |
| | | time |
| | | time |
| | | </select> |
| | | |
| | | <select id="usersByQuery1" resultType="java.util.Map"> |
| | |
| | | 'today' AS data_type, |
| | | '1' as type, |
| | | DATE_FORMAT( create_time, '%Y-%m-%d' ) AS time, |
| | | count(DISTINCT app_user_id) AS counts |
| | | count(DISTINCT app_user_id) AS counts |
| | | FROM |
| | | t_charging_order |
| | | WHERE |
| | |
| | | |
| | | SELECT |
| | | |
| | | DATE_FORMAT( create_time, '%Y-%m-%d' ) AS time, |
| | | count(1) AS counts |
| | | DATE_FORMAT( create_time, '%Y-%m-%d' ) AS time, |
| | | count(1) AS counts |
| | | FROM |
| | | charging_pile_account.t_app_user |
| | | charging_pile_account.t_app_user |
| | | WHERE |
| | | del_flag = 0 |
| | | del_flag = 0 |
| | | <if test="statisticsQueryDto.dayType ==1 "> |
| | | AND DATE(create_time) = CURDATE() |
| | | </if> |
| | |
| | | </if> |
| | | </if> |
| | | GROUP BY |
| | | time |
| | | time |
| | | |
| | | |
| | | </select> |
| | | <select id="getUserTagCount" resultType="java.util.Map"> |
| | | SELECT |
| | | tt.`name`, |
| | | COUNT( 1 ) AS count |
| | | 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 |
| | | ( |
| | | 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 |
| | | tt.name |
| | | </select> |
| | | <select id="getVipCount" resultType="java.util.Map"> |
| | | SELECT |
| | | tv.`name`, |
| | | count(1) AS Counts |
| | | 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 |
| | | 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 |
| | | ta.del_flag = 0 |
| | | GROUP BY |
| | | tv.`name` |
| | | tv.`name` |
| | | </select> |
| | | <select id="unitConsumption" resultType="java.util.Map"> |
| | | SELECT |
| | | tc.`name`, |
| | | au.company_id as companyId, |
| | | SUM( co.charging_capacity ) as chargingCapacity |
| | | 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 |
| | | 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 |
| | | |
| | | <where> |
| | |
| | | AND WEEKOFYEAR( co.create_time ) = WEEKOFYEAR( CURDATE() ) |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType == 3"> |
| | | AND MONTH( co.create_time ) = MONTH(CURDATE()) |
| | | AND MONTH( co.create_time ) = MONTH(CURDATE()) |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType == 4"> |
| | | AND YEAR( co.create_time ) = YEAR(CURDATE() ) |
| | |
| | | and DATE(co.create_time) >= #{statisticsQueryDto.startTime} |
| | | </if> |
| | | <if test="statisticsQueryDto.endTime != null"> |
| | | and DATE(co.create_time) <= #{statisticsQueryDto.endTime} |
| | | and DATE(co.create_time) <= #{statisticsQueryDto.endTime} |
| | | </if> |
| | | </if> |
| | | </where> |
| | |
| | | </select> |
| | | <select id="carUserMethod" resultType="java.util.Map"> |
| | | SELECT |
| | | count(1) as counts,vehicle_use |
| | | count(1) as counts,vehicle_use |
| | | from charging_pile_account.t_app_user_car |
| | | where del_flag = 0 |
| | | where del_flag = 0 |
| | | GROUP BY vehicle_use |
| | | </select> |
| | | <select id="carUserBrand" resultType="java.util.Map"> |
| | | SELECT |
| | | count(1) as counts,vehicle_brand |
| | | count(1) as counts,vehicle_brand |
| | | from charging_pile_account.t_app_user_car |
| | | where del_flag = 0 |
| | | where del_flag = 0 |
| | | |
| | | GROUP BY vehicle_brand |
| | | ORDER BY counts DESC |
| | | limit 5 |
| | | limit 5 |
| | | </select> |
| | | <select id="countLocalCar" resultType="java.util.Map"> |
| | | 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 |
| | | 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` |
| | | `charging_pile_account`.`t_app_user_car` |
| | | WHERE |
| | | del_flag = 0 |
| | | del_flag = 0 |
| | | </select> |
| | | <select id="getAver" resultType="java.lang.Double"> |
| | | SELECT |
| | | ROUND(AVG(te.mark), 2) AS average_mark |
| | | 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 |
| | | `t_order_evaluate` te |
| | | LEFT JOIN t_charging_order co on te.order_id = co.id |
| | | WHERE |
| | | 1 = 1 |
| | | 1 = 1 |
| | | <if test="siteIds != null and siteIds.size() > 0"> |
| | | AND co.site_id IN |
| | | <foreach collection="siteIds" item="siteId" open="(" separator="," close=")"> |
| | | #{siteId} |
| | | </foreach> |
| | | </if> |
| | | AND te.del_flag = 0 |
| | | AND te.del_flag = 0 |
| | | |
| | | </select> |
| | | <select id="getLevelEvaluate" resultType="java.util.Map"> |
| | | 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 |
| | | 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 |
| | | `t_order_evaluate` te |
| | | LEFT JOIN t_charging_order co on te.order_id = co.id |
| | | WHERE |
| | | te.del_flag = 0 |
| | | te.del_flag = 0 |
| | | <if test="siteIds != null and siteIds.size() > 0"> |
| | | AND co.site_id IN |
| | | <foreach collection="siteIds" item="siteId" open="(" separator="," close=")"> |
| | |
| | | </foreach> |
| | | </if> |
| | | GROUP BY |
| | | score_range |
| | | score_range |
| | | |
| | | </select> |
| | | <select id="chargingList" resultType="com.ruoyi.order.api.vo.ChargingOrderListVO"> |
| | | select t1.*, |
| | | t1.current as chargingCapacity,t1.payment_amount as paymentAmount,t1.electricity as chargingCapacity from t_charging_order t1 |
| | | where t1.del_flag = 0 and t1.status = 5 and t1.recharge_payment_status = 2 |
| | | 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.`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, |
| | | e.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, |
| | | e.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, |
| | | <!-- 引流平台分佣按三方订单原始服务费的20%计算,导出需展示在白名单字段前。 --> |
| | | 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_order.t_charging_order_refund e on (a.id = e.charging_order_id) |
| | | left join charging_pile_account.t_app_user f on (a.app_user_id = f.id) |
| | | left join charging_pile_order.t_accounting_strategy_order g on (a.id = g.charging_order_id) |
| | | left 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 |
| | | <if test="null != req.code and req.code!=''"> |
| | | and t1.code LIKE CONCAT('%',#{req.code},'%') |
| | | and a.code LIKE CONCAT('%',#{req.code},'%') |
| | | </if> |
| | | <if test="null != req.carIds and req.carIds.size()>0" > |
| | | and t1.app_user_car_id in |
| | | <if test="null != req.carIds and req.carIds.size()>0"> |
| | | and a.app_user_car_id in |
| | | <foreach collection="req.carIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | <if test="null != req.userIds and req.userIds.size()>0" > |
| | | and t1.app_user_id in |
| | | <if test="null != req.userIds and req.userIds.size()>0"> |
| | | and a.app_user_id in |
| | | <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | <if test="null != req.siteIds and req.siteIds.size()>0" > |
| | | and t1.site_id in |
| | | <if test="null != req.siteIds and req.siteIds.size()>0"> |
| | | and a.site_id in |
| | | <foreach collection="req.siteIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | <if test="req.orderType != null "> |
| | | and t1.order_type = #{req.orderType} |
| | | and a.order_type = #{req.orderType} |
| | | </if> |
| | | <if test="req.status != null "> |
| | | and t1.status = #{req.status} |
| | | and a.status = #{req.status} |
| | | </if> |
| | | <if test="req.status != null "> |
| | | and t1.status = #{req.status} |
| | | and a.status = #{req.status} |
| | | </if> |
| | | <if test="req.isWhitelist != null"> |
| | | and a.is_whitelist = #{req.isWhitelist} |
| | | </if> |
| | | <if test="req.siteId != null "> |
| | | and t1.site_id = #{req.siteId} |
| | | and a.site_id = #{req.siteId} |
| | | </if> |
| | | <if test="startTime1 != null and startTime1!=''"> |
| | | and (t1.create_time between #{startTime1} and #{startTime2}) |
| | | and (a.pay_time between #{startTime1} and #{startTime2}) |
| | | </if> |
| | | <if test="endTime1 != null and endTime1!=''"> |
| | | and (t1.end_time between #{endTime1} and #{endTime2}) |
| | | and (a.end_time between #{endTime1} and #{endTime2}) |
| | | </if> |
| | | and t1.start_time IS NOT NULL |
| | | order by t1.create_time desc |
| | | and a.start_time IS NOT NULL order by a.create_time desc |
| | | </select> |
| | | |
| | | |
| | | <select id="chargingList1" resultType="map"> |
| | | select |
| | | aa.id, |
| | | aa.`code`, |
| | | aa.siteId, |
| | | aa.siteName, |
| | | aa.orderType, |
| | | aa.terminalName, |
| | | aa.electricity, |
| | | aa.rechargeAmount, |
| | | aa.rechargePaymentType, |
| | | aa.payMethod, |
| | | aa.isWhitelist, |
| | | aa.whitelistRefundAmount, |
| | | aa.whitelistElectricRefundAmount, |
| | | aa.whitelistServiceRefundAmount, |
| | | aa.paymentAmount, |
| | | aa.thirdPayAmount, |
| | | aa.balancePayAmount, |
| | | aa.electrovalence, |
| | | aa.serviceCharge, |
| | | aa.orderSource, |
| | | aa.tripartitePlatformName, |
| | | aa.startTime, |
| | | aa.endTime, |
| | | aa.chargingSecond, |
| | | aa.startSoc, |
| | | aa.endSoc, |
| | | aa.`status`, |
| | | aa.endMode, |
| | | aa.phone, |
| | | aa.licensePlate, |
| | | SUM(aa.period_electric_price) as periodElectricPrice, |
| | | SUM(aa.period_service_price) as periodServicePrice, |
| | | SUM(aa.jian) as jian, |
| | | SUM(aa.feng) as feng, |
| | | SUM(aa.ping) as ping, |
| | | SUM(aa.gu) as gu |
| | | from ( |
| | | select |
| | | b.id, |
| | | b.`code`, |
| | | b.site_id as siteId, |
| | | c.`name` as siteName, |
| | | b.order_type as orderType, |
| | | CONCAT(d.`name`, '-', e.`name`) as terminalName, |
| | | 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, |
| | | f.phone, |
| | | g.license_plate as licensePlate, |
| | | a.period_electric_price, |
| | | a.period_service_price, |
| | | CASE WHEN a.type = 1 THEN a.charging_capacity ELSE 0 END as jian, |
| | | CASE WHEN a.type = 2 THEN a.charging_capacity ELSE 0 END as feng, |
| | | CASE WHEN a.type = 3 THEN a.charging_capacity ELSE 0 END as ping, |
| | | CASE WHEN a.type = 4 THEN a.charging_capacity ELSE 0 END as gu |
| | | 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) |
| | | left join `charging_pile_service`.t_site c on (b.site_id = c.id) |
| | | left join `charging_pile_service`.t_charging_pile d on (b.charging_pile_id = d.id) |
| | | left join `charging_pile_service`.t_charging_gun e on (b.charging_gun_id = e.id) |
| | | left join `charging_pile_account`.t_app_user f on (b.app_user_id = f.id) |
| | | left join `charging_pile_account`.t_app_user_car g on (b.app_user_car_id = g.id) |
| | | where b.del_flag = 0 and b.recharge_payment_status = 2 |
| | | <if test="null != req.code and req.code!=''"> |
| | | and b.code LIKE CONCAT('%',#{req.code},'%') |
| | | </if> |
| | | <if test="null != req.carIds and req.carIds.size()>0"> |
| | | and b.app_user_car_id in |
| | | <foreach collection="req.carIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | <if test="null != req.userIds and req.userIds.size()>0"> |
| | | and b.app_user_id in |
| | | <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | <if test="null != req.siteIds and req.siteIds.size()>0"> |
| | | and b.site_id in |
| | | <foreach collection="req.siteIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | <if test="req.orderType != null "> |
| | | and b.order_type = #{req.orderType} |
| | | </if> |
| | | <if test="req.status != null "> |
| | | and b.status = #{req.status} |
| | | </if> |
| | | <if test="req.status != null "> |
| | | and b.status = #{req.status} |
| | | </if> |
| | | <if test="req.isWhitelist != null"> |
| | | and b.is_whitelist = #{req.isWhitelist} |
| | | </if> |
| | | <if test="req.siteId != null "> |
| | | and b.site_id = #{req.siteId} |
| | | </if> |
| | | <if test="startTime1 != null and startTime1!=''"> |
| | | and b.pay_time between #{startTime1} and #{startTime2} |
| | | </if> |
| | | <if test="endTime1 != null and endTime2!=''"> |
| | | and b.end_time between #{endTime1} and #{endTime2} |
| | | </if> |
| | | and b.start_time IS NOT NULL and b.end_time is not null |
| | | ) as aa group by aa.id, aa.`code`, aa.siteId, aa.siteName, aa.orderType, aa.terminalName, aa.electricity, aa.rechargeAmount, aa.paymentAmount, aa.thirdPayAmount, aa.balancePayAmount, aa.electrovalence, aa.serviceCharge, aa.tripartitePlatformName, |
| | | aa.startTime, aa.endTime, aa.chargingSecond, aa.startSoc, aa.endSoc, aa.`status`, aa.endMode, aa.phone, aa.licensePlate, aa.orderSource, aa.rechargePaymentType, aa.payMethod, |
| | | aa.isWhitelist, aa.whitelistRefundAmount, aa.whitelistElectricRefundAmount, aa.whitelistServiceRefundAmount order by aa.startTime desc |
| | | </select> |
| | | |
| | | |
| | | |
| | | |
| | | <select id="chargingListSum" resultType="map"> |
| | | select |
| | | a.id, |
| | | 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,coas.type, coas.charging_capacity, coas.period_electric_price, coas.period_service_price, co.order_source |
| | | from t_charging_order_accounting_strategy coas |
| | | left join t_charging_order co on (coas.charging_order_id = co.id) |
| | | where co.del_flag = 0 and co.recharge_payment_status = 2 |
| | | <if test="null != req.code and req.code!=''"> |
| | | and co.code LIKE CONCAT('%',#{req.code},'%') |
| | | </if> |
| | | <if test="null != req.carIds and req.carIds.size()>0"> |
| | | and co.app_user_car_id in |
| | | <foreach collection="req.carIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | <if test="null != req.userIds and req.userIds.size()>0"> |
| | | and co.app_user_id in |
| | | <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | <if test="null != req.siteIds and req.siteIds.size()>0"> |
| | | and co.site_id in |
| | | <foreach collection="req.siteIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | <if test="req.orderType != null "> |
| | | and co.order_type = #{req.orderType} |
| | | </if> |
| | | <if test="req.status != null "> |
| | | and co.status = #{req.status} |
| | | </if> |
| | | <if test="req.status != null "> |
| | | and co.status = #{req.status} |
| | | </if> |
| | | <if test="req.isWhitelist != null"> |
| | | and co.is_whitelist = #{req.isWhitelist} |
| | | </if> |
| | | <if test="req.siteId != null "> |
| | | and co.site_id = #{req.siteId} |
| | | </if> |
| | | <if test="startTime1 != null and startTime1!=''"> |
| | | and co.pay_time between #{startTime1} and #{startTime2} |
| | | </if> |
| | | <if test="endTime1 != null and endTime2!=''"> |
| | | and co.end_time between #{endTime1} and #{endTime2} |
| | | </if> |
| | | and co.start_time IS NOT NULL and co.end_time is not null |
| | | ) as a group by a.id |
| | | </select> |
| | | |
| | | |
| | | <select id="chargingListSum1" resultType="map"> |
| | | 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 |
| | | from ( |
| | | select co.id,coas.charging_capacity, coas.period_electric_price, coas.period_service_price, co.order_source |
| | | from t_charging_order_accounting_strategy coas |
| | | left join t_charging_order co on (coas.charging_order_id = co.id) |
| | | where co.del_flag = 0 and co.recharge_payment_status = 2 |
| | | <if test="null != req.code and req.code!=''"> |
| | | and co.code LIKE CONCAT('%',#{req.code},'%') |
| | | </if> |
| | | <if test="null != req.carIds and req.carIds.size()>0"> |
| | | and co.app_user_car_id in |
| | | <foreach collection="req.carIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | <if test="null != req.userIds and req.userIds.size()>0"> |
| | | and co.app_user_id in |
| | | <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | <if test="null != req.siteIds and req.siteIds.size()>0"> |
| | | and co.site_id in |
| | | <foreach collection="req.siteIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | <if test="req.orderType != null "> |
| | | and co.order_type = #{req.orderType} |
| | | </if> |
| | | <if test="req.status != null "> |
| | | and co.status = #{req.status} |
| | | </if> |
| | | <if test="req.isWhitelist != null"> |
| | | and co.is_whitelist = #{req.isWhitelist} |
| | | </if> |
| | | <if test="req.siteId != null "> |
| | | and co.site_id = #{req.siteId} |
| | | </if> |
| | | <if test="startTime1 != null and startTime1!=''"> |
| | | and co.pay_time between #{startTime1} and #{startTime2} |
| | | </if> |
| | | <if test="endTime1 != null and endTime2!=''"> |
| | | and co.end_time between #{endTime1} and #{endTime2} |
| | | </if> |
| | | and co.start_time IS NOT NULL and co.end_time is not null |
| | | ) as a |
| | | </select> |
| | | |
| | | |
| | | |
| | | |
| | | <select id="chargingListNoPage" resultType="com.ruoyi.order.api.vo.ChargingOrderListVO"> |
| | | select t1.* from t_charging_order t1 |
| | | where 1=1 |
| | | <if test="null != req.code and req.code!=''"> |
| | | and t1.code LIKE CONCAT('%',#{req.code},'%') |
| | | and t1.code LIKE CONCAT('%',#{req.code},'%') |
| | | </if> |
| | | <if test="null != req.carIds and req.carIds.size()>0" > |
| | | <if test="null != req.carIds and req.carIds.size()>0"> |
| | | and t1.app_user_car_id in |
| | | <foreach collection="req.carIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | <if test="null != req.userIds and req.userIds.size()>0" > |
| | | <if test="null != req.userIds and req.userIds.size()>0"> |
| | | and t1.app_user_id in |
| | | <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | |
| | | </if> |
| | | <if test="req.status != null "> |
| | | and t1.status = #{req.status} |
| | | </if> |
| | | <if test="req.isWhitelist != null"> |
| | | and t1.is_whitelist = #{req.isWhitelist} |
| | | </if> |
| | | <if test="req.siteId != null "> |
| | | and t1.site_id = #{req.siteId} |
| | |
| | | end as source |
| | | from t_charging_order |
| | | where 1=1 |
| | | AND del_flag = 0 |
| | | AND del_flag = 0 |
| | | AND recharge_payment_status = 2 and status = 5 |
| | | <if test="siteIds != null and siteIds.size() > 0"> |
| | | and site_id IN |
| | | <foreach collection="siteIds" item="siteId" open="(" separator="," close=")"> |
| | | #{siteId} |
| | | </foreach> |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType == 1"> |
| | | AND DATE(create_time ) = CURDATE() |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType != 1"> |
| | | and DATE(create_time) >= #{statisticsQueryDto.startTime} |
| | | and DATE(create_time) <= #{statisticsQueryDto.endTime} |
| | | </if> |
| | | <if test="siteIds != null and siteIds.size() > 0"> |
| | | and site_id IN |
| | | <foreach collection="siteIds" item="siteId" open="(" separator="," close=")"> |
| | | #{siteId} |
| | | </foreach> |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType == 1"> |
| | | AND DATE(create_time ) = CURDATE() |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType != 1"> |
| | | and DATE(create_time) >= #{statisticsQueryDto.startTime} |
| | | and DATE(create_time) <= #{statisticsQueryDto.endTime} |
| | | </if> |
| | | group by tripartite_platform_name |
| | | |
| | | |
| | | </select> |
| | | <select id="equipmentUserType1" resultType="java.util.Map"> |
| | | SELECT |
| | | FORMAT(SUM(TIME_TO_SEC(TIMEDIFF(co.end_time, co.start_time)) / |
| | | <if test="statisticsQueryDto.dayType == 1"> |
| | | 864 |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType == 2"> |
| | | 6048 |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType == 3"> |
| | | 25920 |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType == 4"> |
| | | 315360 |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType == 5"> |
| | | (864*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS days_difference |
| | | )) |
| | | </if> |
| | | FORMAT(SUM(TIME_TO_SEC(TIMEDIFF(co.end_time, co.start_time)) / |
| | | <if test="statisticsQueryDto.dayType == 1"> |
| | | 864 |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType == 2"> |
| | | 6048 |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType == 3"> |
| | | 25920 |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType == 4"> |
| | | 315360 |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType == 5"> |
| | | (864*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS |
| | | days_difference |
| | | )) |
| | | </if> |
| | | |
| | | |
| | | ), 2) AS percent,co.charging_gun_id,tc.name,cp.name as siteName |
| | | ), 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 |
| | | `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 |
| | | co.start_time IS NOT NULL AND co.end_time IS NOT NULL and tc.type = 4 |
| | | <if test="siteIds != null and siteIds.size() > 0"> |
| | | and co.site_id IN |
| | | <foreach collection="siteIds" item="siteId" open="(" separator="," close=")"> |
| | |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType == 5"> |
| | | |
| | | and DATE(co.create_time) >= #{statisticsQueryDto.startTime} |
| | | and DATE(co.create_time) >= #{statisticsQueryDto.startTime} |
| | | |
| | | |
| | | and DATE(co.create_time) <= #{statisticsQueryDto.endTime} |
| | | and DATE(co.create_time) <= #{statisticsQueryDto.endTime} |
| | | |
| | | </if> |
| | | GROUP BY tc.name,cp.name,co.charging_gun_id |
| | | |
| | | |
| | | |
| | | |
| | | </select> |
| | |
| | | 315360 |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType == 5"> |
| | | (864*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS days_difference |
| | | (864*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS |
| | | days_difference |
| | | )) |
| | | </if> |
| | | |
| | |
| | | ), 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 |
| | | 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) |
| | | <if test="siteIds != null and siteIds.size() > 0"> |
| | |
| | | and DATE(co.create_time) >= #{statisticsQueryDto.startTime} |
| | | </if> |
| | | <if test="statisticsQueryDto.endTime != null"> |
| | | and DATE(co.create_time) <= #{statisticsQueryDto.endTime} |
| | | and DATE(co.create_time) <= #{statisticsQueryDto.endTime} |
| | | </if> |
| | | </if> |
| | | GROUP BY tc.name,cp.name,co.charging_gun_id |
| | |
| | | </select> |
| | | <select id="equipmentMapbroke1" resultType="java.util.Map"> |
| | | SELECT |
| | | FORMAT(SUM(TIME_TO_SEC(TIMEDIFF(co.end_time, co.down_time)) / |
| | | FORMAT(SUM(TIME_TO_SEC(TIMEDIFF(co.end_time, co.down_time)) / |
| | | <if test="statisticsQueryDto.dayType == 1"> |
| | | 864 |
| | | </if> |
| | |
| | | 315360 |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType == 5"> |
| | | (864*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS days_difference |
| | | (864*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS |
| | | days_difference |
| | | )) |
| | | </if> |
| | | |
| | | ), 2) AS percent,cp.name |
| | | ), 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 |
| | | 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 |
| | | <if test="siteIds != null and siteIds.size() > 0"> |
| | |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType == 5"> |
| | | |
| | | and DATE(co.create_time) >= #{statisticsQueryDto.startTime} |
| | | and DATE(co.create_time) >= #{statisticsQueryDto.startTime} |
| | | |
| | | |
| | | and DATE(co.create_time) <= #{statisticsQueryDto.endTime} |
| | | and DATE(co.create_time) <= #{statisticsQueryDto.endTime} |
| | | |
| | | </if> |
| | | GROUP BY cp.name |
| | |
| | | 315360 |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType == 5"> |
| | | (864*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS days_difference |
| | | (864*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS |
| | | days_difference |
| | | )) |
| | | </if> |
| | | |
| | | ), 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 |
| | | 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 |
| | | <if test="siteIds != null and siteIds.size() > 0"> |
| | |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType == 5"> |
| | | |
| | | and DATE(co.create_time) >= #{statisticsQueryDto.startTime} |
| | | and DATE(co.create_time) >= #{statisticsQueryDto.startTime} |
| | | |
| | | and DATE(co.create_time) <= #{statisticsQueryDto.endTime} |
| | | and DATE(co.create_time) <= #{statisticsQueryDto.endTime} |
| | | |
| | | </if> |
| | | GROUP BY cp.name |
| | |
| | | 315360 |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType == 5"> |
| | | (864*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS days_difference |
| | | (864*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS |
| | | days_difference |
| | | )) |
| | | </if> |
| | | |
| | | ), 2) AS percent,cp.name |
| | | ), 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 |
| | | 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 |
| | | <if test="siteIds != null and siteIds.size() > 0"> |
| | |
| | | and DATE(co.create_time) >= #{statisticsQueryDto.startTime} |
| | | </if> |
| | | <if test="statisticsQueryDto.endTime != null"> |
| | | and DATE(co.create_time) <= #{statisticsQueryDto.endTime} |
| | | and DATE(co.create_time) <= #{statisticsQueryDto.endTime} |
| | | </if> |
| | | </if> |
| | | GROUP BY cp.name |
| | |
| | | 315360 |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType == 5"> |
| | | (864*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS days_difference |
| | | (864*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS |
| | | days_difference |
| | | )) |
| | | </if> |
| | | |
| | | ), 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 |
| | | 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 |
| | | <if test="siteIds != null and siteIds.size() > 0"> |
| | |
| | | and DATE(co.create_time) >= #{statisticsQueryDto.startTime} |
| | | </if> |
| | | <if test="statisticsQueryDto.endTime != null"> |
| | | and DATE(co.create_time) <= #{statisticsQueryDto.endTime} |
| | | and DATE(co.create_time) <= #{statisticsQueryDto.endTime} |
| | | </if> |
| | | </if> |
| | | GROUP BY cp.name |
| | |
| | | </select> |
| | | <select id="needElec" resultType="java.util.Map"> |
| | | 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 |
| | | 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 |
| | | `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> |
| | | tc.type = 4 and co.need_elec != 0 |
| | | <if test="siteIds != null and siteIds.size() > 0"> |
| | |
| | | </if> |
| | | <if test="statisticsQueryDto.dayType == 5"> |
| | | |
| | | and DATE(co.create_time) >= #{statisticsQueryDto.startTime} |
| | | and DATE(co.create_time) >= #{statisticsQueryDto.startTime} |
| | | |
| | | and DATE(co.create_time) <= #{statisticsQueryDto.endTime} |
| | | and DATE(co.create_time) <= #{statisticsQueryDto.endTime} |
| | | |
| | | </if> |
| | | </where> |
| | | GROUP BY |
| | | tc.name, |
| | | cp.name, |
| | | co.charging_gun_id; |
| | | tc.name, |
| | | cp.name, |
| | | co.charging_gun_id; |
| | | |
| | | |
| | | </select> |
| | | |
| | | |
| | | <select id="getChargingOrderCount" resultType="java.util.Map"> |
| | | select |
| | | count(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 ( |
| | | select charging_order_id, |
| | | sum(period_service_price) as period_service_price, |
| | | sum(period_electric_price) as period_electric_price, |
| | | sum(charging_capacity) as charging_capacity |
| | | from t_charging_order_accounting_strategy group by charging_order_id |
| | | ) as 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, '%Y-%m-%d') = #{time} |
| | | <if test="siteIds != null and siteIds.size() > 0"> |
| | | and a.site_id IN |
| | | <foreach collection="siteIds" item="siteId" open="(" separator="," close=")"> |
| | | #{siteId} |
| | | </foreach> |
| | | </if> |
| | | </select> |
| | | |
| | | |
| | | <select id="getHourType" resultType="java.util.Map"> |
| | | select |
| | | aa.time, |
| | |
| | | (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( |
| | | 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( |
| | | <if test="statisticsQueryDto.type == 1"> |
| | | a.create_time |
| | | </if> |
| | |
| | | (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( |
| | | 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( |
| | | <if test="statisticsQueryDto.type == 1"> |
| | | a.start_time |
| | | </if> |
| | |
| | | (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( |
| | | 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( |
| | | <if test="statisticsQueryDto.type == 1"> |
| | | a.start_time |
| | | </if> |
| | |
| | | </select> |
| | | <select id="getchargingCapacity" resultType="java.util.Map"> |
| | | SELECT |
| | | DATE_FORMAT( create_time, '%Y-%m-%d' ) as time, |
| | | SUM(charging_capacity) as chargingCapacity |
| | | 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 |
| | | t_charging_order |
| | | WHERE del_flag = 0 and recharge_payment_status = 2 |
| | | <if test="statisticsQueryDto.dayType == 1"> |
| | | AND DATE( create_time ) between #{statisticsQueryDto.startTime} and #{statisticsQueryDto.endTime} |
| | | </if> |
| | |
| | | </foreach> |
| | | </if> |
| | | GROUP BY |
| | | time |
| | | time |
| | | </select> |
| | | <select id="countAllUserData" resultType="java.util.Map"> |
| | | SELECT |
| | | COUNT( DISTINCT app_user_id ) AS counts, |
| | | '1' AS type |
| | | COUNT( DISTINCT app_user_id ) AS counts, |
| | | '1' AS type |
| | | FROM |
| | | `charging_pile_order`.`t_charging_order` UNION ALL |
| | | `charging_pile_order`.`t_charging_order` UNION ALL |
| | | SELECT |
| | | COUNT(*) AS counts, |
| | | '2' AS type |
| | | COUNT(*) AS counts, |
| | | '2' AS type |
| | | FROM |
| | | `charging_pile_account`.`t_app_user` |
| | | `charging_pile_account`.`t_app_user` |
| | | WHERE |
| | | `vip_end_time` > NOW() |
| | | `vip_end_time` > NOW() |
| | | |
| | | UNION ALL |
| | | SELECT |
| | | COUNT(*) AS counts, |
| | | '3' AS type |
| | | COUNT(*) AS counts, |
| | | '3' AS type |
| | | FROM |
| | | `charging_pile_account`.`t_app_user` |
| | | `charging_pile_account`.`t_app_user` |
| | | WHERE |
| | | del_flag = 0 |
| | | del_flag = 0 |
| | | |
| | | |
| | | </select> |
| | |
| | | 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 |
| | | (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 |
| | | <where> |
| | |
| | | and DATE(co.create_time) >= #{statisticsQueryDto.startTime} |
| | | </if> |
| | | <if test="statisticsQueryDto.endTime != null"> |
| | | and DATE(co.create_time) <= #{statisticsQueryDto.endTime} |
| | | and DATE(co.create_time) <= #{statisticsQueryDto.endTime} |
| | | </if> |
| | | </if> |
| | | </where> |
| | |
| | | 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 |
| | | SELECT app_user_id |
| | | from `charging_pile_account`.`t_app_user_tag` |
| | | GROUP BY app_user_id |
| | | |
| | | ) and au.del_flag = 0 |
| | | ) and au.del_flag = 0 |
| | | |
| | | </select> |
| | | <select id="countCar" resultType="java.lang.Long"> |
| | | select count(1) |
| | | from |
| | | charging_pile_account.t_app_user_car |
| | | charging_pile_account.t_app_user_car |
| | | where del_flag = 0 |
| | | |
| | | <if test="brands != null and brands.size() > 0"> |
| | | and vehicle_brand not in |
| | | <foreach collection="brands" item="brand" open="(" separator="," close=")"> |
| | | #{brand} |
| | | </foreach> |
| | | and vehicle_brand not in |
| | | <foreach collection="brands" item="brand" open="(" separator="," close=")"> |
| | | #{brand} |
| | | </foreach> |
| | | </if> |
| | | </select> |
| | | <select id="chargingOrderNolimit" resultType="map"> |
| | | select |
| | | sum(charging_capacity) as total, |
| | | sum(charging_duration) as `time`, |
| | | sum(electric_price) as electronicMoney, |
| | | sum(income) as paymentMoney, |
| | | sum(service_price) as serviceMoney |
| | | from t_charging_order_summary_data |
| | | where charging_order_id in ( |
| | | select t1.id |
| | | from t_charging_order t1 |
| | | where 1=1 |
| | | |
| | | |
| | | <sql id="ChargingOrderSummaryWhere"> |
| | | 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 |
| | | <if test="null != req.code and req.code!=''"> |
| | | and t1.code LIKE CONCAT('%',#{req.code},'%') |
| | | and b.code LIKE CONCAT('%',#{req.code},'%') |
| | | </if> |
| | | <if test="null != req.userIds and req.userIds.size()>0" > |
| | | and t1.app_user_id in |
| | | <if test="null != req.userIds and req.userIds.size()>0"> |
| | | and b.app_user_id in |
| | | <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | <if test="null != req.siteIds and req.siteIds.size()>0" > |
| | | and t1.site_id in |
| | | <if test="null != req.siteIds and req.siteIds.size()>0"> |
| | | and b.site_id in |
| | | <foreach collection="req.siteIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | <if test="req.orderType != null "> |
| | | and t1.order_type = #{req.orderType} |
| | | and b.order_type = #{req.orderType} |
| | | </if> |
| | | <if test="req.status != null "> |
| | | and t1.status = #{req.status} |
| | | and b.status = #{req.status} |
| | | </if> |
| | | <if test="req.orderSource != null and req.orderSource == 1 "> |
| | | and (t1.order_source = 0 or t1.order_source = 1 ) |
| | | and (b.order_source = 0 or b.order_source = 1 ) |
| | | </if> |
| | | <if test="req.orderSource != null and req.orderSource == 2 "> |
| | | and t1.tripartite_platform_name = 'KuaiDian' |
| | | and b.tripartite_platform_name = 'KuaiDian' |
| | | </if> |
| | | <if test="req.orderSource != null and req.orderSource == 3 "> |
| | | and t1.tripartite_platform_name = 'XinDianTu' |
| | | and b.tripartite_platform_name = 'XinDianTu' |
| | | </if> |
| | | <if test="req.isWhitelist != null"> |
| | | and b.is_whitelist = #{req.isWhitelist} |
| | | </if> |
| | | <if test="req.paymentType != null and req.paymentType == 1 "> |
| | | and b.recharge_payment_type = 1 |
| | | </if> |
| | | <if test="req.paymentType != null and req.paymentType == 2 "> |
| | | and b.recharge_payment_type in (2, 3) |
| | | </if> |
| | | <if test="req.paymentType != null and req.paymentType == 3 "> |
| | | and b.pay_method in (1, 2) |
| | | </if> |
| | | <if test="req.siteId != null "> |
| | | and t1.site_id = #{req.siteId} |
| | | and b.site_id = #{req.siteId} |
| | | </if> |
| | | <if test="req.pileId != null "> |
| | | and t1.charging_pile_id = #{req.pileId} |
| | | and b.charging_pile_id = #{req.pileId} |
| | | </if> |
| | | <if test="req.gunId != null "> |
| | | and t1.charging_gun_id = #{req.gunId} |
| | | and b.charging_gun_id = #{req.gunId} |
| | | </if> |
| | | <if test="startTime1 != null and startTime1!=''"> |
| | | and (t1.pay_time between #{startTime1} and #{startTime2}) |
| | | and (b.pay_time between #{startTime1} and #{startTime2}) |
| | | </if> |
| | | <if test="endTime1 != null and endTime1!=''"> |
| | | and (t1.end_time between #{endTime1} and #{endTime2}) |
| | | and (b.end_time between #{endTime1} and #{endTime2}) |
| | | </if> |
| | | and t1.del_flag = 0 |
| | | ) |
| | | </select> |
| | | <select id="countOrdersByDate" resultType="com.ruoyi.order.vo.OrderCountByDate"> |
| | | SELECT DATE_FORMAT(create_time, '%m/%d') AS `date`, COUNT(*) AS `count` |
| | | FROM t_charging_order |
| | | WHERE |
| | | del_flag = 0 |
| | | and |
| | | status in (3,5) |
| | | </sql> |
| | | |
| | | and charging_gun_id in |
| | | <foreach item="item" index="index" collection="gunIds" open="(" separator="," close=")"> |
| | | <select id="chargingOrderNolimit" resultType="map"> |
| | | 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) |
| | | <include refid="ChargingOrderSummaryWhere"/> |
| | | group by b.id,time |
| | | ) as aa |
| | | </select> |
| | | |
| | | <select id="chargingOrderFundSummary" resultType="map"> |
| | | 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 |
| | | <include refid="ChargingOrderSummaryWhere"/> |
| | | ) as aa |
| | | </select> |
| | | |
| | | <select id="chargingOrderSummaryOrderIds" resultType="java.lang.Long"> |
| | | select b.id |
| | | from `charging_pile_order`.t_charging_order b |
| | | <include refid="ChargingOrderSummaryWhere"/> |
| | | </select> |
| | | |
| | | <select id="exchangeCodeBalanceSummary" resultType="map"> |
| | | 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) |
| | | <if test="orderIds != null and orderIds.size()>0"> |
| | | and order_id in |
| | | <foreach collection="orderIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | and create_time BETWEEN #{startTime} AND #{endTime} |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="exchangeCodeBalanceIncomeByOrderIds" resultType="map"> |
| | | 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) |
| | | <if test="orderIds != null and orderIds.size()>0"> |
| | | and order_id in |
| | | <foreach collection="orderIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | group by order_id |
| | | </select> |
| | | |
| | | <select id="exchangeCodeBalanceIncomeDetail" resultType="com.ruoyi.order.api.vo.ChargingOrderBalanceIncomeDetailVO"> |
| | | 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) |
| | | <if test="orderIds != null and orderIds.size()>0"> |
| | | and r.order_id in |
| | | <foreach collection="orderIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | group by p.id, p.package_name |
| | | having balanceIncome != 0 or giftIncome != 0 |
| | | order by p.id desc |
| | | </select> |
| | | |
| | | |
| | | <select id="countOrdersByDate" resultType="com.ruoyi.order.vo.OrderCountByDate"> |
| | | SELECT DATE_FORMAT(create_time, '%m/%d') AS `date`, COUNT(*) AS `count` |
| | | FROM t_charging_order |
| | | WHERE |
| | | del_flag = 0 |
| | | and |
| | | status in (3,5) |
| | | |
| | | and charging_gun_id in |
| | | <foreach item="item" index="index" collection="gunIds" open="(" separator="," close=")"> |
| | | #{item} |
| | | </foreach> |
| | | and create_time BETWEEN #{startTime} AND #{endTime} |
| | | GROUP BY DATE(create_time, '%m/%d') |
| | | ORDER BY DATE(create_time, '%m/%d') ASC |
| | | </select> |
| | | |
| | | |
| | | |
| | | <select id="findFailedStartupOrder" resultType="com.ruoyi.order.api.model.TChargingOrder"> |
| | | SELECT |
| | | * |
| | | * |
| | | FROM |
| | | t_charging_order |
| | | t_charging_order |
| | | WHERE |
| | | `status` = 2 |
| | | AND recharge_payment_status = 2 |
| | | AND recharge_serial_number IS NOT NULL |
| | | AND NOW() >= ADDDATE(pay_time, INTERVAL 15 MINUTE ) |
| | | AND del_flag = 0 |
| | | AND order_source = 1 |
| | | AND id NOT IN ( |
| | | SELECT |
| | | charging_order_id |
| | | FROM |
| | | t_charging_order_refund) |
| | | `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> |
| | | |
| | | |
| | | |
| | | |
| | | <select id="findStoppedOrder" resultType="com.ruoyi.order.api.model.TChargingOrder"> |
| | | SELECT |
| | | * |
| | | * |
| | | FROM |
| | | t_charging_order |
| | | 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) |
| | | `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> |
| | | |
| | | |
| | | |
| | | |
| | | <select id="findChargingOrder" resultType="com.ruoyi.order.api.model.TChargingOrder"> |
| | | SELECT |
| | | * |
| | | * |
| | | FROM |
| | | t_charging_order |
| | | t_charging_order |
| | | WHERE |
| | | `status` = 3 |
| | | AND del_flag = 0 |
| | | AND id NOT IN ( |
| | | SELECT |
| | | charging_order_id |
| | | FROM |
| | | t_charging_order_refund) |
| | | `status` = 3 |
| | | AND del_flag = 0 |
| | | AND id NOT IN ( |
| | | SELECT |
| | | charging_order_id |
| | | FROM |
| | | t_charging_order_refund) |
| | | </select> |
| | | |
| | | <select id="getSumDegreeBySiteIds" resultType="java.lang.Double"> |
| | | 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 |
| | | LEFT JOIN t_charging_order_summary_data t2 ON t1.id = t2.charging_order_id |
| | | WHERE t1.del_flag = 0 |
| | | <if test="siteIds != null and siteIds.size() > 0"> |
| | | <if test="siteIds != null and siteIds.size() > 0"> |
| | | AND t1.site_id IN |
| | | <foreach collection="siteIds" item="item" open="(" separator="," close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | </select> |
| | | </if> |
| | | </select> |
| | | |
| | | |
| | | <select id="findEndChargingOrder" resultType="com.ruoyi.order.api.model.TChargingOrder"> |
| | | 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> |
| | | |
| | | |
| | | <select id="findUpStatusChargingOrder" resultType="com.ruoyi.order.api.model.TChargingOrder"> |
| | | select * from t_charging_order where `status` in (2, 3, 4) and id IN ( |
| | | SELECT |
| | | charging_order_id |
| | | FROM |
| | | t_charging_order_refund) |
| | | </select> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <select id="getChargingSettlementBill" resultType="map"> |
| | | 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 |
| | | <if test="null != dateType and 1 == dateType"> |
| | | and b.start_time between #{startTime} and #{endTime} |
| | | </if> |
| | | <if test="null != dateType and 2 == dateType"> |
| | | and b.end_time between #{startTime} and #{endTime} |
| | | </if> |
| | | group by orderId,siteId, chargingDuration, totalAmount, couponDeduction, platformFee |
| | | ) as aa group by aa.siteId order by aa.siteId |
| | | </select> |
| | | |
| | | |
| | | |
| | | <select id="getAccountSettlementStatement" resultType="map"> |
| | | select |
| | | aa.site_id as siteId, |
| | | aa.recharge_payment_type as rechargePaymentType, |
| | | sum(aa.recharge_amount) as rechargeAmount, |
| | | sum(aa.refund_amount) as refundAmount, |
| | | sum(aa.platformFee) as platformFee, |
| | | sum(aa.tripartiteCommission) as tripartiteCommission |
| | | from ( |
| | | select |
| | | b.id as orderId, |
| | | b.recharge_payment_type, |
| | | b.site_id, |
| | | b.recharge_amount, |
| | | ifnull(c.refund_amount, 0) as refund_amount, |
| | | (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 |
| | | from t_charging_order_accounting_strategy a |
| | | left join t_charging_order b on (a.charging_order_id = b.id) |
| | | left join t_charging_order_refund c on (b.id = c.charging_order_id) |
| | | where b.`status` = 5 and b.del_flag = 0 and b.recharge_payment_type = #{rechargePaymentType} and b.start_time between #{startTime} and #{endTime} |
| | | group by orderId,recharge_payment_type,site_id,recharge_amount,refund_amount,platformFee |
| | | ) as aa group by aa.site_id,aa.recharge_payment_type order by aa.site_id |
| | | </select> |
| | | |
| | | |
| | | |
| | | <select id="getSiteChargingCapacity" resultType="map"> |
| | | select b.site_id as siteId, sum(a.charging_capacity) as chargingCapacity |
| | | from t_charging_order_accounting_strategy a |
| | | left join t_charging_order b on (a.charging_order_id = b.id) |
| | | where b.status = 5 |
| | | <if test="null != siteIds and siteIds.size() > 0"> |
| | | and b.site_id in |
| | | <foreach collection="siteIds" item="item" open="(" separator="," close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | group by b.site_id |
| | | </select> |
| | | </mapper> |