chengf
2026-03-11 b88a288f4f787b509463678e3cd9ccfa3f37014b
java110-db/src/main/resources/mapper/common/CarInoutServiceDaoImplMapper.xml
@@ -1,18 +1,13 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="carInoutServiceDaoImpl">
    <!-- 保存进出场信息 add by wuxw 2018-07-03 -->
    <insert id="saveBusinessCarInoutInfo" parameterType="Map">
        insert into business_car_inout(
        in_time,inout_id,operate,car_num,state,community_id,b_id,out_time
        ) values (
        #{inTime},#{inoutId},#{operate},#{carNum},#{state},#{communityId},#{bId},#{outTime}
        )
        insert into business_car_inout(in_time, inout_id, operate, car_num, state, community_id, b_id, out_time)
        values (#{inTime}, #{inoutId}, #{operate}, #{carNum}, #{state}, #{communityId}, #{bId}, #{outTime})
    </insert>
    <!-- 查询进出场信息(Business) add by wuxw 2018-07-03 -->
    <select id="getBusinessCarInoutInfo" parameterType="Map" resultType="Map">
@@ -44,15 +39,16 @@
        <if test="outTime !=null ">
            and t.out_time= #{outTime}
        </if>
    </select>
    <!-- 保存进出场信息至 instance表中 add by wuxw 2018-07-03 -->
    <insert id="saveCarInoutInfoInstance" parameterType="Map">
        insert into car_inout(
        in_time,inout_id,car_num,status_cd,state,community_id,b_id,out_time
        ) select t.in_time,t.inout_id,t.car_num,'0',t.state,t.community_id,t.b_id,t.out_time from business_car_inout t
        in_time,inout_id,car_num,status_cd,state,community_id,b_id,out_time,
        in_address,out_address,parking_duration,pay_date,payer,bank_deposit_date,bank_depositor
        ) select t.in_time,t.inout_id,t.car_num,'0',t.state,t.community_id,t.b_id,t.out_time,
        #{inAddress},#{outAddress},#{parkingDuration},#{payDate},#{payer},#{bankDepositDate},#{bankDepositor}
        from business_car_inout t
        where 1=1
        <if test="inTime !=null ">
            and t.in_time= #{inTime}
@@ -76,20 +72,41 @@
        <if test="outTime !=null ">
            and t.out_time= #{outTime}
        </if>
    </insert>
    <!-- 查询进出场信息 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.car_num,t.car_num
        carNum,t.status_cd,t.status_cd statusCd,t.state,t.community_id,t.community_id communityId,t.b_id,t.b_id
        bId,t.out_time,t.out_time outTime,td1.name stateName
        from car_inout t,t_dict td1
        where 1 =1
        and t.state = td1.status_cd
        and td1.table_name = 'car_inout'
        and td1.table_columns = 'state'
        SELECT DISTINCT
        t.in_time,
        t.in_time AS inTime,
        t.inout_id,
        t.inout_id AS inoutId,
        t.car_num,
        t.car_num AS carNum,
        t.status_cd,
        t.status_cd AS statusCd,
        COALESCE(t.state, t.state) AS state,
        t.community_id,
        t.community_id AS communityId,
        t.b_id,
        t.b_id AS bId,
        t.out_time AS outTime,
        t.in_address AS inAddress,
        t.out_address AS outAddress,
        t.parking_duration AS parkingDuration,
        t.pay_date AS payDate,
        t.payer,
        t.bank_deposit_date AS bankDepositDate,
        t.bank_depositor AS bankDepositor,
        COALESCE(td1.name, '未支付') AS stateName,
        t.payment_amount AS money,
        t.create_time  -- 新增排序字段到SELECT列表
        FROM
        car_inout t
        left JOIN
        t_dict td1 ON COALESCE(t.state, t.state) = td1.status_cd
        AND td1.table_name = 'car_inout'
        AND td1.table_columns = 'state'
        <if test="inTime !=null ">
            and t.in_time= #{inTime}
        </if>
