zhubaomin
2025-04-07 ecef3df4890be54c1da2a8a4fc1c8c1f50f1c263
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SpecialMapper.xml
New file
@@ -0,0 +1,132 @@
<?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.dy.pipIrrGlobal.daoSpecial.SpecialMapper">
    <select id="selectStealTotal" parameterType="java.util.Map" resultType="java.lang.Long">
        select
        count(*)
        from rm_open_close_valve_history mTb
        left join pr_intake piTb on piTb.id = mTb.intake_id
        left join se_client scTb on scTb.id = mTb.client_id
        where mTb.cl_this_money = 0.0
        <trim prefix="and" suffixOverrides="and">
            <if test = "duration != null">
                mTb.cl_this_time > #{duration, javaType=INTEGER, jdbcType=INTEGER} and
            </if>
           <if test = "fromDate != null">
                mTb.cl_dt <![CDATA[>=]]> #{fromDate, javaType=DATE, jdbcType=TIMESTAMP} and
            </if>
            <if test = "intakeNum != null and intakeNum != '' ">
                piTb.name = #{intakeNum, jdbcType=VARCHAR} and
            </if>
            <if test = "clientNum != null and clientNum != '' ">
                scTb.clientNum = #{clientNum, jdbcType=VARCHAR} and
            </if>
            <if test = "clientName != null and clientName != '' ">
                scTb.name = #{clientName, jdbcType=VARCHAR} and
            </if>
        </trim>
    </select>
    <select id="selectStealSome" parameterType="java.util.Map" resultType="com.dy.pipIrrGlobal.voSpecial.VoSteal">
        select mTb.id as id, mTb.intake_id as intakeId, mTb.client_id as clientId,
        piTb.name as intakeNum, piTb.lng as intakeLng, piTb.lat as intakeLat,
        scTb.name as clientName, scTb.clientNum as clientNum,
        mTb.op_dt as openDt, mTb.op_type as opType, mTb.op_total_amount as openTotalAmount, mTb.op_remain_money as openRemainMoney,
        mTb.cl_dt as closeDt, mTb.cl_type as clType, mTb.cl_total_amount as closeTotalAmount, mTb.cl_remain_money as closeRemainMoney,
        mTb.cl_this_amount as thisAmount, mTb.cl_this_money as thisMoney, mTb.cl_this_time as thisTime
        from rm_open_close_valve_history mTb
        left join pr_intake piTb on piTb.id = mTb.intake_id
        left join se_client scTb on scTb.id = mTb.client_id
        where mTb.cl_this_money = 0.0
        <trim prefix="and" suffixOverrides="and">
            <if test = "duration != null">
                mTb.cl_this_time > #{duration, javaType=INTEGER, jdbcType=INTEGER} and
            </if>
            <if test = "fromDate != null">
                mTb.cl_dt <![CDATA[>=]]> #{fromDate, javaType=DATE, jdbcType=TIMESTAMP} and
            </if>
            <if test = "intakeNum != null and intakeNum != '' ">
                piTb.name = #{intakeNum, jdbcType=VARCHAR} and
            </if>
            <if test = "clientNum != null and clientNum != '' ">
                scTb.clientNum = #{clientNum, jdbcType=VARCHAR} and
            </if>
            <if test = "clientName != null and clientName != '' ">
                scTb.name = #{clientName, jdbcType=VARCHAR} and
            </if>
        </trim>
        order by mTb.id DESC
        <trim prefix="limit " >
            <if test="start != null and count != null">
                #{start,javaType=Integer, jdbcType=INTEGER}, #{count,javaType=Integer, jdbcType=INTEGER}
            </if>
        </trim>
    </select>
    <select id="selectAbnormalCloseValveTotal" parameterType="java.util.Map" resultType="java.lang.Long">
        select
        count(*)
        from rm_open_close_valve_history mTb
        left join pr_intake piTb on piTb.id = mTb.intake_id
        left join se_client scTb on scTb.id = mTb.client_id
        where mTb.cl_type != 2
        <trim prefix="and" suffixOverrides="and">
            <if test = "atDateStart != null">
                mTb.cl_dt <![CDATA[>=]]> #{atDateStart, javaType=DATE, jdbcType=TIMESTAMP} and
            </if>
            <if test = "atDateEnd != null">
                mTb.cl_dt <![CDATA[<=]]> #{atDateEnd, javaType=DATE, jdbcType=TIMESTAMP} and
            </if>
            <if test = "intakeNum != null and intakeNum != '' ">
                piTb.name = #{intakeNum, jdbcType=VARCHAR} and
            </if>
            <if test = "clientNum != null and clientNum != '' ">
                scTb.clientNum = #{clientNum, jdbcType=VARCHAR} and
            </if>
            <if test = "clientName != null and clientName != '' ">
                scTb.name = #{clientName, jdbcType=VARCHAR} and
            </if>
        </trim>
    </select>
    <select id="selectAbnormalCloseValveSome" parameterType="java.util.Map" resultType="com.dy.pipIrrGlobal.voSpecial.VoAbnormalCloseValve">
        select mTb.id as id, mTb.intake_id as intakeId, mTb.client_id as clientId,
        piTb.name as intakeNum, piTb.lng as intakeLng, piTb.lat as intakeLat,
        scTb.name as clientName, scTb.clientNum as clientNum,
        mTb.op_dt as openDt, mTb.op_type as opType, mTb.op_total_amount as openTotalAmount, mTb.op_remain_money as openRemainMoney,
        mTb.cl_dt as closeDt, mTb.cl_type as clType, mTb.cl_total_amount as closeTotalAmount, mTb.cl_remain_money as closeRemainMoney,
        mTb.cl_this_amount as thisAmount, mTb.cl_this_money as thisMoney, mTb.cl_this_time as thisTime
        from rm_open_close_valve_history mTb
        left join pr_intake piTb on piTb.id = mTb.intake_id
        left join se_client scTb on scTb.id = mTb.client_id
        where mTb.cl_type != 2
        <trim prefix="and" suffixOverrides="and">
            <if test = "atDateStart != null">
                mTb.cl_dt <![CDATA[>=]]> #{atDateStart, javaType=DATE, jdbcType=TIMESTAMP} and
            </if>
            <if test = "atDateEnd != null">
                mTb.cl_dt <![CDATA[<=]]> #{atDateEnd, javaType=DATE, jdbcType=TIMESTAMP} and
            </if>
            <if test = "intakeNum != null and intakeNum != '' ">
                piTb.name = #{intakeNum, jdbcType=VARCHAR} and
            </if>
            <if test = "clientNum != null and clientNum != '' ">
                scTb.clientNum = #{clientNum, jdbcType=VARCHAR} and
            </if>
            <if test = "clientName != null and clientName != '' ">
                scTb.name = #{clientName, jdbcType=VARCHAR} and
            </if>
        </trim>
        order by mTb.id DESC
        <trim prefix="limit " >
            <if test="start != null and count != null">
                #{start,javaType=Integer, jdbcType=INTEGER}, #{count,javaType=Integer, jdbcType=INTEGER}
            </if>
        </trim>
    </select>
</mapper>