| | |
| | | <?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="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, 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, 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}, #{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"> |
| | | <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, |
| | | </if> |
| | | <if test="intakeId != null"> |
| | | intake_id, |
| | | </if> |
| | | <if test="dt != null"> |
| | | dt, |
| | | </if> |
| | | <if test="amount != null"> |
| | | amount, |
| | | </if> |
| | | <if test="dtLast != null"> |
| | | amount, money, times, |
| | | 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="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="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}, |
| | | 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> |
| | | 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> |