liurunyu
2024-10-24 3a6ac2949244e6a3f70e165cd3802f1d90b78819
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmClientAmountDayLastMapper.xml
@@ -1,191 +1,887 @@
<?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.daoRm.RmClientAmountDayLastMapper">
  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmClientAmountDayLast">
    <!--@mbg.generated-->
    <!--@Table rm_client_amount_day_last-->
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="last_history_id" jdbcType="BIGINT" property="lastHistoryId" />
    <result column="client_id" jdbcType="BIGINT" property="clientId" />
    <result column="amount" jdbcType="FLOAT" property="amount" />
    <result column="money" jdbcType="FLOAT" property="money" />
    <result column="dt" jdbcType="DATE" property="dt" />
    <result column="open_dt_last" jdbcType="TIMESTAMP" property="openDtLast" />
    <result column="close_dt_last" jdbcType="TIMESTAMP" property="closeDtLast" />
    <result column="this_amount_last" jdbcType="FLOAT" property="thisAmountLast" />
    <result column="this_money_last" jdbcType="FLOAT" property="thisMoneyLast" />
    <result column="this_time_last" jdbcType="INTEGER" property="thisTimeLast" />
    <result column="rtu_dt_last" jdbcType="TIMESTAMP" property="rtuDtLast" />
  </resultMap>
  <sql id="Base_Column_List">
    <!--@mbg.generated-->
    id, last_history_id, client_id, amount, money, dt, open_dt_last, close_dt_last, this_amount_last,
    this_money_last, this_time_last, rtu_dt_last
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
    <!--@mbg.generated-->
    select
    <include refid="Base_Column_List" />
    from rm_client_amount_day_last
    where id = #{id,jdbcType=BIGINT}
  </select>
  <select id="selectByClientId" parameterType="java.lang.Long" resultMap="BaseResultMap">
    <!--@mbg.generated-->
    select
    <include refid="Base_Column_List" />
    from rm_client_amount_day_last
    where client_id = #{ClientId,jdbcType=BIGINT}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
    <!--@mbg.generated-->
    delete from rm_client_amount_day_last
    where id = #{id,jdbcType=BIGINT}
  </delete>
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmClientAmountDayLast">
    <!--@mbg.generated-->
    insert into rm_client_amount_day_last (id, last_history_id, client_id,
      amount, money, dt, open_dt_last,
      close_dt_last, this_amount_last, this_money_last,
      this_time_last, rtu_dt_last)
    values (#{id,jdbcType=BIGINT}, #{lastHistoryId,jdbcType=BIGINT}, #{clientId,jdbcType=BIGINT},
    #{amount,jdbcType=FLOAT}, #{money,jdbcType=FLOAT}, #{dt,jdbcType=DATE}, #{openDtLast,jdbcType=TIMESTAMP},
      #{closeDtLast,jdbcType=TIMESTAMP}, #{thisAmountLast,jdbcType=FLOAT}, #{thisMoneyLast,jdbcType=FLOAT},
      #{thisTimeLast,jdbcType=INTEGER}, #{rtuDtLast,jdbcType=TIMESTAMP})
  </insert>
  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmClientAmountDayLast">
    <!--@mbg.generated-->
    insert into rm_client_amount_day_last
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
    <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmClientAmountDayLast">
        <!--@mbg.generated-->
        <!--@Table rm_client_amount_day_last-->
        <id column="id" jdbcType="BIGINT" property="id"/>
        <result column="last_history_id" jdbcType="BIGINT" property="lastHistoryId"/>
        <result column="client_id" jdbcType="BIGINT" property="clientId"/>
        <result column="amount" jdbcType="FLOAT" property="amount"/>
        <result column="money" jdbcType="FLOAT" property="money"/>
        <result column="dt" jdbcType="DATE" property="dt"/>
        <result column="open_dt_last" jdbcType="TIMESTAMP" property="openDtLast"/>
        <result column="close_dt_last" jdbcType="TIMESTAMP" property="closeDtLast"/>
        <result column="this_amount_last" jdbcType="FLOAT" property="thisAmountLast"/>
        <result column="this_money_last" jdbcType="FLOAT" property="thisMoneyLast"/>
        <result column="this_time_last" jdbcType="INTEGER" property="thisTimeLast"/>
        <result column="rtu_dt_last" jdbcType="TIMESTAMP" property="rtuDtLast"/>
    </resultMap>
    <sql id="Base_Column_List">
        <!--@mbg.generated-->
        id,
      </if>
      <if test="lastHistoryId != null">
        last_history_id,
      </if>
      <if test="clientId != null">
        client_id,
      </if>
      <if test="amount != null">
        amount,
      </if>
      <if test="money != null">
        money,
      </if>
      <if test="dt != null">
        dt,
      </if>
      <if test="openDtLast != null">
        open_dt_last,
      </if>
      <if test="closeDtLast != null">
        close_dt_last,
      </if>
      <if test="thisAmountLast != null">
        this_amount_last,
      </if>
      <if test="thisMoneyLast != null">
        this_money_last,
      </if>
      <if test="thisTimeLast != null">
        this_time_last,
      </if>
      <if test="rtuDtLast != null">
        rtu_dt_last,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=BIGINT},
      </if>
      <if test="lastHistoryId != null">
        #{lastHistoryId,jdbcType=BIGINT},
      </if>
      <if test="clientId != null">
        #{clientId,jdbcType=BIGINT},
      </if>
      <if test="amount != null">
        #{amount,jdbcType=FLOAT},
      </if>
      <if test="money != null">
        #{money,jdbcType=FLOAT},
      </if>
      <if test="dt != null">
        #{dt,jdbcType=DATE},
      </if>
      <if test="openDtLast != null">
        #{openDtLast,jdbcType=TIMESTAMP},
      </if>
      <if test="closeDtLast != null">
        #{closeDtLast,jdbcType=TIMESTAMP},
      </if>
      <if test="thisAmountLast != null">
        #{thisAmountLast,jdbcType=FLOAT},
      </if>
      <if test="thisMoneyLast != null">
        #{thisMoneyLast,jdbcType=FLOAT},
      </if>
      <if test="thisTimeLast != null">
        #{thisTimeLast,jdbcType=INTEGER},
      </if>
      <if test="rtuDtLast != null">
        #{rtuDtLast,jdbcType=TIMESTAMP},
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmClientAmountDayLast">
    <!--@mbg.generated-->
    update rm_client_amount_day_last
    <set>
      <if test="lastHistoryId != null">
        last_history_id = #{lastHistoryId,jdbcType=BIGINT},
      </if>
      <if test="clientId != null">
        client_id = #{clientId,jdbcType=BIGINT},
      </if>
      <if test="amount != null">
        amount = #{amount,jdbcType=FLOAT},
      </if>
      <if test="money != null">
        money = #{money,jdbcType=FLOAT},
      </if>
      <if test="dt != null">
        dt = #{dt,jdbcType=DATE},
      </if>
      <if test="openDtLast != null">
        open_dt_last = #{openDtLast,jdbcType=TIMESTAMP},
      </if>
      <if test="closeDtLast != null">
        close_dt_last = #{closeDtLast,jdbcType=TIMESTAMP},
      </if>
      <if test="thisAmountLast != null">
        this_amount_last = #{thisAmountLast,jdbcType=FLOAT},
      </if>
      <if test="thisMoneyLast != null">
        this_money_last = #{thisMoneyLast,jdbcType=FLOAT},
      </if>
      <if test="thisTimeLast != null">
        this_time_last = #{thisTimeLast,jdbcType=INTEGER},
      </if>
      <if test="rtuDtLast != null">
        rtu_dt_last = #{rtuDtLast,jdbcType=TIMESTAMP},
      </if>
    </set>
    where id = #{id,jdbcType=BIGINT}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmClientAmountDayLast">
    <!--@mbg.generated-->
    update rm_client_amount_day_last
    set last_history_id = #{lastHistoryId,jdbcType=BIGINT},
      client_id = #{clientId,jdbcType=BIGINT},
      amount = #{amount,jdbcType=FLOAT},
      money = #{money,jdbcType=FLOAT},
      dt = #{dt,jdbcType=DATE},
      open_dt_last = #{openDtLast,jdbcType=TIMESTAMP},
      close_dt_last = #{closeDtLast,jdbcType=TIMESTAMP},
      this_amount_last = #{thisAmountLast,jdbcType=FLOAT},
      this_money_last = #{thisMoneyLast,jdbcType=FLOAT},
      this_time_last = #{thisTimeLast,jdbcType=INTEGER},
      rtu_dt_last = #{rtuDtLast,jdbcType=TIMESTAMP}
    where id = #{id,jdbcType=BIGINT}
  </update>
        rtu_dt_last
    </sql>
    <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
        <!--@mbg.generated-->
        select
        <include refid="Base_Column_List"/>
        from rm_client_amount_day_last
        where id = #{id,jdbcType=BIGINT}
    </select>
    <select id="selectByClientId" parameterType="java.lang.Long" resultMap="BaseResultMap">
        <!--@mbg.generated-->
        select
        <include refid="Base_Column_List"/>
        from rm_client_amount_day_last
        where client_id = #{ClientId,jdbcType=BIGINT}
    </select>
    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
        <!--@mbg.generated-->
        delete
        from rm_client_amount_day_last
        where id = #{id,jdbcType=BIGINT}
    </delete>
    <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmClientAmountDayLast">
        <!--@mbg.generated-->
        insert into rm_client_amount_day_last (id, last_history_id, client_id,
                                               amount, money, dt, open_dt_last,
                                               close_dt_last, this_amount_last, this_money_last,
                                               this_time_last, rtu_dt_last)
        values (#{id,jdbcType=BIGINT}, #{lastHistoryId,jdbcType=BIGINT}, #{clientId,jdbcType=BIGINT},
                #{amount,jdbcType=FLOAT}, #{money,jdbcType=FLOAT}, #{dt,jdbcType=DATE},
                #{openDtLast,jdbcType=TIMESTAMP},
                #{closeDtLast,jdbcType=TIMESTAMP}, #{thisAmountLast,jdbcType=FLOAT}, #{thisMoneyLast,jdbcType=FLOAT},
                #{thisTimeLast,jdbcType=INTEGER}, #{rtuDtLast,jdbcType=TIMESTAMP})
    </insert>
    <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmClientAmountDayLast">
        <!--@mbg.generated-->
        insert into rm_client_amount_day_last
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">
                id,
            </if>
            <if test="lastHistoryId != null">
                last_history_id,
            </if>
            <if test="clientId != null">
                client_id,
            </if>
            <if test="amount != null">
                amount,
            </if>
            <if test="money != null">
                money,
            </if>
            <if test="dt != null">
                dt,
            </if>
            <if test="openDtLast != null">
                open_dt_last,
            </if>
            <if test="closeDtLast != null">
                close_dt_last,
            </if>
            <if test="thisAmountLast != null">
                this_amount_last,
            </if>
            <if test="thisMoneyLast != null">
                this_money_last,
            </if>
            <if test="thisTimeLast != null">
                this_time_last,
            </if>
            <if test="rtuDtLast != null">
                rtu_dt_last,
            </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">
                #{id,jdbcType=BIGINT},
            </if>
            <if test="lastHistoryId != null">
                #{lastHistoryId,jdbcType=BIGINT},
            </if>
            <if test="clientId != null">
                #{clientId,jdbcType=BIGINT},
            </if>
            <if test="amount != null">
                #{amount,jdbcType=FLOAT},
            </if>
            <if test="money != null">
                #{money,jdbcType=FLOAT},
            </if>
            <if test="dt != null">
                #{dt,jdbcType=DATE},
            </if>
            <if test="openDtLast != null">
                #{openDtLast,jdbcType=TIMESTAMP},
            </if>
            <if test="closeDtLast != null">
                #{closeDtLast,jdbcType=TIMESTAMP},
            </if>
            <if test="thisAmountLast != null">
                #{thisAmountLast,jdbcType=FLOAT},
            </if>
            <if test="thisMoneyLast != null">
                #{thisMoneyLast,jdbcType=FLOAT},
            </if>
            <if test="thisTimeLast != null">
                #{thisTimeLast,jdbcType=INTEGER},
            </if>
            <if test="rtuDtLast != null">
                #{rtuDtLast,jdbcType=TIMESTAMP},
            </if>
        </trim>
    </insert>
    <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmClientAmountDayLast">
        <!--@mbg.generated-->
        update rm_client_amount_day_last
        <set>
            <if test="lastHistoryId != null">
                last_history_id = #{lastHistoryId,jdbcType=BIGINT},
            </if>
            <if test="clientId != null">
                client_id = #{clientId,jdbcType=BIGINT},
            </if>
            <if test="amount != null">
                amount = #{amount,jdbcType=FLOAT},
            </if>
            <if test="money != null">
                money = #{money,jdbcType=FLOAT},
            </if>
            <if test="dt != null">
                dt = #{dt,jdbcType=DATE},
            </if>
            <if test="openDtLast != null">
                open_dt_last = #{openDtLast,jdbcType=TIMESTAMP},
            </if>
            <if test="closeDtLast != null">
                close_dt_last = #{closeDtLast,jdbcType=TIMESTAMP},
            </if>
            <if test="thisAmountLast != null">
                this_amount_last = #{thisAmountLast,jdbcType=FLOAT},
            </if>
            <if test="thisMoneyLast != null">
                this_money_last = #{thisMoneyLast,jdbcType=FLOAT},
            </if>
            <if test="thisTimeLast != null">
                this_time_last = #{thisTimeLast,jdbcType=INTEGER},
            </if>
            <if test="rtuDtLast != null">
                rtu_dt_last = #{rtuDtLast,jdbcType=TIMESTAMP},
            </if>
        </set>
        where id = #{id,jdbcType=BIGINT}
    </update>
    <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmClientAmountDayLast">
        <!--@mbg.generated-->
        update rm_client_amount_day_last
        set last_history_id  = #{lastHistoryId,jdbcType=BIGINT},
            client_id        = #{clientId,jdbcType=BIGINT},
            amount           = #{amount,jdbcType=FLOAT},
            money            = #{money,jdbcType=FLOAT},
            dt               = #{dt,jdbcType=DATE},
            open_dt_last     = #{openDtLast,jdbcType=TIMESTAMP},
            close_dt_last    = #{closeDtLast,jdbcType=TIMESTAMP},
            this_amount_last = #{thisAmountLast,jdbcType=FLOAT},
            this_money_last  = #{thisMoneyLast,jdbcType=FLOAT},
            this_time_last   = #{thisTimeLast,jdbcType=INTEGER},
            rtu_dt_last      = #{rtuDtLast,jdbcType=TIMESTAMP}
        where id = #{id,jdbcType=BIGINT}
    </update>
    <!--根据指定条件获取记录总数-->
    <select id="getRecordCount" resultType="java.lang.Long">
        select count(*)
        from rm_client_amount_day_last rcadl
                 Left join se_client sc on sc.id = rcadl.client_id
        <where>
            <if test="clientName != null and clientName != ''">
                and sc.name like CONCAT('%', #{clientName,jdbcType=VARCHAR}, '%')
            </if>
            <if test="clientId != null and clientId != ''">
                and rcadl.client_id = #{clientId}
            </if>
            <if test="startDt != null">
                and rcadl.dt &gt;= #{startDt,jdbcType=DATE}
            </if>
            <if test="endDt != null">
                and rcadl.dt &lt;= #{endDt,jdbcType=DATE}
            </if>
        </where>
    </select>
    <!--根据指定条件获取记录-->
    <select id="getClientAmountDayLast" resultType="com.dy.pipIrrGlobal.voRm.VoClientAmountDay">
        select CAST(rcadl.client_id AS char) AS clientId,
               rcadl.amount                  as amount,
               rcadl.money                   as money,
               rcadl.dt                      as dt,
               rcadl.open_dt_last            as openDtLast,
               rcadl.close_dt_last           as closeDtLast,
               rcadl.this_amount_last        as thisAmountLast,
               rcadl.this_money_last         as thisMoneyLast,
               rcadl.this_time_last          as thisTimeLast,
               rcadl.rtu_dt_last             as rtuDtLast,
               sc.name                       as clientName
        from rm_client_amount_day_last rcadl
                 Left join se_client sc on sc.id = rcadl.client_id
        <where>
            <if test="clientName != null and clientName != ''">
                and sc.name like CONCAT('%', #{clientName,jdbcType=VARCHAR}, '%')
            </if>
            <if test="clientId != null and clientId != ''">
                and rcadl.client_id = #{clientId}
            </if>
            <if test="startDt != null">
                and rcadl.dt &gt;= #{startDt,jdbcType=DATE}
            </if>
            <if test="endDt != null">
                and rcadl.dt &lt;= #{endDt,jdbcType=DATE}
            </if>
        </where>
        ORDER BY rcadl.id DESC
        <!--        <if test="pageCurr != null and pageSize != null">-->
        <!--            LIMIT ${(pageCurr-1)*pageSize}, ${pageSize}-->
        <!--        </if>-->
        <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="getDayAmountAndMoneyCount" resultType="java.lang.Long">
        SELECT COUNT(*) AS recordCount
        FROM se_client cli
        <where>
            <if test="clientName != null and clientName != ''">
                AND cli.name = #{clientName}
            </if>
        </where>
    </select>
    <!--统计指定月份各农户各天用水量及消费金额-->
    <select id="getDayAmountAndMoney" resultType="com.dy.pipIrrGlobal.voSt.VoDayClient">
        SELECT cli.id                                    AS clientId,
               cli.name                                  AS clientName,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 1), 0)  AS amount1,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 1), 0)  AS money1,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 2), 0)  AS amount2,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 2), 0)  AS money2,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 3), 0)  AS amount3,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 3), 0)  AS money3,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 4), 0)  AS amount4,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 4), 0)  AS money4,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 5), 0)  AS amount5,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 5), 0)  AS money5,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 6), 0)  AS amount6,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 6), 0)  AS money6,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 7), 0)  AS amount7,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 7), 0)  AS money7,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 8), 0)  AS amount8,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 8), 0)  AS money8,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 9), 0)  AS amount9,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 9), 0)  AS money9,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 10), 0) AS amount10,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 10), 0) AS money10,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 11), 0) AS amount11,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 11), 0) AS money11,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 12), 0) AS amount12,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 12), 0) AS money12,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 13), 0) AS amount13,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 13), 0) AS money13,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 14), 0) AS amount14,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 14), 0) AS money14,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 15), 0) AS amount15,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 15), 0) AS money15,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 16), 0) AS amount16,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 16), 0) AS money16,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 17), 0) AS amount17,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 17), 0) AS money17,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 18), 0) AS amount18,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 18), 0) AS money18,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 19), 0) AS amount19,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 19), 0) AS money19,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 20), 0) AS amount20,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 20), 0) AS money20,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 21), 0) AS amount21,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 21), 0) AS money21,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 22), 0) AS amount22,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 22), 0) AS money22,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 23), 0) AS amount23,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 23), 0) AS money23,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 24), 0) AS amount24,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 24), 0) AS money24,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 25), 0) AS amount25,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 25), 0) AS money25,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 26), 0) AS amount26,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 26), 0) AS money26,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 27), 0) AS amount27,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 27), 0) AS money27,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 28), 0) AS amount28,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 28), 0) AS money28,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 29), 0) AS amount29,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 29), 0) AS money29,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 30), 0) AS amount30,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 30), 0) AS money30,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 31), 0) AS amount31,
               IFNULL((SELECT IFNULL(money, 0)
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = #{month}
                         AND DAY(clientDay.dt) = 31), 0) AS money31
        FROM se_client cli
        <where>
            <if test="clientName != null and clientName != ''">
                AND cli.name = #{clientName}
            </if>
        </where>
        ORDER BY cli.id
        <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="getMonthAmountAndMoneyCount" resultType="java.lang.Long">
        SELECT COUNT(*) AS recordCount
        FROM se_client cli
        <where>
            <if test="clientName != null and clientName != ''">
                AND cli.name = #{clientName}
            </if>
        </where>
    </select>
    <!--统计指定年份各农户各月用水量及消费金额-->
    <select id="getMonthAmountAndMoney" resultType="com.dy.pipIrrGlobal.voSt.VoMonthClient">
        SELECT cli.id                                     AS clientId,
               cli.name                                   AS clientName,
               IFNULL((SELECT SUM(amount) AS amount
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = 1
                       GROUP BY(clientDay.client_id)), 0) AS amount1,
               IFNULL((SELECT SUM(money) AS amount
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = 1
                       GROUP BY(clientDay.client_id)), 0) AS money1,
               IFNULL((SELECT SUM(amount) AS amount
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = 2
                       GROUP BY(clientDay.client_id)), 0) AS amount2,
               IFNULL((SELECT SUM(money) AS amount
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = 2
                       GROUP BY(clientDay.client_id)), 0) AS money2,
               IFNULL((SELECT SUM(amount) AS amount
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = 3
                       GROUP BY(clientDay.client_id)), 0) AS amount3,
               IFNULL((SELECT SUM(money) AS amount
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = 3
                       GROUP BY(clientDay.client_id)), 0) AS money3,
               IFNULL((SELECT SUM(amount) AS amount
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = 4
                       GROUP BY(clientDay.client_id)), 0) AS amount4,
               IFNULL((SELECT SUM(money) AS amount
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = 4
                       GROUP BY(clientDay.client_id)), 0) AS money4,
               IFNULL((SELECT SUM(amount) AS amount
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = 5
                       GROUP BY(clientDay.client_id)), 0) AS amount5,
               IFNULL((SELECT SUM(money) AS amount
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = 5
                       GROUP BY(clientDay.client_id)), 0) AS money5,
               IFNULL((SELECT SUM(amount) AS amount
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = 6
                       GROUP BY(clientDay.client_id)), 0) AS amount6,
               IFNULL((SELECT SUM(money) AS amount
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = 6
                       GROUP BY(clientDay.client_id)), 0) AS money6,
               IFNULL((SELECT SUM(amount) AS amount
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = 7
                       GROUP BY(clientDay.client_id)), 0) AS amount7,
               IFNULL((SELECT SUM(money) AS amount
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = 7
                       GROUP BY(clientDay.client_id)), 0) AS money7,
               IFNULL((SELECT SUM(amount) AS amount
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = 8
                       GROUP BY(clientDay.client_id)), 0) AS amount8,
               IFNULL((SELECT SUM(money) AS amount
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = 8
                       GROUP BY(clientDay.client_id)), 0) AS money8,
               IFNULL((SELECT SUM(amount) AS amount
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = 9
                       GROUP BY(clientDay.client_id)), 0) AS amount9,
               IFNULL((SELECT SUM(money) AS amount
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = 9
                       GROUP BY(clientDay.client_id)), 0) AS money9,
               IFNULL((SELECT SUM(amount) AS amount
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = 10
                       GROUP BY(clientDay.client_id)), 0) AS amount10,
               IFNULL((SELECT SUM(money) AS amount
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = 10
                       GROUP BY(clientDay.client_id)), 0) AS money10,
               IFNULL((SELECT SUM(amount) AS amount
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = 11
                       GROUP BY(clientDay.client_id)), 0) AS amount11,
               IFNULL((SELECT SUM(money) AS amount
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = 11
                       GROUP BY(clientDay.client_id)), 0) AS money11,
               IFNULL((SELECT SUM(amount) AS amount
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = 12
                       GROUP BY(clientDay.client_id)), 0) AS amount12,
               IFNULL((SELECT SUM(money) AS amount
                       FROM rm_client_amount_day_last clientDay
                       WHERE clientDay.client_id = cli.id
                         AND YEAR(clientDay.dt) = #{year}
                         AND MONTH(clientDay.dt) = 12
                       GROUP BY(clientDay.client_id)), 0) AS money12
        FROM se_client cli
        <where>
            <if test="clientName != null and clientName != ''">
                AND cli.name = #{clientName}
            </if>
        </where>
        ORDER BY cli.id
        <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="getNotRechargeLastClientsCount" resultType="java.lang.Long">
        SELECT COUNT(*)
        FROM
        (        SELECT
        sc.id    AS clientId,
        sc.`name`   AS clientName,
        sc.clientNum  AS clientNum,
        sc.address   AS address,
        sc.phone    AS phone,
        sc.idCard   AS idCard
        FROM
        se_client sc
        LEFT JOIN (SELECT srh.clientId FROM `se_recharge_history` srh
        <where>
            srh.amount > 0 AND srh.operate_valid = 2
            <if test="timeStart != null and timeStart != ''">
                AND srh.operateDt > #{timeStart}
            </if>
        </where>
        ) c on c.clientId = sc.id
        WHERE c.clientId IS NULL
        GROUP BY sc.id) d
    </select>
    <!--最近未充值的农户-->
    <select id="getNotRechargeLastClients" resultType="com.dy.pipIrrGlobal.voSt.VoClient">
        SELECT
        sc.id    AS clientId,
        sc.`name`   AS clientName,
        sc.clientNum  AS clientNum,
        sc.address   AS address,
        sc.phone    AS phone,
        sc.idCard   AS idCard
        FROM
            se_client sc
                LEFT JOIN (SELECT srh.clientId FROM `se_recharge_history` srh
        <where>
            srh.amount > 0 AND srh.operate_valid = 2
            <if test="timeStart != null and timeStart != ''">
                AND srh.operateDt > #{timeStart}
            </if>
        </where>
        ) c on c.clientId = sc.id
        WHERE c.clientId IS NULL
        GROUP BY sc.id
        <trim prefix="limit ">
            <if test="start != null and count != null">
                #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
            </if>
        </trim>
    </select>
</mapper>