1182 lines
45 KiB
XML
1182 lines
45 KiB
XML
<?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.xhpc.order.mapper.XhpcRealTimeOrderMapper">
|
|
|
|
<resultMap type="com.xhpc.order.domain.XhpcRealTimeOrder" id="XhpcRealTimeOrderMap">
|
|
<result column="real_time_order_id" property="realTimeOrderId"/>
|
|
<result column="charging_order_id" property="chargingOrderId"/>
|
|
<result column="transaction_number" property="transactionNumber"/>
|
|
<result column="pile_number" property="pileNumber"/>
|
|
<result column="gun_number" property="gunNumber"/>
|
|
<result column="pile_gun_status" property="pileGunStatus"/>
|
|
<result column="vehicle_gun_status" property="vehicleGunStatus"/>
|
|
<result column="voltage" property="voltage"/>
|
|
<result column="electric_current" property="electricCurrent"/>
|
|
<result column="gun_line_temperature" property="gunLineTemperature"/>
|
|
<result column="gun_line_number" property="gunLineNumber"/>
|
|
<result column="soc" property="soc"/>
|
|
<result column="max_temperature" property="maxTemperature"/>
|
|
<result column="charging_time" property="chargingTime"/>
|
|
<result column="charging_time_number" property="chargingTimeNumber"/>
|
|
<result column="remaining_time" property="remainingTime"/>
|
|
<result column="charging_degree" property="chargingDegree"/>
|
|
<result column="loss_charging_degree" property="lossChargingDegree"/>
|
|
<result column="amount_charged" property="amountCharged"/>
|
|
<result column="hardware_fault" property="hardwareFault"/>
|
|
<result column="status" property="status"/>
|
|
<result column="create_time" property="createTime"/>
|
|
<result column="create_by" property="createBy"/>
|
|
<result column="update_time" property="updateTime"/>
|
|
<result column="update_by" property="updateBy"/>
|
|
<result column="remark" property="remark"/>
|
|
<result column="user_id" property="userId"/>
|
|
<result column="charging_station_id" property="chargingStationId"/>
|
|
<result column="charging_pile_id" property="chargingPileId"/>
|
|
<result column="terminal_id" property="terminalId"/>
|
|
</resultMap>
|
|
|
|
<insert id="insertXhpcRealTimeOrder" parameterType="com.xhpc.order.domain.XhpcRealTimeOrder" useGeneratedKeys="true"
|
|
keyProperty="realTimeOrderId">
|
|
insert into xhpc_real_time_order
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
<if test="null != chargingOrderId ">
|
|
charging_order_id,
|
|
</if>
|
|
<if test="null != transactionNumber ">
|
|
transaction_number,
|
|
</if>
|
|
<if test="null != pileNumber ">
|
|
pile_number,
|
|
</if>
|
|
<if test="null != gunNumber ">
|
|
gun_number,
|
|
</if>
|
|
<if test="null != pileGunStatus ">
|
|
pile_gun_status,
|
|
</if>
|
|
<if test="null != vehicleGunStatus ">
|
|
vehicle_gun_status,
|
|
</if>
|
|
<if test="null != voltage ">
|
|
voltage,
|
|
</if>
|
|
<if test="null != electricCurrent ">
|
|
electric_current,
|
|
</if>
|
|
<if test="null != gunLineTemperature ">
|
|
gun_line_temperature,
|
|
</if>
|
|
<if test="null != gunLineNumber ">
|
|
gun_line_number,
|
|
</if>
|
|
<if test="null != soc ">
|
|
soc,
|
|
</if>
|
|
<if test="null != maxTemperature ">
|
|
max_temperature,
|
|
</if>
|
|
<if test="null != chargingTime ">
|
|
charging_time,
|
|
</if>
|
|
<if test="null != remainingTime ">
|
|
remaining_time,
|
|
</if>
|
|
<if test="null != chargingDegree ">
|
|
charging_degree,
|
|
</if>
|
|
<if test="null != lossChargingDegree ">
|
|
loss_charging_degree,
|
|
</if>
|
|
<if test="null != amountCharged ">
|
|
amount_charged,
|
|
</if>
|
|
<if test="null != hardwareFault ">
|
|
hardware_fault,
|
|
</if>
|
|
<if test="null != status ">
|
|
status,
|
|
</if>
|
|
<if test="null != createTime ">
|
|
create_time,
|
|
</if>
|
|
<if test="null != createBy ">
|
|
create_by,
|
|
</if>
|
|
<if test="null != updateTime ">
|
|
update_time,
|
|
</if>
|
|
<if test="null != updateBy ">
|
|
update_by,
|
|
</if>
|
|
<if test="null != remark ">
|
|
remark,
|
|
</if>
|
|
<if test="null != userId ">
|
|
user_id,
|
|
</if>
|
|
<if test="null != chargingStationId ">
|
|
charging_station_id,
|
|
</if>
|
|
<if test="null != chargingTimeNumber ">
|
|
charging_time_number,
|
|
</if>
|
|
<if test="null != source ">
|
|
source,
|
|
</if>
|
|
<if test="null != chargingPileId ">
|
|
charging_pile_id,
|
|
</if>
|
|
<if test="null != terminalId ">
|
|
terminal_id,
|
|
</if>
|
|
</trim>
|
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
|
<if test="null != chargingOrderId ">
|
|
#{chargingOrderId},
|
|
</if>
|
|
<if test="null != transactionNumber ">
|
|
#{transactionNumber},
|
|
</if>
|
|
<if test="null != pileNumber ">
|
|
#{pileNumber},
|
|
</if>
|
|
<if test="null != gunNumber ">
|
|
#{gunNumber},
|
|
</if>
|
|
<if test="null != pileGunStatus ">
|
|
#{pileGunStatus},
|
|
</if>
|
|
<if test="null != vehicleGunStatus ">
|
|
#{vehicleGunStatus},
|
|
</if>
|
|
<if test="null != voltage ">
|
|
#{voltage},
|
|
</if>
|
|
<if test="null != electricCurrent ">
|
|
#{electricCurrent},
|
|
</if>
|
|
<if test="null != gunLineTemperature ">
|
|
#{gunLineTemperature},
|
|
</if>
|
|
<if test="null != gunLineNumber ">
|
|
#{gunLineNumber},
|
|
</if>
|
|
<if test="null != soc ">
|
|
#{soc},
|
|
</if>
|
|
<if test="null != maxTemperature ">
|
|
#{maxTemperature},
|
|
</if>
|
|
<if test="null != chargingTime ">
|
|
#{chargingTime},
|
|
</if>
|
|
<if test="null != remainingTime ">
|
|
#{remainingTime},
|
|
</if>
|
|
<if test="null != chargingDegree ">
|
|
#{chargingDegree},
|
|
</if>
|
|
<if test="null != lossChargingDegree ">
|
|
#{lossChargingDegree},
|
|
</if>
|
|
<if test="null != amountCharged ">
|
|
#{amountCharged},
|
|
</if>
|
|
<if test="null != hardwareFault ">
|
|
#{hardwareFault},
|
|
</if>
|
|
<if test="null != status ">
|
|
#{status},
|
|
</if>
|
|
<if test="null != createTime ">
|
|
#{createTime},
|
|
</if>
|
|
<if test="null != createBy ">
|
|
#{createBy},
|
|
</if>
|
|
<if test="null != updateTime ">
|
|
#{updateTime},
|
|
</if>
|
|
<if test="null != updateBy ">
|
|
#{updateBy},
|
|
</if>
|
|
<if test="null != remark ">
|
|
#{remark},
|
|
</if>
|
|
<if test="null != userId ">
|
|
#{userId},
|
|
</if>
|
|
<if test="null != chargingStationId ">
|
|
#{chargingStationId},
|
|
</if>
|
|
<if test="null != chargingTimeNumber ">
|
|
#{chargingTimeNumber},
|
|
</if>
|
|
<if test="null != source ">
|
|
#{source},
|
|
</if>
|
|
<if test="null != chargingPileId ">
|
|
#{chargingPileId},
|
|
</if>
|
|
<if test="null != terminalId ">
|
|
#{terminalId},
|
|
</if>
|
|
</trim>
|
|
</insert>
|
|
|
|
<insert id="insertRealTimeOrderBms" >
|
|
insert into xhpc_real_time_order_bms
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
<if test="null != orderNo and orderNo !=''">
|
|
order_no,
|
|
</if>
|
|
<if test="null != pileNo and pileNo!=''">
|
|
pile_no,
|
|
</if>
|
|
<if test="null != gunId and gunId!='' ">
|
|
gun_id,
|
|
</if>
|
|
<if test="null != bmsVoltageRequest ">
|
|
bms_voltage_request,
|
|
</if>
|
|
<if test="null != bmsCurrentRequest ">
|
|
bms_current_request,
|
|
</if>
|
|
<if test="null != bmsChargingMod ">
|
|
bms_charging_mod,
|
|
</if>
|
|
<if test="null != bmsChargingVolt ">
|
|
bms_charging_volt,
|
|
</if>
|
|
<if test="null != bmsChargingCurrent ">
|
|
bms_charging_current,
|
|
</if>
|
|
<if test="null != monoBatteryVolt ">
|
|
mono_battery_volt,
|
|
</if>
|
|
<if test="null != soc ">
|
|
soc,
|
|
</if>
|
|
<if test="null != bmsEstRemainingTime and bmsEstRemainingTime !=''">
|
|
bms_est_remaining_time,
|
|
</if>
|
|
<if test="null != pileVoltageOutput ">
|
|
pile_voltage_output,
|
|
</if>
|
|
<if test="null != pileCurrentOutput ">
|
|
pile_current_output,
|
|
</if>
|
|
<if test="null != chargingTimeSummary and chargingTimeSummary !=''">
|
|
charging_time_summary,
|
|
</if>
|
|
<if test="null != monoBatteryVoltGroupId ">
|
|
mono_battery_volt_groupId,
|
|
</if>
|
|
<if test="null != chargingOrderId ">
|
|
charging_order_id,
|
|
</if>
|
|
<if test="null != createTime ">
|
|
create_time,
|
|
</if>
|
|
</trim>
|
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
|
<if test="null != orderNo and orderNo !=''">
|
|
#{orderNo},
|
|
</if>
|
|
<if test="null != pileNo and pileNo!=''">
|
|
#{pileNo},
|
|
</if>
|
|
<if test="null != gunId and gunId!='' ">
|
|
#{gunId},
|
|
</if>
|
|
<if test="null != bmsVoltageRequest ">
|
|
#{bmsVoltageRequest},
|
|
</if>
|
|
<if test="null != bmsCurrentRequest ">
|
|
#{bmsCurrentRequest},
|
|
</if>
|
|
<if test="null != bmsChargingMod ">
|
|
#{bmsChargingMod},
|
|
</if>
|
|
<if test="null != monoBatteryVolt ">
|
|
#{monoBatteryVolt},
|
|
</if>
|
|
<if test="null != bmsChargingCurrent ">
|
|
#{bmsChargingCurrent},
|
|
</if>
|
|
<if test="null != monoBatteryVolt ">
|
|
#{monoBatteryVolt},
|
|
</if>
|
|
<if test="null != soc ">
|
|
#{soc},
|
|
</if>
|
|
<if test="null != bmsEstRemainingTime and bmsEstRemainingTime!=''">
|
|
#{bmsEstRemainingTime},
|
|
</if>
|
|
<if test="null != pileVoltageOutput ">
|
|
#{pileVoltageOutput},
|
|
</if>
|
|
<if test="null != pileCurrentOutput ">
|
|
#{pileCurrentOutput},
|
|
</if>
|
|
<if test="null != chargingTimeSummary and chargingTimeSummary!=''">
|
|
#{chargingTimeSummary},
|
|
</if>
|
|
<if test="null != monoBatteryVoltGroupId ">
|
|
#{monoBatteryVoltGroupId},
|
|
</if>
|
|
<if test="null != chargingOrderId ">
|
|
#{chargingOrderId},
|
|
</if>
|
|
<if test="null != createTime ">
|
|
#{createTime},
|
|
</if>
|
|
</trim>
|
|
</insert>
|
|
|
|
|
|
<insert id="insertSOC" parameterType="com.xhpc.order.domain.XhpcChargeOrderSoc" useGeneratedKeys="true"
|
|
keyProperty="chargeOrderSocId">
|
|
insert into xhpc_charge_order_soc
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
<if test="null != chargeOrderId ">
|
|
charge_order_id,
|
|
</if>
|
|
<if test="null != soc ">
|
|
soc,
|
|
</if>
|
|
<if test="null != status ">
|
|
status,
|
|
</if>
|
|
<if test="null != createTime ">
|
|
create_time,
|
|
</if>
|
|
<if test="null != createBy ">
|
|
create_by,
|
|
</if>
|
|
<if test="null != updateTime ">
|
|
update_time,
|
|
</if>
|
|
<if test="null != updateBy ">
|
|
update_by,
|
|
</if>
|
|
<if test="null != remark ">
|
|
remark
|
|
</if>
|
|
</trim>
|
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
|
<if test="null != chargeOrderId ">
|
|
#{chargeOrderId},
|
|
</if>
|
|
<if test="null != soc ">
|
|
#{soc},
|
|
</if>
|
|
<if test="null != status ">
|
|
#{status},
|
|
</if>
|
|
<if test="null != createTime ">
|
|
#{createTime},
|
|
</if>
|
|
<if test="null != createBy ">
|
|
#{createBy},
|
|
</if>
|
|
<if test="null != updateTime ">
|
|
#{updateTime},
|
|
</if>
|
|
<if test="null != updateBy ">
|
|
#{updateBy},
|
|
</if>
|
|
<if test="null != remark ">
|
|
#{remark}
|
|
</if>
|
|
</trim>
|
|
</insert>
|
|
|
|
<insert id="insertCurrent" parameterType="com.xhpc.order.domain.XhpcChargeOrderCurrent" useGeneratedKeys="true"
|
|
keyProperty="chargeOrderCurrentId">
|
|
insert into xhpc_charge_order_current
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
<if test="null != chargeOrderId ">
|
|
charge_order_id,
|
|
</if>
|
|
<if test="null != current ">
|
|
current,
|
|
</if>
|
|
<if test="null != status ">
|
|
status,
|
|
</if>
|
|
<if test="null != createTime ">
|
|
create_time,
|
|
</if>
|
|
<if test="null != createBy ">
|
|
create_by,
|
|
</if>
|
|
<if test="null != updateTime ">
|
|
update_time,
|
|
</if>
|
|
<if test="null != updateBy ">
|
|
update_by,
|
|
</if>
|
|
<if test="null != remark ">
|
|
remark
|
|
</if>
|
|
</trim>
|
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
|
<if test="null != chargeOrderId ">
|
|
#{chargeOrderId},
|
|
</if>
|
|
<if test="null != current ">
|
|
#{current},
|
|
</if>
|
|
<if test="null != status ">
|
|
#{status},
|
|
</if>
|
|
<if test="null != createTime ">
|
|
#{createTime},
|
|
</if>
|
|
<if test="null != createBy ">
|
|
#{createBy},
|
|
</if>
|
|
<if test="null != updateTime ">
|
|
#{updateTime},
|
|
</if>
|
|
<if test="null != updateBy ">
|
|
#{updateBy},
|
|
</if>
|
|
<if test="null != remark ">
|
|
#{remark}
|
|
</if>
|
|
</trim>
|
|
</insert>
|
|
|
|
<insert id="insertVoltage" parameterType="com.xhpc.order.domain.XhpcChargeOrderVoltage" useGeneratedKeys="true"
|
|
keyProperty="chargeOrderVoltageId">
|
|
insert into xhpc_charge_order_voltage
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
<if test="null != chargeOrderId ">
|
|
charge_order_id,
|
|
</if>
|
|
<if test="null != voltage ">
|
|
voltage,
|
|
</if>
|
|
<if test="null != status ">
|
|
status,
|
|
</if>
|
|
<if test="null != createTime ">
|
|
create_time,
|
|
</if>
|
|
<if test="null != createBy ">
|
|
create_by,
|
|
</if>
|
|
<if test="null != updateTime ">
|
|
update_time,
|
|
</if>
|
|
<if test="null != updateBy ">
|
|
update_by,
|
|
</if>
|
|
<if test="null != remark ">
|
|
remark
|
|
</if>
|
|
</trim>
|
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
|
<if test="null != chargeOrderId ">
|
|
#{chargeOrderId},
|
|
</if>
|
|
<if test="null != voltage ">
|
|
#{voltage},
|
|
</if>
|
|
<if test="null != status ">
|
|
#{status},
|
|
</if>
|
|
<if test="null != createTime ">
|
|
#{createTime},
|
|
</if>
|
|
<if test="null != createBy ">
|
|
#{createBy},
|
|
</if>
|
|
<if test="null != updateTime ">
|
|
#{updateTime},
|
|
</if>
|
|
<if test="null != updateBy ">
|
|
#{updateBy},
|
|
</if>
|
|
<if test="null != remark ">
|
|
#{remark}
|
|
</if>
|
|
</trim>
|
|
</insert>
|
|
|
|
<select id="list" resultType="map">
|
|
select
|
|
co.charge_order_id as chargeOrderId,
|
|
co.serial_number as serialNumber,
|
|
ct.name as chargingStationName,
|
|
ter.pile_serial_number as pileSerialNumber,
|
|
ter.name as terminalName,
|
|
op.operator_id as operatorId,
|
|
op.name as operatorName,
|
|
cp.power as power,
|
|
cp.type as type,
|
|
co.status as status,
|
|
co.erro_remark as erroRemark,
|
|
co.create_time as createTime,
|
|
co.start_time as startTime,
|
|
ro.real_time_order_id as realTimeOrderId,
|
|
ro.soc as soc,
|
|
ro.charging_degree as chargingDegree,
|
|
ro.charging_time as chargingTime,
|
|
co.source as source,
|
|
co.internet_serial_number as internetSerialNumber,
|
|
co.Plate_num as plateNum,
|
|
inu.name as internetName,
|
|
co.driver_id as internetUserPhone,
|
|
cup.name as customersName,
|
|
cup.account as customersAccount,
|
|
cop.name as communityName,
|
|
cop.account as communityAccount,
|
|
apu.phone as appUserPhone
|
|
from xhpc_charge_order co
|
|
left join xhpc_charging_station as ct on ct.charging_station_id = co.charging_station_id
|
|
left join xhpc_operator as op on op.operator_id = ct.operator_id
|
|
left join xhpc_terminal as ter on ter.terminal_id = co.terminal_id
|
|
left join xhpc_charging_pile as cp on cp.charging_pile_id = ter.charging_pile_id
|
|
left join xhpc_internet_user as inu on inu.internet_user_id = co.user_id and co.source =1
|
|
left join xhpc_app_user as apu on apu.app_user_id = co.user_id and co.source =0
|
|
left join xhpc_community_personnel as cop on cop.community_personnel_id = co.user_id and co.source =2
|
|
left join xhpc_customers_personnel as cup on cup.customers_personnel_id = co.user_id and co.source =3
|
|
LEFT JOIN (
|
|
SELECT charging_order_id,real_time_order_id,soc,charging_degree,charging_time FROM xhpc_real_time_order
|
|
WHERE real_time_order_id IN ( SELECT max( real_time_order_id ) FROM xhpc_real_time_order GROUP BY charging_order_id )
|
|
) ro ON ro.charging_order_id = co.charge_order_id
|
|
<if test="number==1">
|
|
inner join (
|
|
select xco.charge_order_id as charge_order_id from xhpc_charge_order as xco INNER JOIN xhpc_app_user as xau on xau.app_user_id = xco.user_id where xco.source=0 and xau.phone LIKE concat('%',#{phone}, '%')
|
|
union
|
|
co.driver_id LIKE concat('%',#{phone}, '%')
|
|
union
|
|
select xco.charge_order_id as charge_order_id from xhpc_charge_order as xco INNER JOIN xhpc_community_personnel as xcp on xcp.community_personnel_id = xco.user_id where xco.source=2 and xcp.account LIKE concat('%',#{phone}, '%')
|
|
union
|
|
select xco.charge_order_id as charge_order_id from xhpc_charge_order as xco INNER JOIN xhpc_customers_personnel as xcup on xcup.customers_personnel_id = xco.user_id where xco.source=3 and xcup.account LIKE concat('%',#{phone}, '%')
|
|
) ut on ut.charge_order_id = co.charge_order_id
|
|
</if>
|
|
where co.status=#{status} and co.del_flag=0
|
|
<if test="internetId !=null">
|
|
and co.source =1
|
|
and inu.internet_user_id=#{internetId}
|
|
</if>
|
|
<if test="chargingStationId!=null">
|
|
and co.charging_station_id=#{chargingStationId}
|
|
</if>
|
|
<if test="chargingPileId!=null">
|
|
and co.terminal_id in (select terminal_id from xhpc_terminal where charging_pile_id =#{chargingPileId} and del_flag =0)
|
|
</if>
|
|
<if test="terminalId!=null">
|
|
and co.terminal_id=#{terminalId}
|
|
</if>
|
|
<if test="internetSerialNumber !=null and internetSerialNumber !=''">
|
|
and co.source =1
|
|
and inu.name like concat('%', #{internetSerialNumber}, '%')
|
|
</if>
|
|
<if test="plateNum !=null and plateNum !=''">
|
|
and co.Plate_num like concat('%', #{plateNum}, '%')
|
|
</if>
|
|
<if test="tenantId !=null and tenantId !=''">
|
|
and co.tenant_id =#{tenantId}
|
|
</if>
|
|
<if test="source !=null">
|
|
and co.source =#{source}
|
|
</if>
|
|
<if test="startTime !=null and startTime !=''">
|
|
and co.start_time >= #{startTime}
|
|
</if>
|
|
<if test="endTime !=null and endTime !=''">
|
|
and co.start_time <= #{endTime}
|
|
</if>
|
|
<if test="transactionNumber !=null and transactionNumber !=''">
|
|
and co.serial_number like concat('%', #{transactionNumber}, '%')
|
|
</if>
|
|
<if test="chargingStationName !=null and chargingStationName !=''">
|
|
and ct.name like concat('%', #{chargingStationName}, '%')
|
|
</if>
|
|
<if test="terminalName !=null and terminalName !=''">
|
|
and ter.name like concat('%', #{terminalName}, '%')
|
|
</if>
|
|
<if test="operatorId !=null">
|
|
and op.operator_id =#{operatorId}
|
|
</if>
|
|
<if test="number==2">
|
|
<if test="source !=null and source ==0">
|
|
and co.charge_order_id in (select xco.charge_order_id as charge_order_id from xhpc_charge_order as xco INNER JOIN xhpc_app_user as xau on xau.app_user_id = xco.user_id where xco.source=0 and xau.phone LIKE concat('%',#{phone}, '%'))
|
|
</if>
|
|
<if test="source !=null and source ==1">
|
|
and co.charge_order_id in (select xco.charge_order_id as charge_order_id from xhpc_charge_order as xco INNER JOIN xhpc_internet_user as xiu on xiu.internet_user_id = xco.user_id where xco.source=1 and xiu.phone LIKE concat('%',#{phone}, '%'))
|
|
</if>
|
|
</if>
|
|
<if test="number==3">
|
|
<if test="source !=null and source ==0">
|
|
and co.charge_order_id in (select xco.charge_order_id as charge_order_id from xhpc_charge_order as xco INNER JOIN xhpc_app_user as xau on xau.app_user_id = xco.user_id where xco.source=0 and xau.phone LIKE concat('%',#{phone}, '%'))
|
|
</if>
|
|
<if test="source !=null and source ==1">
|
|
a and co.charge_order_id in (select xco.charge_order_id as charge_order_id from xhpc_charge_order as xco INNER JOIN xhpc_internet_user as xiu on xiu.internet_user_id = xco.user_id where xco.source=1 and xiu.phone LIKE concat('%',#{phone}, '%'))
|
|
</if>
|
|
</if>
|
|
<if test="type==1">
|
|
and co.charging_station_id in (select charging_station_id from xhpc_charging_station where operator_id=#{userId})
|
|
</if>
|
|
<if test="type==2">
|
|
and co.charging_station_id in (select charging_station_id from xhpc_user_privilege where user_id=#{userId})
|
|
</if>
|
|
order by co.create_time desc
|
|
</select>
|
|
|
|
<select id="getMessage" resultType="map">
|
|
select
|
|
ro.real_time_order_id as realTimeOrderId,
|
|
co.charge_order_id as chargeOrderId,
|
|
co.serial_number as serialNumber,
|
|
ct.name as chargingStationName,
|
|
ter.pile_serial_number as pileSerialNumber,
|
|
ter.name as terminalName,
|
|
op.operator_id as operatorId,
|
|
op.name as operatorName,
|
|
cp.serial_number as pileSerialNumber,
|
|
cp.power as power,
|
|
cp.type as type,
|
|
ro.soc as soc,
|
|
ro.voltage as voltage,
|
|
ro.electric_current as electricCurrent,
|
|
co.status as status,
|
|
co.create_time as createTime,
|
|
ro.charging_degree as chargingDegree,
|
|
ro.charging_time as chargingTime,
|
|
co.source as source,
|
|
co.internet_serial_number as internetSerialNumber,
|
|
co.erro_remark as erroRemark,
|
|
ro.amount_charged as amountCharged,
|
|
co.Plate_num as plateNum,
|
|
co.start_time as startTime,
|
|
co.end_time as endTime,
|
|
(SELECT phone FROM xhpc_app_user where app_user_id = co.user_id) as appUserPhone,
|
|
co.driver_id as internetUserPhone,
|
|
(SELECT name from xhpc_internet_user where internet_user_id = co.user_id and co.source=1) as internetName,
|
|
(SELECT account from xhpc_community_personnel where community_personnel_id = co.user_id and co.source=2) as communityAccount,
|
|
(SELECT account from xhpc_customers_personnel where customers_personnel_id = co.user_id and co.source=3) as customersAccount
|
|
from xhpc_real_time_order ro
|
|
Left join xhpc_charge_order co on co.serial_number = ro.transaction_number
|
|
Left join xhpc_charging_station as ct on ct.charging_station_id = ro.charging_station_id
|
|
left join xhpc_operator as op on op.operator_id = ct.operator_id
|
|
left join xhpc_terminal as ter on ter.terminal_id = co.terminal_id
|
|
left join xhpc_charging_pile as cp on cp.charging_pile_id = ter.charging_pile_id
|
|
where ro.real_time_order_id=#{realTimeOrderId}
|
|
</select>
|
|
|
|
<select id="getXhpcChargingStationById" resultType="map">
|
|
select
|
|
charging_station_id chargingStationId,
|
|
rate_model_id as rateModelId
|
|
from xhpc_charging_station where charging_station_id=#{chargingStationId}
|
|
</select>
|
|
|
|
<select id="getMessageChargeOrderId" resultType="map">
|
|
select
|
|
co.charge_order_id as chargeOrderId,
|
|
co.serial_number as serialNumber,
|
|
ct.name as chargingStationName,
|
|
ter.pile_serial_number as pileSerialNumber,
|
|
ter.name as terminalName,
|
|
op.operator_id as operatorId,
|
|
op.name as operatorName,
|
|
cp.serial_number as pileSerialNumber,
|
|
cp.power as power,
|
|
cp.type as type,
|
|
concat(0) as soc,
|
|
concat(0) as voltage,
|
|
concat(0) as electricCurrent,
|
|
co.status as status,
|
|
DATE_FORMAT(co.create_time,'%Y-%m-%d %H:%i:%s')createTime,
|
|
co.start_time as startTime,
|
|
co.end_time as endTime,
|
|
co.charging_degree as chargingDegree,
|
|
concat(0) as chargingTime,
|
|
co.source as source,
|
|
co.internet_serial_number as internetSerialNumber,
|
|
co.erro_remark as erroRemark,
|
|
concat(0) as amountCharged,
|
|
co.Plate_num as plateNum,
|
|
(SELECT phone FROM xhpc_app_user where app_user_id = co.user_id) as appUserPhone,
|
|
co.driver_id as internetUserPhone,
|
|
(SELECT name from xhpc_internet_user where internet_user_id = co.user_id and co.source=1) as internetName,
|
|
(SELECT account from xhpc_community_personnel where community_personnel_id = co.user_id and co.source=2) as communityAccount,
|
|
(SELECT account from xhpc_customers_personnel where customers_personnel_id = co.user_id and co.source=3) as customersAccount
|
|
from xhpc_charge_order co
|
|
Left join xhpc_charging_station as ct on ct.charging_station_id = co.charging_station_id
|
|
left join xhpc_operator as op on op.operator_id = ct.operator_id
|
|
left join xhpc_terminal as ter on ter.terminal_id = co.terminal_id
|
|
left join xhpc_charging_pile as cp on cp.charging_pile_id = ter.charging_pile_id
|
|
where co.charge_order_id=#{chargeOrderId}
|
|
</select>
|
|
|
|
<select id="timeList" resultType="map">
|
|
select
|
|
create_time as createTime,
|
|
voltage,
|
|
electric_current as electricCurrent,
|
|
soc,
|
|
charging_degree as chargingDegree,
|
|
loss_charging_degree as lossChargingDegree,
|
|
gun_line_temperature as gunLineTemperature,
|
|
charging_time as chargingTime,
|
|
remaining_time as remainingTime,
|
|
vehicle_gun_status as vehicleGunStatus,
|
|
amount_charged as amountCharged,
|
|
status
|
|
from xhpc_real_time_order
|
|
where charging_order_id=#{chargingOrderId}
|
|
order by create_time desc
|
|
</select>
|
|
|
|
<select id="timeBmsList" resultType="map">
|
|
select
|
|
order_no as orderNo,
|
|
pile_no as pileNo,
|
|
gun_id as gunId,
|
|
bms_voltage_request as bmsVoltageRequest,
|
|
bms_current_request as bmsCurrentRequest,
|
|
bms_charging_mod as bmsChargingMod,
|
|
bms_charging_volt as bmsChargingVolt,
|
|
bms_charging_current as bmsChargingCurrent,
|
|
mono_battery_volt as monoBatteryVolt,
|
|
soc as soc,
|
|
bms_est_remaining_time as bmsEstRemainingTime,
|
|
pile_voltage_output as pileVoltageOutput,
|
|
pile_current_output as pileCurrentOutput,
|
|
charging_time_summary as chargingTimeSummary,
|
|
mono_battery_volt_groupId as monoBatteryVoltGroupId,
|
|
create_time as createTime
|
|
from xhpc_real_time_order_bms
|
|
where charging_order_id=#{chargingOrderId}
|
|
order by create_time desc
|
|
</select>
|
|
|
|
|
|
<select id="timeChartSOCList" resultType="map">
|
|
select
|
|
group_concat(soc) as soc,
|
|
group_concat(DATE_FORMAT(create_time,'%H:%i:%s')) createTime
|
|
from xhpc_charge_order_soc
|
|
where charge_order_id=#{chargingOrderId}
|
|
</select>
|
|
|
|
<select id="timeChartVoltageList" resultType="map">
|
|
select
|
|
group_concat(voltage) as voltage,
|
|
group_concat(DATE_FORMAT(create_time,'%H:%i:%s')) createTime
|
|
from xhpc_charge_order_voltage
|
|
where charge_order_id=#{chargingOrderId}
|
|
</select>
|
|
|
|
<select id="timeChartCurrentList" resultType="map">
|
|
select
|
|
group_concat(current) as current,
|
|
group_concat(DATE_FORMAT(create_time,'%H:%i:%s')) createTime
|
|
from xhpc_charge_order_current
|
|
where charge_order_id=#{chargingOrderId}
|
|
</select>
|
|
|
|
<delete id="deleteRealTimeOrder">
|
|
delete from xhpc_real_time_order where charging_order_id=#{chargingOrderId}
|
|
</delete>
|
|
|
|
<delete id="deleteChargeVoltage">
|
|
delete from xhpc_charge_order_current where charge_order_id=#{chargingOrderId}
|
|
</delete>
|
|
|
|
<delete id="deleteChargeOrderSoc">
|
|
delete from xhpc_charge_order_soc where charge_order_id=#{chargingOrderId}
|
|
</delete>
|
|
|
|
<delete id="deleteChargeOrderCurrent">
|
|
delete from xhpc_charge_order_voltage where charge_order_id=#{chargingOrderId}
|
|
</delete>
|
|
|
|
<select id="getChargingOrderId" resultMap="XhpcRealTimeOrderMap">
|
|
select
|
|
*
|
|
from xhpc_real_time_order
|
|
where charging_order_id=#{chargingOrderId}
|
|
and soc>0 and charging_degree>0
|
|
<if test="type ==1">
|
|
order by create_time asc
|
|
</if>
|
|
<if test="type==2">
|
|
order by create_time desc
|
|
</if>
|
|
limit 1
|
|
</select>
|
|
|
|
<select id="getRealTimeOrderTime" resultType="double">
|
|
select IFNULL((
|
|
(SELECT
|
|
max(charging_degree)
|
|
FROM
|
|
xhpc_real_time_order
|
|
WHERE
|
|
charging_order_id =#{chargingOrderId}
|
|
and create_time <=#{endTime} )-(SELECT
|
|
min(charging_degree)
|
|
FROM
|
|
xhpc_real_time_order
|
|
WHERE
|
|
charging_order_id =#{chargingOrderId}
|
|
and create_time >=#{startTime})),0) number from xhpc_real_time_order WHERE
|
|
charging_order_id =#{chargingOrderId}
|
|
limit 1
|
|
</select>
|
|
|
|
<select id="getDifferenceTime" resultType="int">
|
|
SELECT IFNULL(TIMESTAMPDIFF(SECOND,
|
|
(SELECT
|
|
max(create_time)
|
|
FROM
|
|
xhpc_real_time_order
|
|
WHERE
|
|
charging_order_id =#{chargingOrderId}
|
|
and create_time <=#{time} ),
|
|
#{time}
|
|
),0) time from xhpc_real_time_order WHERE charging_order_id =#{chargingOrderId} limit 1
|
|
</select>
|
|
|
|
<select id="getChargingDegreeTime" resultType="double">
|
|
SELECT IFNULL((SELECT
|
|
min(charging_degree)
|
|
FROM
|
|
xhpc_real_time_order
|
|
WHERE
|
|
charging_order_id =#{chargingOrderId}
|
|
and create_time >=#{time} )-
|
|
(SELECT
|
|
max(charging_degree)
|
|
FROM
|
|
xhpc_real_time_order
|
|
WHERE
|
|
charging_order_id =#{chargingOrderId}
|
|
and create_time <=#{time} ),0)time from xhpc_real_time_order WHERE charging_order_id =#{chargingOrderId} limit 1
|
|
</select>
|
|
|
|
<select id="getChargeOrderById" resultType="map">
|
|
select
|
|
co.serial_number as serialNumber,
|
|
ct.name as chargingStationName,
|
|
ter.pile_serial_number as pileSerialNumber,
|
|
ter.name as terminalName,
|
|
op.operator_id as operatorId,
|
|
op.name as operatorName,
|
|
cp.serial_number as pileSerialNumber,
|
|
cp.power as power,
|
|
cp.type as type,
|
|
ro.soc as soc,
|
|
co.status as status,
|
|
co.create_time as createTime,
|
|
ro.charging_degree as chargingDegree,
|
|
ro.charging_time as chargingTime,
|
|
co.source as source,
|
|
co.internet_serial_number as internetSerialNumber,
|
|
co.erro_remark as erroRemark,
|
|
ro.amount_charged as amountCharged,
|
|
(SELECT phone FROM xhpc_app_user where app_user_id = co.user_id) as appUserPhone,
|
|
co.driver_id as internetUserPhone
|
|
from xhpc_charge_order as co
|
|
Left join xhpc_real_time_order ro on co.serial_number = ro.transaction_number
|
|
Left join xhpc_charging_station as ct on ct.charging_station_id = ro.charging_station_id
|
|
left join xhpc_operator as op on op.operator_id = ct.operator_id
|
|
left join xhpc_terminal as ter on ter.terminal_id = co.terminal_id
|
|
left join xhpc_charging_pile as cp on cp.charging_pile_id = ter.charging_pile_id
|
|
where ro.real_time_order_id=#{realTimeOrderId}
|
|
</select>
|
|
|
|
<select id="getOperatorIdEvcs" resultType="map">
|
|
select
|
|
internet_user_id as internetUserId,
|
|
operator_id_evcs as operatorIdEvcs,
|
|
commission_type as commissionType,
|
|
commission_rate as commissionRate
|
|
from xhpc_internet_user
|
|
where del_flag =0 and operator_id_evcs=#{operatorIdEvcs} limit 1
|
|
</select>
|
|
|
|
<select id="getActivityFormulaTime" resultType="com.xhpc.order.dto.XhpcActivityFormulaDomainDto">
|
|
select
|
|
activity_formula_id as activityFormulaId,
|
|
activity_id as activityId,
|
|
start_time as startTime,
|
|
end_time as endTime,
|
|
service_price as servicePrice,
|
|
power_price as powerPrice,
|
|
compute_formula as computeFormula
|
|
from xhpc_activity_formula
|
|
where
|
|
activity_id = #{activityId}
|
|
and activity_formula_id in (SELECT activity_formula_id FROM xhpc_activity_formula WHERE start_time <= #{startTime} AND end_time >= #{startTime} and activity_id = #{activityId})
|
|
or activity_formula_id in (SELECT activity_formula_id FROM xhpc_activity_formula WHERE start_time <= #{endTime} AND end_time >= #{endTime} and activity_id = #{activityId})
|
|
order by activity_formula_id
|
|
</select>
|
|
|
|
<select id="getActivityStationTime" resultType="com.xhpc.order.dto.XhpcActivityInternetDomainDto" >
|
|
select
|
|
activity_id as activityId,
|
|
activity_name as activityName,
|
|
internet_name as internetName,
|
|
compute_type as computeType,
|
|
service_price as servicePrice,
|
|
compute_formula as computeFormula,
|
|
start_time as startTime,
|
|
end_time as endTime,
|
|
station_list as stationList,
|
|
tenant_id as tenantId,
|
|
`status`,
|
|
del_flag as delFlag
|
|
from xhpc_activity_internet
|
|
where tenant_id =#{tenantId}
|
|
and find_in_set(#{chargingStationId}, station_list)
|
|
and internet_name = (select name from xhpc_internet_user where internet_user_id =#{internetUserId} and del_flag =0)
|
|
and status =3 and del_flag=0
|
|
and start_time <= #{startTime} AND end_time >= #{startTime}
|
|
order by end_time
|
|
</select>
|
|
|
|
<select id="getActivityDiscountTime" resultType="com.xhpc.order.dto.XhpcActivityDiscountDto">
|
|
select
|
|
xad.activity_id as activityId,
|
|
xad.activity_name as activityName,
|
|
xad.template_id as templateId,
|
|
xad.app_user_list as appUserList,
|
|
xad.com_user_list as comUserList,
|
|
xad.cus_user_list as cusUserList,
|
|
xad.station_list as stationList,
|
|
xad.tenant_id as tenantId,
|
|
xad.start_time as startTime,
|
|
xad.end_time as endTime,
|
|
xad.status as status,
|
|
xad.del_flag as delFlag,
|
|
xad.create_by as createBy,
|
|
xad.create_time as createTime,
|
|
xad.update_by as updateBy,
|
|
xad.update_time as updateTime,
|
|
xad.check_by as checkBy,
|
|
xad.check_time as checkTime,
|
|
xat.discount_type discountType,
|
|
xat.discount_rate discountRate
|
|
from xhpc_activity_discount as xad
|
|
join xhpc_activity_template as xat on xat.activity_template_id = xad.template_id and xat.del_flag =0 and xat.status=1
|
|
where xad.tenant_id=#{tenantId} and xad.status=3 and xad.del_flag =0
|
|
and find_in_set(#{chargingStationId}, xad.station_list)
|
|
<if test="userType ==0">
|
|
and (find_in_set(#{internetUserId}, xad.app_user_list) or xad.app_user_list='-1')
|
|
</if>
|
|
<if test="userType ==2">
|
|
and (find_in_set(#{internetUserId}, xad.com_user_list) or xad.com_user_list='-1')
|
|
</if>
|
|
<if test="userType ==3">
|
|
and (find_in_set(#{internetUserId}, xad.cus_user_list) or xad.cus_user_list='-1')
|
|
</if>
|
|
and xad.start_time <=#{startTime} and xad.end_time > #{startTime}
|
|
order by xad.start_time asc
|
|
</select>
|
|
|
|
|
|
<select id="getActivityFormulaById" resultType="com.xhpc.order.dto.XhpcActivityFormulaDomainDto">
|
|
select
|
|
activity_formula_id as activityFormulaId,
|
|
activity_id as activityId,
|
|
start_time as startTime,
|
|
end_time as endTime,
|
|
service_price as servicePrice,
|
|
power_price as powerPrice,
|
|
compute_formula as computeFormula
|
|
from xhpc_activity_formula
|
|
where activity_id = #{activityId}
|
|
</select>
|
|
|
|
<select id="getRateTimeList" resultType="com.xhpc.order.dto.RateTime">
|
|
select
|
|
start_time as startTime,
|
|
replace(end_time, '00:00:00', '24:00:00') as endTime,
|
|
power_fee as powerPrice,
|
|
service_fee as servicePrice
|
|
from xhpc_rate_time as xrt
|
|
left join xhpc_rate as xr on xrt.rate_id = xr.rate_id
|
|
where xrt.charging_station_id=#{chargingStationId} and xrt.rate_model_id=#{rateModelId} and xrt.del_flag=0
|
|
<if test="rateValue !=null and rateValue !=''">
|
|
and xrt.rate_value =#{rateValue}
|
|
</if>
|
|
</select>
|
|
|
|
<select id="getActivityFormulaTimeById" resultType="com.xhpc.order.dto.XhpcActivityFormulaDomainDto">
|
|
select
|
|
activity_formula_id as activityFormulaId,
|
|
activity_id as activityId,
|
|
start_time as startTime,
|
|
end_time as endTime,
|
|
service_price as servicePrice,
|
|
power_price as powerPrice,
|
|
compute_formula as computeFormula
|
|
from xhpc_activity_formula
|
|
where activity_id = #{activityId}
|
|
and start_time >= #{startTime} AND end_time <= #{endTime}
|
|
</select>
|
|
|
|
|
|
<delete id="deleteOrderCurrent">
|
|
delete from xhpc_charge_order_current where create_time <=#{time}
|
|
</delete>
|
|
|
|
<delete id="deleteOrderVoltage">
|
|
delete from xhpc_charge_order_voltage where create_time <=#{time}
|
|
</delete>
|
|
|
|
<delete id="deleteOrderSoc">
|
|
delete from xhpc_charge_order_soc where create_time <=#{time}
|
|
</delete>
|
|
|
|
<delete id="deleteRealTimeOrderTime">
|
|
delete from xhpc_real_time_order where create_time <=#{time}
|
|
</delete>
|
|
|
|
<delete id="deleteOorderRedisRecord">
|
|
delete from xhpc_order_redis_record where create_time <=#{time}
|
|
</delete>
|
|
|
|
<delete id="deleteRealTimeOrderBms">
|
|
delete from xhpc_real_time_order_bms where create_time <=#{time}
|
|
</delete>
|
|
|
|
<select id="getSerialNumber" resultType="com.xhpc.common.domain.XhpcChargingPile">
|
|
select
|
|
charging_pile_id as chargingPileId,
|
|
charging_station_id as chargingStationId
|
|
from xhpc_charging_pile where serial_number =#{serialNumber}
|
|
</select>
|
|
|
|
<insert id="insertXhpcBarrierGateRecord">
|
|
insert into xhpc_barrier_gate_record
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
<if test="null != barrierGateId">
|
|
barrier_gate_id,
|
|
</if>
|
|
<if test="null != userId">
|
|
user_id,
|
|
</if>
|
|
<if test="null != source ">
|
|
source,
|
|
</if>
|
|
<if test="null != chargingStationId ">
|
|
charging_station_id,
|
|
</if>
|
|
<if test="null != sendingTime ">
|
|
sending_time,
|
|
</if>
|
|
<if test="null != status ">
|
|
status,
|
|
</if>
|
|
<if test="null != delFlag ">
|
|
del_flag,
|
|
</if>
|
|
<if test="null != createTime ">
|
|
create_time,
|
|
</if>
|
|
<if test="null != createBy and '' != createBy">
|
|
create_by,
|
|
</if>
|
|
<if test="null != updateTime ">
|
|
update_time,
|
|
</if>
|
|
<if test="null != updateBy and '' != updateBy">
|
|
update_by,
|
|
</if>
|
|
<if test="null != remark and '' != remark">
|
|
remark,
|
|
</if>
|
|
<if test="null != tenantId ">
|
|
tenant_id,
|
|
</if>
|
|
<if test="null != tenantId ">
|
|
tenant_id,
|
|
</if>
|
|
<if test="null != serialNumber and '' != serialNumber">
|
|
serial_number,
|
|
</if>
|
|
<if test="null != internetSerialNumber and '' != internetSerialNumber">
|
|
internet_serial_number,
|
|
</if>
|
|
<if test="null != plateNum and '' != plateNum">
|
|
plate_num,
|
|
</if>
|
|
<if test="null != phone and '' != phone">
|
|
phone,
|
|
</if>
|
|
<if test="null != historyOrderId ">
|
|
history_order_id,
|
|
</if>
|
|
</trim>
|
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
|
<if test="null != barrierGateId">
|
|
#{barrierGateId},
|
|
</if>
|
|
<if test="null != userId">
|
|
#{userId},
|
|
</if>
|
|
<if test="null != source ">
|
|
#{source},
|
|
</if>
|
|
<if test="null != chargingStationId ">
|
|
#{chargingStationId},
|
|
</if>
|
|
<if test="null != sendingTime ">
|
|
#{sendingTime},
|
|
</if>
|
|
<if test="null != status ">
|
|
#{status},
|
|
</if>
|
|
<if test="null != delFlag ">
|
|
#{delFlag},
|
|
</if>
|
|
<if test="null != createTime ">
|
|
#{createTime},
|
|
</if>
|
|
<if test="null != createBy and '' != createBy">
|
|
#{createBy},
|
|
</if>
|
|
<if test="null != updateTime ">
|
|
#{updateTime},
|
|
</if>
|
|
<if test="null != updateBy and '' != updateBy">
|
|
#{updateBy},
|
|
</if>
|
|
<if test="null != remark and '' != remark">
|
|
#{remark},
|
|
</if>
|
|
<if test="null != tenantId ">
|
|
#{tenantId},
|
|
</if>
|
|
<if test="null != serialNumber and '' != serialNumber">
|
|
#{serialNumber},
|
|
</if>
|
|
<if test="null != internetSerialNumber and '' != internetSerialNumber">
|
|
#{internetSerialNumber},
|
|
</if>
|
|
<if test="null != plateNum and '' != plateNum">
|
|
#{plateNum},
|
|
</if>
|
|
<if test="null != phone and '' != phone">
|
|
#{phone},
|
|
</if>
|
|
<if test="null != historyOrderId ">
|
|
#{historyOrderId},
|
|
</if>
|
|
</trim>
|
|
</insert>
|
|
|
|
</mapper>
|