From b88a288f4f787b509463678e3cd9ccfa3f37014b Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期三, 11 三月 2026 12:01:05 +0800
Subject: [PATCH] 导入测试
---
java110-db/src/main/resources/mapper/common/CarInoutV1ServiceDaoImplMapper.xml | 148 +++++++++++++++++++++++++++++++++++++------------
1 files changed, 111 insertions(+), 37 deletions(-)
diff --git a/java110-db/src/main/resources/mapper/common/CarInoutV1ServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/common/CarInoutV1ServiceDaoImplMapper.xml
index b6892f1..6356d32 100644
--- a/java110-db/src/main/resources/mapper/common/CarInoutV1ServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/common/CarInoutV1ServiceDaoImplMapper.xml
@@ -17,59 +17,127 @@
<!-- 鏌ヨ杞﹁締杩涘嚭鍦轰俊鎭� add by wuxw 2018-07-03 -->
<select id="getCarInoutInfo" parameterType="Map" resultType="Map">
- select t.in_time,t.in_time inTime,t.inout_id,t.inout_id inoutId,t.pa_id,t.pa_id paId,t.car_num,t.car_num
- carNum,t.status_cd,t.status_cd statusCd,t.state,t.community_id,t.community_id communityId,t.out_time,t.out_time
- outTime,td.`name` stateName,pa.num areaNum,tcfc.fee_name feeName,tcfc.config_id configId,max(cid.car_type) carType
- from car_inout t
- LEFT JOIN car_inout_detail cid on t.inout_id = cid.inout_id and cid.status_cd = '0' and cid.state in ('100300','100400','100600')
- left join t_dict td on t.state = td.status_cd and td.table_columns='state' and td.table_name = 'car_inout'
- left join parking_area pa on t.pa_id = pa.pa_id and pa.status_cd = '0'
- left join temp_car_fee_config tcfc on pa.pa_id = tcfc.pa_id and tcfc.status_cd = '0'
- where 1 =1
- <if test="inTime !=null and inTime != ''">
- and t.in_time= #{inTime}
+ SELECT
+ -- 鍑哄満璁板綍瀛楁
+ out_rec.in_time outInTime,
+ out_rec.inout_id outInoutId,
+ out_rec.pa_id paId,
+ out_rec.car_num carNum,
+ out_rec.vehicle_type vehicleType,
+ out_rec.payment_amount paymentAmount,
+ out_rec.merchant_id merchantId,
+ out_rec.direction,
+ out_rec.status_cd statusCd,
+ out_rec.state outState,
+ out_rec.community_id communityId,
+ out_rec.out_time outTime,
+ -- 鍏宠仈鐨勮繘鍦鸿褰曞瓧娈�
+ in_rec.in_time inTime,
+ in_rec.inout_id inInoutId,
+ in_rec.state inState,
+ -- 鍏朵粬鍏宠仈淇℃伅
+ td_out.`name` outStateName,
+ td_in.`name` inStateName,
+ pa.num areaNum,
+ tcfc.fee_name feeName,
+ tcfc.config_id configId,
+ MAX(cid_out.car_type) carType,
+ MAX(cid_out.car_type_name) carTypeName,
+ -- 鍋滆溅鏃堕暱
+ TIMESTAMPDIFF(MINUTE, in_rec.in_time, out_rec.out_time) parkMinutes
+ FROM car_inout out_rec
+ -- 鍏宠仈鏈�鏂扮殑杩涘満璁板綍
+ LEFT JOIN (
+ SELECT
+ car_num, in_time, inout_id, state, pa_id, community_id,
+ ROW_NUMBER() OVER (PARTITION BY car_num ORDER BY in_time DESC) rn
+ FROM car_inout
+ WHERE state = '100300' -- 杩涘満鐘舵��
+ AND status_cd = '0'
+ ) in_rec ON out_rec.car_num = in_rec.car_num
+ AND out_rec.in_time > in_rec.in_time
+ AND in_rec.rn = 1
+ AND out_rec.pa_id = in_rec.pa_id
+
+ -- 鍘熸湁鍏宠仈琛紙璋冩暣涓哄叧鑱斿嚭鍦鸿褰曪級
+ LEFT JOIN car_inout_detail cid_out ON out_rec.inout_id = cid_out.inout_id
+ AND cid_out.status_cd = '0'
+ AND cid_out.state IN ('100300','100400','100600')
+ LEFT JOIN t_dict td_out ON out_rec.state = td_out.status_cd
+ AND td_out.table_columns = 'state'
+ AND td_out.table_name = 'car_inout'
+ LEFT JOIN t_dict td_in ON in_rec.state = td_in.status_cd
+ AND td_in.table_columns = 'state'
+ AND td_in.table_name = 'car_inout'
+ LEFT JOIN parking_area pa ON out_rec.pa_id = pa.pa_id
+ AND pa.status_cd = '0'
+ LEFT JOIN temp_car_fee_config tcfc ON pa.pa_id = tcfc.pa_id
+ AND tcfc.status_cd = '0'
+
+ WHERE 1 = 1
+ -- 涓昏〃绛涢�夌鍦鸿褰�
+ AND out_rec.state = '100500' -- 绂诲満鐘舵��
+ AND out_rec.status_cd = '0'
+
+ -- 淇濈暀鍘熷鎵�鏈夋煡璇㈡潯浠讹紙璋冩暣鍒悕閫傞厤鏂扮粨鏋勶級
+ <if test="inTime != null and inTime != ''">
+ AND in_rec.in_time = #{inTime}
</if>
- <if test="inoutId !=null and inoutId != ''">
- and t.inout_id= #{inoutId}
+ <if test="inoutId != null and inoutId != ''">
+ AND out_rec.inout_id = #{inoutId}
</if>
- <if test="paId !=null and paId != ''">
- and t.pa_id= #{paId}
+ <if test="paId != null and paId != ''">
+ AND out_rec.pa_id = #{paId}
</if>
- <if test="paIds !=null">
- and t.pa_id in
+ <if test="paIds != null">
+ AND out_rec.pa_id IN
<foreach collection="paIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
- <if test="carNum !=null and carNum != ''">
- and t.car_num= #{carNum}
+ <if test="carNum != null and carNum != ''">
+ AND out_rec.car_num LIKE CONCAT('%', #{carNum}, '%')
</if>
- <if test="carType !=null and carType != ''">
- and cid.car_type= #{carType}
+ <if test="carType != null and carType != ''">
+ AND cid_out.car_type = #{carType}
</if>
- <if test="statusCd !=null and statusCd != ''">
- and t.status_cd= #{statusCd}
+ <if test="statusCd != null and statusCd != ''">
+ AND out_rec.status_cd = #{statusCd}
</if>
- <if test="state !=null and state != ''">
- and t.state= #{state}
+ <if test="state != null and state != ''">
+ AND out_rec.state = #{state}
</if>
- <if test="states !=null">
- and t.state in
+ <if test="states != null">
+ AND out_rec.state IN
<foreach collection="states" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
- <if test="communityId !=null and communityId != ''">
- and t.community_id= #{communityId}
+ <if test="communityId != null and communityId != ''">
+ AND out_rec.community_id = #{communityId}
</if>
- <if test="outTime !=null and outTime != ''">
- and t.out_time= #{outTime}
+ <if test="outTime != null and outTime != ''">
+ AND out_rec.out_time = #{outTime}
</if>
- group by t.in_time,t.inout_id,t.pa_id,t.car_num,t.status_cd,t.state,t.community_id,t.out_time,td.`name`,pa.num,tcfc.fee_name,tcfc.config_id
- order by t.create_time desc
+ <if test="startTime != null and startTime != ''">
+ AND in_rec.in_time > #{startTime}
+ </if>
+ <if test="endTime != null and endTime != ''">
+ AND in_rec.in_time < #{endTime}
+ </if>
+
+ GROUP BY
+ out_rec.in_time, out_rec.inout_id, out_rec.pa_id, out_rec.car_num,
+ out_rec.status_cd, out_rec.state, out_rec.community_id, out_rec.out_time,
+ in_rec.in_time, in_rec.inout_id, in_rec.state,
+ td_out.`name`, td_in.`name`, pa.num, tcfc.fee_name, tcfc.config_id
+
+ ORDER BY out_rec.create_time DESC
+
<if test="page != -1 and page != null ">
limit #{page}, #{row}
</if>
+
</select>
@@ -112,9 +180,6 @@
<if test="inTime !=null and inTime != ''">
and t.in_time= #{inTime}
</if>
- <if test="inoutId !=null and inoutId != ''">
- and t.inout_id= #{inoutId}
- </if>
<if test="paId !=null and paId != ''">
and t.pa_id= #{paId}
</if>
@@ -125,7 +190,7 @@
</foreach>
</if>
<if test="carNum !=null and carNum != ''">
- and t.car_num= #{carNum}
+ and t.car_num like concat('%',#{carNum},'%')
</if>
<if test="statusCd !=null and statusCd != ''">
and t.status_cd= #{statusCd}
@@ -145,6 +210,15 @@
<if test="outTime !=null and outTime != ''">
and t.out_time= #{outTime}
</if>
+ <if test="startTime !=null and startTime != ''">
+ and t.in_time > #{startTime}
+ </if>
+ <if test="endTime !=null and endTime != ''">
+ and t.in_time < #{endTime}
+ </if>
+ <if test="merchantId !=null and merchantId != ''">
+ and t.merchant_id < #{merchantId}
+ </if>
</select>
--
Gitblit v1.8.0