liurunyu
2024-07-25 7af935e6a092193adf309f3a2d700f049b4b63d8
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayMapper.xml
@@ -24,6 +24,14 @@
    from rm_loss_day
    where id = #{id,jdbcType=BIGINT}
  </select>
  <select id="selectByIntakeId" parameterType="java.lang.Long" resultMap="BaseResultMap">
    <!--@mbg.generated-->
    select
    <include refid="Base_Column_List" />
    from rm_loss_day
    where intake_id = #{intakeId,jdbcType=BIGINT}
  </select>
  <select id="selectByDate" parameterType="java.util.Date" resultMap="BaseResultMap">
    <!--@mbg.generated-->
    select
@@ -141,12 +149,57 @@
      loss_amount = #{lossAmount,jdbcType=DOUBLE}
    where id = #{id,jdbcType=BIGINT}
  </update>
  <!--根据指定条件获取记录总数-->
  <select id="getRecordCount" resultType="java.lang.Long">
    select count(*)
    from rm_loss_day rld
    Left join pr_intake pint on pint.id = rld.intake_id
    <where>
      <if test="intakeName != null">
        and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%')
      </if>
      <if test="startDt != null">
        and rld.dt &gt;= #{startDt,jdbcType=DATE}
      </if>
      <if test="endDt != null">
        and rld.dt &lt;= #{endDt,jdbcType=DATE}
      </if>
    </where>
  </select>
  <!--根据指定条件获取记录-->
  <select id="getLossDayHistory" resultType="com.dy.pipIrrGlobal.voRm.VoLossDay">
    select
    CAST(rld.intake_id AS char)AS intakeId,
    CAST(rld.controller_id AS char)AS controllerId,
    pint.name as intakeName,
    rld.rtu_addr as rtuAddr,
    rld.dt as dt,
    rld.dt_last as dtLast,
    rld.dt_rtu as dtRtu,
    rld.loss_amount as lossAmount
    from rm_loss_day rld
    Left join pr_intake pint on pint.id = rld.intake_id
    <where>
      <if test="intakeName != null">
        and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%')
      </if>
      <if test="startDt != null">
        and rld.dt &gt;= #{startDt,jdbcType=DATE}
      </if>
      <if test="endDt != null">
        and rld.dt &lt;= #{endDt,jdbcType=DATE}
      </if>
    </where>
    ORDER BY rld.id DESC
    <if test="pageCurr != null and pageSize != null">
      LIMIT ${(pageCurr-1)*pageSize}, ${pageSize}
    </if>
  </select>
  <select id="statisticsByIntake" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeLossStatistics">
    select intake_id, sum(loss_amount) as amount
    select intake_id, sum(loss_amount) amount
    from rm_loss_day
    where id <![CDATA[>=]]> #{startId,jdbcType=BIGINT} and id <![CDATA[<]]> #{endId,jdbcType=BIGINT}
    group by intake_id
  </select>
</mapper>