@@ -120,13 +137,39 @@
        <if test="outTime !=null ">
            and t.out_time= #{outTime}
        </if>
        <if test="startTime != null and startTime != ''">
            and t.in_time &gt; #{startTime}
        </if>
        <if test="endTime != null and endTime != ''">
            and t.out_time &lt; #{endTime}
        </if>
        <!-- 新增字段的查询条件(可选,根据业务需求添加) -->
        <if test="inAddress !=null and inAddress != ''">
            and t.in_address= #{inAddress}
        </if>
        <if test="outAddress !=null and outAddress != ''">
            and t.out_address= #{outAddress}
        </if>
        <if test="parkingDuration !=null and parkingDuration != ''">
            and t.parking_duration= #{parkingDuration}
        </if>
        <if test="payDate !=null and payDate != ''">
            and t.pay_date= #{payDate}
        </if>
        <if test="payer !=null and payer != ''">
            and t.payer= #{payer}
        </if>
        <if test="bankDepositDate !=null and bankDepositDate != ''">
            and t.bank_deposit_date= #{bankDepositDate}
        </if>
        <if test="bankDepositor !=null and bankDepositor != ''">
            and t.bank_depositor= #{bankDepositor}
        </if>
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <!-- 修改进出场信息 add by wuxw 2018-07-03 -->
    <update id="updateCarInoutInfoInstance" parameterType="Map">
@@ -149,6 +192,28 @@
        <if test="outTime !=null ">
            , t.out_time= #{outTime}
        </if>
        <!-- 新增字段的更新条件 -->
        <if test="inAddress !=null and inAddress != ''">
            , t.in_address= #{inAddress}
        </if>
        <if test="outAddress !=null and outAddress != ''">
            , t.out_address= #{outAddress}
        </if>
        <if test="parkingDuration !=null and parkingDuration != ''">
            , t.parking_duration= #{parkingDuration}
        </if>
        <if test="payDate !=null and payDate != ''">
            , t.pay_date= #{payDate}
        </if>
        <if test="payer !=null and payer != ''">
            , t.payer= #{payer}
        </if>
        <if test="bankDepositDate !=null and bankDepositDate != ''">
            , t.bank_deposit_date= #{bankDepositDate}
        </if>
        <if test="bankDepositor !=null and bankDepositor != ''">
            , t.bank_depositor= #{bankDepositor}
        </if>
        where 1=1
        <if test="inoutId !=null and inoutId != ''">
            and t.inout_id= #{inoutId}
@@ -156,7 +221,6 @@
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
    </update>
    <!-- 查询进出场数量 add by wuxw 2018-07-03 -->
@@ -182,6 +246,9 @@
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
        <if test="merchantId !=null and merchantId != ''">
            and t.merchant_id= #{merchantId}
        </if>
        <if test="states !=null">
            and t.state in
            <foreach collection="states" item="item" index="index" open="(" close=")" separator=",">
@@ -197,8 +264,87 @@
        <if test="outTime !=null ">
            and t.out_time= #{outTime}
        </if>
        <if test="startTime != null and startTime != ''">
            and t.in_time &gt; #{startTime}
        </if>
        <if test="endTime != null and endTime != ''">
            and t.out_time &lt; #{endTime}
        </if>
        <!-- 新增字段的查询条件(可选,根据业务需求添加) -->
        <if test="inAddress !=null and inAddress != ''">
            and t.in_address= #{inAddress}
        </if>
        <if test="outAddress !=null and outAddress != ''">
            and t.out_address= #{outAddress}
        </if>
        <if test="parkingDuration !=null and parkingDuration != ''">
            and t.parking_duration= #{parkingDuration}
        </if>
        <if test="payDate !=null and payDate != ''">
            and t.pay_date= #{payDate}
        </if>
        <if test="payer !=null and payer != ''">
            and t.payer= #{payer}
        </if>
        <if test="bankDepositDate !=null and bankDepositDate != ''">
            and t.bank_deposit_date= #{bankDepositDate}
        </if>
        <if test="bankDepositor !=null and bankDepositor != ''">
            and t.bank_depositor= #{bankDepositor}
        </if>
    </select>
</mapper>
    <insert id="batchInsert">
        INSERT INTO car_inout (
        inout_id,
        b_id,
        community_id,
        car_num,
        vehicle_type,
        payment_amount,
        merchant_id,
        direction,
        state,
        in_time,
        out_time,
        create_time,
        status_cd,
        pa_id,
        in_address,
        out_address,
        parking_duration,
        pay_date,
        payer,
        bank_deposit_date,
        bank_depositor
        ) VALUES
        (
        #{inoutId},
        #{bId},
        #{communityId},
        #{carNum},
        #{vehicleType},
        #{paymentAmount},
        #{merchantId},
        #{direction},
        #{state},
        #{inTime},
        #{outTime},
        <if test="createTime == null">
            #{createTime},
        </if>
        <if test="createTime != null">
            now(),
        </if>
        #{statusCd},
        #{paId},
        #{inAddress},
        #{outAddress},
        #{parkingDuration},
        #{payDate},
        #{payer},
        #{bankDepositDate},
        #{bankDepositor}
        )
    </insert>
</mapper>