<?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.RmIntakeAmountDayMapper">
|
<resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmIntakeAmountDay">
|
<!--@mbg.generated-->
|
<!--@Table rm_intake_amount_day-->
|
<id column="id" jdbcType="BIGINT" property="id"/>
|
<result column="intake_id" jdbcType="BIGINT" property="intakeId"/>
|
<result column="dt" jdbcType="DATE" property="dt"/>
|
<result column="amount" jdbcType="DOUBLE" property="amount"/>
|
<result column="money" jdbcType="DOUBLE" property="money" />
|
<result column="times" jdbcType="INTEGER" property="times" />
|
<result column="dt_last" jdbcType="TIMESTAMP" property="dtLast"/>
|
<result column="rtu_addr_last" jdbcType="VARCHAR" property="rtuAddrLast"/>
|
<result column="controller_id_last" jdbcType="BIGINT" property="controllerIdLast"/>
|
<result column="total_amount_last" jdbcType="FLOAT" property="totalAmountLast"/>
|
<result column="rtu_dt_last" jdbcType="TIMESTAMP" property="rtuDtLast"/>
|
</resultMap>
|
<sql id="Base_Column_List">
|
<!--@mbg.generated-->
|
id,
|
intake_id,
|
dt,
|
amount, money, times,
|
dt_last,
|
rtu_addr_last,
|
controller_id_last,
|
total_amount_last,
|
rtu_dt_last
|
</sql>
|
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
|
<!--@mbg.generated-->
|
select
|
<include refid="Base_Column_List"/>
|
from rm_intake_amount_day
|
where id = #{id,jdbcType=BIGINT}
|
</select>
|
<select id="selectByDate" parameterType="java.util.Date" resultMap="BaseResultMap">
|
<!--@mbg.generated-->
|
select
|
<include refid="Base_Column_List"/>
|
from rm_intake_amount_day
|
where dt = #{dt,jdbcType=DATE}
|
</select>
|
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
|
<!--@mbg.generated-->
|
delete
|
from rm_intake_amount_day
|
where id = #{id,jdbcType=BIGINT}
|
</delete>
|
<insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmIntakeAmountDay">
|
<!--@mbg.generated-->
|
insert into rm_intake_amount_day (id, intake_id, dt,
|
amount, money, times, dt_last,
|
rtu_addr_last, controller_id_last, total_amount_last,
|
rtu_dt_last)
|
values (#{id,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, #{dt,jdbcType=DATE},
|
#{amount,jdbcType=DOUBLE}, #{money,jdbcType=DOUBLE}, #{times,jdbcType=INTEGER}, #{dtLast,jdbcType=TIMESTAMP},
|
#{rtuAddrLast,jdbcType=VARCHAR}, #{controllerIdLast,jdbcType=BIGINT}, #{totalAmountLast,jdbcType=FLOAT},
|
#{rtuDtLast,jdbcType=TIMESTAMP})
|
</insert>
|
<insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmIntakeAmountDay">
|
<!--@mbg.generated-->
|
insert into rm_intake_amount_day
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<if test="id != null">
|
id,
|
</if>
|
<if test="intakeId != null">
|
intake_id,
|
</if>
|
<if test="dt != null">
|
dt,
|
</if>
|
<if test="amount != null">
|
amount,
|
</if>
|
<if test="money != null">
|
money,
|
</if>
|
<if test="times != null">
|
times,
|
</if>
|
<if test="dtLast != null">
|
dt_last,
|
</if>
|
<if test="rtuAddrLast != null">
|
rtu_addr_last,
|
</if>
|
<if test="controllerIdLast != null">
|
controller_id_last,
|
</if>
|
<if test="totalAmountLast != null">
|
total_amount_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="intakeId != null">
|
#{intakeId,jdbcType=BIGINT},
|
</if>
|
<if test="dt != null">
|
#{dt,jdbcType=DATE},
|
</if>
|
<if test="amount != null">
|
#{amount,jdbcType=DOUBLE},
|
</if>
|
<if test="money != null">
|
#{money,jdbcType=DOUBLE},
|
</if>
|
<if test="times != null">
|
#{times,jdbcType=INTEGER},
|
</if>
|
<if test="dtLast != null">
|
#{dtLast,jdbcType=TIMESTAMP},
|
</if>
|
<if test="rtuAddrLast != null">
|
#{rtuAddrLast,jdbcType=VARCHAR},
|
</if>
|
<if test="controllerIdLast != null">
|
#{controllerIdLast,jdbcType=BIGINT},
|
</if>
|
<if test="totalAmountLast != null">
|
#{totalAmountLast,jdbcType=FLOAT},
|
</if>
|
<if test="rtuDtLast != null">
|
#{rtuDtLast,jdbcType=TIMESTAMP},
|
</if>
|
</trim>
|
</insert>
|
<update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmIntakeAmountDay">
|
<!--@mbg.generated-->
|
update rm_intake_amount_day
|
<set>
|
<if test="intakeId != null">
|
intake_id = #{intakeId,jdbcType=BIGINT},
|
</if>
|
<if test="dt != null">
|
dt = #{dt,jdbcType=DATE},
|
</if>
|
<if test="amount != null">
|
amount = #{amount,jdbcType=DOUBLE},
|
</if>
|
<if test="money != null">
|
money = #{money,jdbcType=DOUBLE},
|
</if>
|
<if test="times != null">
|
times = #{times,jdbcType=INTEGER},
|
</if>
|
<if test="dtLast != null">
|
dt_last = #{dtLast,jdbcType=TIMESTAMP},
|
</if>
|
<if test="rtuAddrLast != null">
|
rtu_addr_last = #{rtuAddrLast,jdbcType=VARCHAR},
|
</if>
|
<if test="controllerIdLast != null">
|
controller_id_last = #{controllerIdLast,jdbcType=BIGINT},
|
</if>
|
<if test="totalAmountLast != null">
|
total_amount_last = #{totalAmountLast,jdbcType=FLOAT},
|
</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.RmIntakeAmountDay">
|
<!--@mbg.generated-->
|
update rm_intake_amount_day
|
set intake_id = #{intakeId,jdbcType=BIGINT},
|
dt = #{dt,jdbcType=DATE},
|
amount = #{amount,jdbcType=DOUBLE},
|
money = #{money,jdbcType=DOUBLE},
|
times = #{times,jdbcType=INTEGER},
|
dt_last = #{dtLast,jdbcType=TIMESTAMP},
|
rtu_addr_last = #{rtuAddrLast,jdbcType=VARCHAR},
|
controller_id_last = #{controllerIdLast,jdbcType=BIGINT},
|
total_amount_last = #{totalAmountLast,jdbcType=FLOAT},
|
rtu_dt_last = #{rtuDtLast,jdbcType=TIMESTAMP}
|
where id = #{id,jdbcType=BIGINT}
|
</update>
|
<!--根据指定条件获取记录总数-->
|
<select id="getRecordCount" resultType="java.lang.Long">
|
select count(*)
|
from rm_intake_amount_day riad
|
Left join pr_intake pint on pint.id = riad.intake_id
|
<where>
|
<if test="intakeId != null and intakeId != ''">
|
and riad.intake_id = #{intakeId}
|
</if>
|
<if test="intakeName != null and intakeName != ''">
|
and pint.name like CONCAT('%', #{intakeName,jdbcType=VARCHAR}, '%')
|
</if>
|
<if test="startDt != null">
|
and riad.dt >= #{startDt,jdbcType=DATE}
|
</if>
|
<if test="endDt != null">
|
and riad.dt <= #{endDt,jdbcType=DATE}
|
</if>
|
</where>
|
</select>
|
<!--根据指定条件获取记录-->
|
<select id="getIntakeAmountDayHistory" resultType="com.dy.pipIrrGlobal.voRm.VoIntakeAmountDay">
|
select CAST(riad.intake_id AS char) AS intakeId,
|
pint.name as intakeName,
|
riad.dt as dt,
|
riad.amount as amount,
|
riad.money as money,
|
riad.times as times,
|
riad.dt_last as dtLast,
|
riad.rtu_addr_last as rtuAddrLast,
|
CAST(riad.controller_id_last AS char) AS controllerIdLast,
|
riad.total_amount_last as totalAmountLast,
|
riad.rtu_dt_last as rtuDtLast
|
from rm_intake_amount_day riad
|
Left join pr_intake pint on pint.id = riad.intake_id
|
<where>
|
<if test="intakeId != null and intakeId != ''">
|
and riad.intake_id = #{intakeId}
|
</if>
|
<if test="intakeName != null and intakeName != ''">
|
and pint.name like CONCAT('%', #{intakeName,jdbcType=VARCHAR}, '%')
|
</if>
|
<if test="startDt != null">
|
and riad.dt >= #{startDt,jdbcType=DATE}
|
</if>
|
<if test="endDt != null">
|
and riad.dt <= #{endDt,jdbcType=DATE}
|
</if>
|
</where>
|
ORDER BY riad.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="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}
|
group by intake_id
|
</select>
|
|
<!--指定月份各天用水量记录数量-->
|
<select id="getDayIntakeAmountCount" resultType="java.lang.Long">
|
SELECT COUNT(*) AS recordCount
|
FROM pr_intake inta
|
<where>
|
AND inta.deleted = 0
|
<if test="intakeNum != null and intakeNum != ''">
|
AND inta.name = #{intakeNum}
|
</if>
|
</where>
|
</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_last 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_last 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_last 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_last 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_last 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_last 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_last 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_last 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_last 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_last 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_last 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_last 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_last 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_last 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_last 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_last 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_last 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_last 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_last 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_last 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_last 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_last 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_last 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_last 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_last 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_last 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_last 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_last 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_last 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_last 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_last 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>
|
AND inta.deleted = 0
|
<if test="intakeNum != null and intakeNum != ''">
|
AND inta.name = #{intakeNum}
|
</if>
|
</where>
|
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>
|
|
<!--统计指定年份各月用水量记录数量-->
|
<select id="getMonthIntakeAmountCount" resultType="java.lang.Long">
|
SELECT COUNT(*) AS recordCount
|
FROM pr_intake inta
|
<where>
|
AND inta.deleted = 0
|
<if test="intakeNum != null and intakeNum != ''">
|
AND inta.name = #{intakeNum}
|
</if>
|
</where>
|
</select>
|
|
<!--统计指定年份各月用水量-->
|
<select id="getMonthIntakeAmount" resultType="com.dy.pipIrrGlobal.voSt.VoMonthAmount">
|
SELECT inta.id AS intakeId,
|
inta.name AS intakeNum,
|
IFNULL((SELECT SUM(amount) AS amount
|
FROM rm_intake_amount_day_last intaDay
|
WHERE intaDay.intake_id = inta.id
|
AND YEAR(intaDay.dt) = #{year}
|
AND MONTH(intaDay.dt) = 1
|
GROUP BY(intaDay.intake_id)), 0) AS month1,
|
IFNULL((SELECT SUM(amount) AS amount
|
FROM rm_intake_amount_day_last intaDay
|
WHERE intaDay.intake_id = inta.id
|
AND YEAR(intaDay.dt) = #{year}
|
AND MONTH(intaDay.dt) = 2
|
GROUP BY(intaDay.intake_id)), 0) AS month2,
|
IFNULL((SELECT SUM(amount) AS amount
|
FROM rm_intake_amount_day_last intaDay
|
WHERE intaDay.intake_id = inta.id
|
AND YEAR(intaDay.dt) = #{year}
|
AND MONTH(intaDay.dt) = 3
|
GROUP BY(intaDay.intake_id)), 0) AS month3,
|
IFNULL((SELECT SUM(amount) AS amount
|
FROM rm_intake_amount_day_last intaDay
|
WHERE intaDay.intake_id = inta.id
|
AND YEAR(intaDay.dt) = #{year}
|
AND MONTH(intaDay.dt) = 4
|
GROUP BY(intaDay.intake_id)), 0) AS month4,
|
IFNULL((SELECT SUM(amount) AS amount
|
FROM rm_intake_amount_day_last intaDay
|
WHERE intaDay.intake_id = inta.id
|
AND YEAR(intaDay.dt) = #{year}
|
AND MONTH(intaDay.dt) = 5
|
GROUP BY(intaDay.intake_id)), 0) AS month5,
|
IFNULL((SELECT SUM(amount) AS amount
|
FROM rm_intake_amount_day_last intaDay
|
WHERE intaDay.intake_id = inta.id
|
AND YEAR(intaDay.dt) = #{year}
|
AND MONTH(intaDay.dt) = 6
|
GROUP BY(intaDay.intake_id)), 0) AS month6,
|
IFNULL((SELECT SUM(amount) AS amount
|
FROM rm_intake_amount_day_last intaDay
|
WHERE intaDay.intake_id = inta.id
|
AND YEAR(intaDay.dt) = #{year}
|
AND MONTH(intaDay.dt) = 7
|
GROUP BY(intaDay.intake_id)), 0) AS month7,
|
IFNULL((SELECT SUM(amount) AS amount
|
FROM rm_intake_amount_day_last intaDay
|
WHERE intaDay.intake_id = inta.id
|
AND YEAR(intaDay.dt) = #{year}
|
AND MONTH(intaDay.dt) = 8
|
GROUP BY(intaDay.intake_id)), 0) AS month8,
|
IFNULL((SELECT SUM(amount) AS amount
|
FROM rm_intake_amount_day_last intaDay
|
WHERE intaDay.intake_id = inta.id
|
AND YEAR(intaDay.dt) = #{year}
|
AND MONTH(intaDay.dt) = 9
|
GROUP BY(intaDay.intake_id)), 0) AS month9,
|
IFNULL((SELECT SUM(amount) AS amount
|
FROM rm_intake_amount_day_last intaDay
|
WHERE intaDay.intake_id = inta.id
|
AND YEAR(intaDay.dt) = #{year}
|
AND MONTH(intaDay.dt) = 10
|
GROUP BY(intaDay.intake_id)), 0) AS month10,
|
IFNULL((SELECT SUM(amount) AS amount
|
FROM rm_intake_amount_day_last intaDay
|
WHERE intaDay.intake_id = inta.id
|
AND YEAR(intaDay.dt) = #{year}
|
AND MONTH(intaDay.dt) = 11
|
GROUP BY(intaDay.intake_id)), 0) AS month11,
|
IFNULL((SELECT SUM(amount) AS amount
|
FROM rm_intake_amount_day_last intaDay
|
WHERE intaDay.intake_id = inta.id
|
AND YEAR(intaDay.dt) = #{year}
|
AND MONTH(intaDay.dt) = 12
|
GROUP BY(intaDay.intake_id)), 0) AS month12
|
FROM pr_intake inta
|
<where>
|
AND inta.deleted = 0
|
<if test="intakeNum != null and intakeNum != ''">
|
AND inta.name = #{intakeNum}
|
</if>
|
</where>
|
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>
|
|
|
|
|
<!-- 为查询统计取水口日漏损量,统计取水口数量 -->
|
<select id="selectIntakeCount4AmountDay" resultType="java.lang.Long">
|
SELECT COUNT(*)
|
FROM pr_intake tb
|
<where>
|
AND tb.deleted != 1
|
<if test="intakeNum != null and intakeNum != ''">
|
AND tb.name = #{intakeNum}
|
</if>
|
</where>
|
</select>
|
|
<!-- 为查询统计取水口日漏损量,查询一页取水口ID -->
|
<select id="selectIntakes4AmountDay" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount">
|
SELECT id as intakeId,
|
name as intakeNum,
|
lat as intakeLat,
|
lng as intakeLng
|
FROM pr_intake
|
<where>
|
AND deleted != 1
|
<if test="intakeNum != null and intakeNum != ''">
|
AND name = #{intakeNum}
|
</if>
|
</where>
|
order by 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>
|
|
<sql id="selectIntakeAmountOfDay_with">
|
SELECT intaId.intakeId AS intakeId,
|
riad.dt AS dt,
|
riad.amount AS amount
|
FROM JSON_TABLE(
|
#{intakesJson},
|
'$[*]' COLUMNS (
|
intakeId BIGINT PATH '$.intakeId'
|
)
|
) intaId
|
INNER JOIN rm_intake_amount_day riad ON riad.intake_id = intaId.intakeId
|
<where>
|
<if test="startDt != null ">
|
AND riad.dt <![CDATA[>=]]> #{startDt, javaType=DATE, jdbcType=DATE}
|
</if>
|
<if test="endDt != null ">
|
AND riad.dt <![CDATA[<=]]> #{endDt, javaType=DATE, jdbcType=DATE}
|
</if>
|
</where>
|
</sql>
|
|
<!--统计指定月份各天取水量(1号到5号)-->
|
<select id="selectIntakeAmountOfDay01_05" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount">
|
WITH intakeAmountDay AS (<include refid="selectIntakeAmountOfDay_with"/>)
|
SELECT inta.intakeId AS intakeId,
|
inta.intakeNum AS intakeNum,
|
inta.intakeLng AS intakeLng,
|
inta.intakeLat AS intakeLat,
|
tb01.amount AS amount1,
|
tb02.amount AS amount2,
|
tb03.amount AS amount3,
|
tb04.amount AS amount4,
|
tb05.amount AS amount5
|
FROM JSON_TABLE(
|
#{intakesJson},
|
'$[*]' COLUMNS (
|
intakeId BIGINT PATH '$.intakeId',
|
intakeNum VARCHAR(100) PATH '$.intakeNum',
|
intakeLng DOUBLE PATH '$.intakeLng',
|
intakeLat DOUBLE PATH '$.intakeLat'
|
)
|
) inta
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 1
|
) as tb01 on tb01.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 2
|
) as tb02 on tb02.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 3
|
) as tb03 on tb03.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 4
|
) as tb04 on tb04.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 5
|
) as tb05 on tb05.intakeId = inta.intakeId
|
</select>
|
|
|
<!--统计指定月份各天取水量(6号到10号)-->
|
<select id="selectIntakeAmountOfDay06_10" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount">
|
WITH intakeAmountDay AS (<include refid="selectIntakeAmountOfDay_with"/>)
|
SELECT inta.intakeId AS intakeId,
|
inta.intakeNum AS intakeNum,
|
inta.intakeLng AS intakeLng,
|
inta.intakeLat AS intakeLat,
|
tb06.amount AS amount6,
|
tb07.amount AS amount7,
|
tb08.amount AS amount8,
|
tb09.amount AS amount9,
|
tb10.amount AS amount10
|
FROM JSON_TABLE(
|
#{intakesJson},
|
'$[*]' COLUMNS (
|
intakeId BIGINT PATH '$.intakeId',
|
intakeNum VARCHAR(100) PATH '$.intakeNum',
|
intakeLng DOUBLE PATH '$.intakeLng',
|
intakeLat DOUBLE PATH '$.intakeLat'
|
)
|
) inta
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 6
|
) as tb06 on tb06.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 7
|
) as tb07 on tb07.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 8
|
) as tb08 on tb08.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 9
|
) as tb09 on tb09.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 10
|
) as tb10 on tb10.intakeId = inta.intakeId
|
</select>
|
|
<!--统计指定月份各天取水量(11号到15号)-->
|
<select id="selectIntakeAmountOfDay11_15" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount">
|
WITH intakeAmountDay AS (<include refid="selectIntakeAmountOfDay_with"/>)
|
SELECT inta.intakeId AS intakeId,
|
inta.intakeNum AS intakeNum,
|
inta.intakeLng AS intakeLng,
|
inta.intakeLat AS intakeLat,
|
tb11.amount AS amount11,
|
tb12.amount AS amount12,
|
tb13.amount AS amount13,
|
tb14.amount AS amount14,
|
tb15.amount AS amount15
|
FROM JSON_TABLE(
|
#{intakesJson},
|
'$[*]' COLUMNS (
|
intakeId BIGINT PATH '$.intakeId',
|
intakeNum VARCHAR(100) PATH '$.intakeNum',
|
intakeLng DOUBLE PATH '$.intakeLng',
|
intakeLat DOUBLE PATH '$.intakeLat'
|
)
|
) inta
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 11
|
) as tb11 on tb11.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 12
|
) as tb12 on tb12.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 13
|
) as tb13 on tb13.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 14
|
) as tb14 on tb14.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 15
|
) as tb15 on tb15.intakeId = inta.intakeId
|
</select>
|
|
<!--统计指定月份各天取水量(20号到16号)-->
|
<select id="selectIntakeAmountOfDay16_20" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount">
|
WITH intakeAmountDay AS (<include refid="selectIntakeAmountOfDay_with"/>)
|
SELECT inta.intakeId AS intakeId,
|
inta.intakeNum AS intakeNum,
|
inta.intakeLng AS intakeLng,
|
inta.intakeLat AS intakeLat,
|
tb16.amount AS amount16,
|
tb17.amount AS amount17,
|
tb18.amount AS amount18,
|
tb19.amount AS amount19,
|
tb20.amount AS amount20
|
FROM JSON_TABLE(
|
#{intakesJson},
|
'$[*]' COLUMNS (
|
intakeId BIGINT PATH '$.intakeId',
|
intakeNum VARCHAR(100) PATH '$.intakeNum',
|
intakeLng DOUBLE PATH '$.intakeLng',
|
intakeLat DOUBLE PATH '$.intakeLat'
|
)
|
) inta
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 16
|
) as tb16 on tb16.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 17
|
) as tb17 on tb17.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 18
|
) as tb18 on tb18.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 19
|
) as tb19 on tb19.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 20
|
) as tb20 on tb20.intakeId = inta.intakeId
|
</select>
|
|
<!--统计指定月份各天取水量(21号到25号)-->
|
<select id="selectIntakeAmountOfDay21_25" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount">
|
WITH intakeAmountDay AS (<include refid="selectIntakeAmountOfDay_with"/>)
|
SELECT inta.intakeId AS intakeId,
|
inta.intakeNum AS intakeNum,
|
inta.intakeLng AS intakeLng,
|
inta.intakeLat AS intakeLat,
|
tb21.amount AS amount21,
|
tb22.amount AS amount22,
|
tb23.amount AS amount23,
|
tb24.amount AS amount24,
|
tb25.amount AS amount25
|
FROM JSON_TABLE(
|
#{intakesJson},
|
'$[*]' COLUMNS (
|
intakeId BIGINT PATH '$.intakeId',
|
intakeNum VARCHAR(100) PATH '$.intakeNum',
|
intakeLng DOUBLE PATH '$.intakeLng',
|
intakeLat DOUBLE PATH '$.intakeLat'
|
)
|
) inta
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 21
|
) as tb21 on tb21.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 22
|
) as tb22 on tb22.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 23
|
) as tb23 on tb23.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 24
|
) as tb24 on tb24.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 25
|
) as tb25 on tb25.intakeId = inta.intakeId
|
</select>
|
|
<!--统计指定月份各天取水量(26号到31号)-->
|
<select id="selectIntakeAmountOfDay26_31" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount">
|
WITH intakeAmountDay AS (<include refid="selectIntakeAmountOfDay_with"/>)
|
SELECT inta.intakeId AS intakeId,
|
inta.intakeNum AS intakeNum,
|
inta.intakeLng AS intakeLng,
|
inta.intakeLat AS intakeLat,
|
tb26.amount AS amount26,
|
tb27.amount AS amount27,
|
tb28.amount AS amount28,
|
tb29.amount AS amount29,
|
tb30.amount AS amount30,
|
tb31.amount AS amount31
|
FROM JSON_TABLE(
|
#{intakesJson},
|
'$[*]' COLUMNS (
|
intakeId BIGINT PATH '$.intakeId',
|
intakeNum VARCHAR(100) PATH '$.intakeNum',
|
intakeLng DOUBLE PATH '$.intakeLng',
|
intakeLat DOUBLE PATH '$.intakeLat'
|
)
|
) inta
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 26
|
) as tb26 on tb26.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 27
|
) as tb27 on tb27.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 28
|
) as tb28 on tb28.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 29
|
) as tb29 on tb29.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 30
|
) as tb30 on tb30.intakeId = inta.intakeId
|
LEFT JOIN (
|
SELECT tb.intakeId AS intakeId,
|
tb.amount AS amount
|
FROM intakeAmountDay AS tb
|
WHERE YEAR(tb.dt) = #{year}
|
AND MONTH(tb.dt) = #{month}
|
AND DAY(tb.dt) = 31
|
) as tb31 on tb31.intakeId = inta.intakeId
|
</select>
|
|
<!--指定时间段用水量超过指定值的取水口数量-->
|
<select id="getUseWaterGtValueIntakesCount" resultType="java.lang.Long">
|
select
|
count(*)
|
from (
|
SELECT
|
SUM(riad.amount) AS value
|
FROM
|
pr_intake inta
|
INNER JOIN ba_block blo ON blo.id = inta.blockId
|
INNER JOIN rm_intake_amount_day riad ON riad.intake_id = inta.id
|
WHERE inta.deleted = 0 and riad.dt >= #{timeStart} AND riad.dt <= #{timeStop}
|
GROUP BY inta.id
|
HAVING value > #{value}
|
) c
|
</select>
|
<!--指定时间段用水量超过指定值的取水口-->
|
<select id="getUseWaterGtValueIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAccumulateAmount">
|
SELECT
|
inta.id AS intakeId,
|
inta.NAME AS intakeNum,
|
inta.lng AS lng,
|
inta.lat AS lat,
|
blo.NAME AS blockName ,
|
SUM(riad.amount) AS value
|
FROM
|
pr_intake inta
|
INNER JOIN ba_block blo ON blo.id = inta.blockId
|
INNER JOIN rm_intake_amount_day riad ON riad.intake_id = inta.id
|
WHERE inta.deleted = 0 and riad.dt >= #{timeStart} AND riad.dt <= #{timeStop}
|
GROUP BY inta.id
|
HAVING value > #{value}
|
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>
|
<!--指定时间段内消费金额超过指定值的取水口的数量-->
|
<select id="getExpenseGtValueIntakesCount" resultType="java.lang.Long">
|
select
|
count(*)
|
from (
|
SELECT
|
SUM(riad.money) AS value
|
FROM
|
pr_intake inta
|
INNER JOIN ba_block blo ON blo.id = inta.blockId
|
INNER JOIN rm_intake_amount_day riad ON riad.intake_id = inta.id
|
WHERE inta.deleted = 0 and riad.dt >= #{timeStart} AND riad.dt <= #{timeStop}
|
GROUP BY inta.id
|
HAVING value > #{value}
|
) c
|
</select>
|
<!--指定时间段内消费金额超过指定值的取水口-->
|
<select id="getExpenseGtValueIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAccumulateAmount">
|
SELECT
|
inta.id AS intakeId,
|
inta.NAME AS intakeNum,
|
inta.lng AS lng,
|
inta.lat AS lat,
|
blo.NAME AS blockName ,
|
SUM(riad.money) AS value
|
FROM
|
pr_intake inta
|
INNER JOIN ba_block blo ON blo.id = inta.blockId
|
INNER JOIN rm_intake_amount_day riad ON riad.intake_id = inta.id
|
WHERE inta.deleted = 0 and riad.dt >= #{timeStart} AND riad.dt <= #{timeStop}
|
GROUP BY inta.id
|
HAVING value > #{value}
|
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>
|
<!--指定时间段内取水次数超过指定值的取水口的数量-->
|
<select id="getUseWaterTimesGtValueIntakesCount" resultType="java.lang.Long">
|
select
|
count(*)
|
from (
|
SELECT
|
SUM(riad.times) AS valueInt
|
FROM
|
pr_intake inta
|
INNER JOIN ba_block blo ON blo.id = inta.blockId
|
INNER JOIN rm_intake_amount_day riad ON riad.intake_id = inta.id
|
WHERE inta.deleted = 0 and riad.dt >= #{timeStart} AND riad.dt <= #{timeStop}
|
GROUP BY inta.id
|
HAVING valueInt > #{value}
|
) c
|
</select>
|
<!--指定时间段内取水次数超过指定值的取水口-->
|
<select id="getUseWaterTimesGtValueIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAccumulateAmount">
|
SELECT
|
inta.id AS intakeId,
|
inta.NAME AS intakeNum,
|
inta.lng AS lng,
|
inta.lat AS lat,
|
blo.NAME AS blockName ,
|
SUM(riad.times) AS valueInt
|
FROM
|
pr_intake inta
|
INNER JOIN ba_block blo ON blo.id = inta.blockId
|
INNER JOIN rm_intake_amount_day riad ON riad.intake_id = inta.id
|
WHERE inta.deleted = 0 and riad.dt >= #{timeStart} AND riad.dt <= #{timeStop}
|
GROUP BY inta.id
|
HAVING valueInt > #{value}
|
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>
|