yanghb
2023-04-21 0481353111afb43a2322e18530dde26f1d841ead
ManagementTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TPubWithdrawalMapper.xml
@@ -47,109 +47,5 @@
        </where>
        order by o.id desc
    </select>
    <select id="getReportWithdrawalList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
        SELECT * FROM (SELECT
        case when pw.userType = 1 then uu.nickName when pw.userType = 2 then dd.`name` else '' end as userName,
        case when pw.userType = 1 then uu.phone when pw.userType = 2 then dd.phone else '' end as userPhone,
        pw.*
        FROM t_pub_withdrawal as pw
        LEFT JOIN t_user as uu on uu.id = pw.userId
        LEFT JOIN t_driver as dd on dd.id = pw.userId) as o
        <where>
            o.flag != 3 and userType=2 and state=2
            <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
                AND (o.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
            </if>
            <if test="userId != null and userId != ''">
                and find_in_set(userId, #{userId})
            </if>
        </where>
        order by o.id desc
    </select>
    <select id="getReportWithdrawalListEx" resultType="map">
        SELECT * FROM (SELECT
        case when pw.userType = 1 then uu.nickName when pw.userType = 2 then dd.`name` else '' end as userName,
        case when pw.userType = 1 then uu.phone when pw.userType = 2 then dd.phone else '' end as userPhone,
        pw.*
        FROM t_pub_withdrawal as pw
        LEFT JOIN t_user as uu on uu.id = pw.userId
        LEFT JOIN t_driver as dd on dd.id = pw.userId) as o
        <where>
            o.flag != 3 and userType=2 and state=2
            <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
                AND (o.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
            </if>
            <if test="userId != null and userId != ''">
                and find_in_set(userId, #{userId})
            </if>
        </where>
        order by o.id desc
    </select>
    <select id="getSumMoney" resultType="map">
        SELECT SUM(money) money,SUM(realGetMoney) realGetMoney FROM t_pub_withdrawal WHERE
        flag != 3 and userType=2 and state=2
        <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
            AND (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
        </if>
        <if test="userId != null and userId != ''">
            and find_in_set(userId, #{userId})
        </if>
    </select>
    <select id="orderWithdrawalDetailsList" resultType="map">
        select
        a.id,
        DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as insertTime,
        b.`name`,
        a.money,
        (a.balance - a.money) as balance,
        (a.money - a.realGetMoney) as poundage
        from t_pub_withdrawal a
        left join t_driver b on (a.userType = 2 and a.userId = b.id)
        where a.flag != 3 and a.state = 2 and a.userType = 2
        <if test="null != type">
            and a.type = #{type}
        </if>
        <if test="null != companyId">
            and b.companyId = #{companyId}
        </if>
        <if test="null != driverName and '' != driverName">
            and b.`name` like CONCAT('%', #{driverName}, '%')
        </if>
        <if test="null != driverPhone and '' != driverPhone">
            and b.phone like CONCAT('%', #{driverPhone}, '%')
        </if>
        <if test="null != startTime and '' != startTime and null != endTime and '' != endTime">
            and a.insertTime between #{startTime} and #{endTime}
        </if>
        order by a.insertTime desc
        <if test="null != offset and null != limit">
            limit #{offset}, #{limit}
        </if>
    </select>
    <select id="orderWithdrawalDetailsListCount" resultType="int">
        select
        count(1)
        from t_pub_withdrawal a
        left join t_driver b on (a.userType = 2 and a.userId = b.id)
        where a.flag != 3 and a.state = 2 and a.userType = 2
        <if test="null != type">
            and a.type = #{type}
        </if>
        <if test="null != companyId">
            and b.companyId = #{companyId}
        </if>
        <if test="null != driverName and '' != driverName">
            and b.`name` like CONCAT('%', #{driverName}, '%')
        </if>
        <if test="null != driverPhone and '' != driverPhone">
            and b.phone like CONCAT('%', #{driverPhone}, '%')
        </if>
        <if test="null != startTime and '' != startTime and null != endTime and '' != endTime">
            and a.insertTime between #{startTime} and #{endTime}
        </if>
    </select>
</mapper>