zhubaomin
2024-08-08 9c5e4aa959de194407b7c42f9bd165c862668120
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayMapper.xml
@@ -16,7 +16,14 @@
  </resultMap>
  <sql id="Base_Column_List">
    <!--@mbg.generated-->
    id, intake_id, dt, amount, dt_last, rtu_addr_last, controller_id_last, total_amount_last,
        id,
        intake_id,
        dt,
        amount,
        dt_last,
        rtu_addr_last,
        controller_id_last,
        total_amount_last,
    rtu_dt_last
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
@@ -35,7 +42,8 @@
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
    <!--@mbg.generated-->
    delete from rm_intake_amount_day
        delete
        from rm_intake_amount_day
    where id = #{id,jdbcType=BIGINT}
  </delete>
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmIntakeAmountDay">
@@ -162,7 +170,7 @@
    Left join pr_intake pint on pint.id = riad.intake_id
    <where>
      <if test="intakeId != null and intakeId != '' ">
        and rash.intake_id = #{intakeId}
                and riad.intake_id = #{intakeId}
      </if>
      <if test="intakeName != null and intakeName != '' ">
        and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%')
@@ -177,8 +185,7 @@
    </select>
  <!--根据指定条件获取记录-->
  <select id="getIntakeAmountDayHistory" resultType="com.dy.pipIrrGlobal.voRm.VoIntakeAmountDay">
    select
    CAST(riad.intake_id AS char)AS intakeId,
        select CAST(riad.intake_id AS char)          AS intakeId,
    pint.name as intakeName,
    riad.dt as dt,
    riad.amount as amount,
@@ -191,7 +198,7 @@
    Left join pr_intake pint on pint.id = riad.intake_id
    <where>
      <if test="intakeId != null and intakeId != '' ">
        and rash.intake_id = #{intakeId}
                and riad.intake_id = #{intakeId}
      </if>
      <if test="intakeName != null and intakeName != '' ">
        and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%')
@@ -204,16 +211,229 @@
      </if>
    </where>
    ORDER BY riad.id DESC
    <if test="pageCurr != null and pageSize != null">
      LIMIT ${(pageCurr-1)*pageSize}, ${pageSize}
<!--        <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="statisticsByIntake" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAmountStatistics">
    select intake_id, sum(amount) amount
    from rm_intake_amount_day
    where id <![CDATA[>=]]> #{startId, jdbcType=BIGINT} and id <![CDATA[<]]> #{endId, jdbcType=BIGINT}
        where id <![CDATA[>=]]> #{startId, jdbcType=BIGINT}
          and id <![CDATA[<]]> #{endId, jdbcType=BIGINT}
    group by intake_id
  </select>
    <!--指定月份各天用水量记录数量-->
    <select id="getDayIntakeAmountCount" resultType="java.lang.Long">
        SELECT COUNT(*) AS recordCount
        FROM pr_intake inta
        WHERE inta.deleted = 0
    </select>
    <!--统计指定月份各天用水量-->
    <select id="getDayIntakeAmount" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount">
        SELECT inta.id                                 AS intakeId,
               inta.name                               AS intakeNum,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 1), 0)  AS amount1,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 2), 0)  AS amount2,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 3), 0)  AS amount3,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 4), 0)  AS amount4,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 5), 0)  AS amount5,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 6), 0)  AS amount6,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 7), 0)  AS amount7,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 8), 0)  AS amount8,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 9), 0)  AS amount9,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 10), 0) AS amount10,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 11), 0) AS amount11,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 12), 0) AS amount12,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 13), 0) AS amount13,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 14), 0) AS amount14,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 15), 0) AS amount15,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 16), 0) AS amount16,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 17), 0) AS amount17,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 18), 0) AS amount18,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 19), 0) AS amount19,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 20), 0) AS amount20,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 21), 0) AS amount21,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 22), 0) AS amount22,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 23), 0) AS amount23,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 24), 0) AS amount24,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 25), 0) AS amount25,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 26), 0) AS amount26,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 27), 0) AS amount27,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 28), 0) AS amount28,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 29), 0) AS amount29,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 30), 0) AS amount30,
               IFNULL((SELECT IFNULL(amount, 0)
                       FROM rm_intake_amount_day intaDay
                       WHERE intaDay.intake_id = inta.id
                         AND YEAR(intaDay.dt) = #{year}
                         AND MONTH(intaDay.dt) = #{month}
                         AND DAY(intaDay.dt) = 31), 0) AS amount31
        FROM pr_intake inta
        WHERE inta.deleted = 0
        ORDER BY inta.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>