|  |  |  | 
|---|
|  |  |  | from st_intake_amount_month | 
|---|
|  |  |  | where id = #{id,jdbcType=BIGINT} | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  | <select id="selectByIntakeIdAndYearAndMonth" resultMap="BaseResultMap"> | 
|---|
|  |  |  | select | 
|---|
|  |  |  | <include refid="Base_Column_List" /> | 
|---|
|  |  |  | from st_intake_amount_month | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | <if test="intakeId != null"> | 
|---|
|  |  |  | and intake_id = #{intakeId,jdbcType=BIGINT} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="year != null"> | 
|---|
|  |  |  | and `year` = #{year,jdbcType=INTEGER} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="month != null"> | 
|---|
|  |  |  | and `month` = #{month,jdbcType=INTEGER} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </where> | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  | <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> | 
|---|
|  |  |  | <!--@mbg.generated--> | 
|---|
|  |  |  | delete from st_intake_amount_month | 
|---|
|  |  |  | 
|---|
|  |  |  | group by intake_id | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 为查询统计取水口日用水量,统计取水口数量 --> | 
|---|
|  |  |  | <select id="selectIntakeCount4AmountMonth" 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="selectIntakes4AmountMonth" resultType="com.dy.pipIrrGlobal.voSt.VoMonthAmount"> | 
|---|
|  |  |  | 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="selectIntakeAmountOfMonth_with"> | 
|---|
|  |  |  | SELECT intaId.intakeId   AS intakeId, | 
|---|
|  |  |  | siam.year          AS `year`, | 
|---|
|  |  |  | siam.month         AS `month`, | 
|---|
|  |  |  | siam.amount        AS amount | 
|---|
|  |  |  | FROM JSON_TABLE( | 
|---|
|  |  |  | #{intakesJson}, | 
|---|
|  |  |  | '$[*]' COLUMNS ( | 
|---|
|  |  |  | intakeId BIGINT PATH '$.intakeId' | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | ) intaId | 
|---|
|  |  |  | INNER JOIN st_intake_amount_month siam ON siam.intake_id = intaId.intakeId | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | <if test="year != null "> | 
|---|
|  |  |  | AND siam.year = #{year, javaType=Integer, jdbcType=INTEGER} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </where> | 
|---|
|  |  |  | </sql> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!--统计指定月份各月用水量(1号到6月)--> | 
|---|
|  |  |  | <select id="selectIntakeAmountOfMonth01_06" resultType="com.dy.pipIrrGlobal.voSt.VoMonthAmount"> | 
|---|
|  |  |  | WITH intakeAmountMonth AS (<include refid="selectIntakeAmountOfMonth_with" />) | 
|---|
|  |  |  | SELECT inta.intakeId     AS intakeId, | 
|---|
|  |  |  | inta.intakeNum    AS intakeNum, | 
|---|
|  |  |  | inta.intakeLng    AS intakeLng, | 
|---|
|  |  |  | inta.intakeLat    AS intakeLat, | 
|---|
|  |  |  | tb01.amount   AS month1, | 
|---|
|  |  |  | tb02.amount   AS month2, | 
|---|
|  |  |  | tb03.amount   AS month3, | 
|---|
|  |  |  | tb04.amount   AS month4, | 
|---|
|  |  |  | tb05.amount   AS month5, | 
|---|
|  |  |  | tb06.amount   AS month6 | 
|---|
|  |  |  | 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 intakeAmountMonth AS tb | 
|---|
|  |  |  | WHERE tb.year = #{year} | 
|---|
|  |  |  | AND tb.month = 1 | 
|---|
|  |  |  | ) as tb01 on tb01.intakeId = inta.intakeId | 
|---|
|  |  |  | LEFT JOIN ( | 
|---|
|  |  |  | SELECT tb.intakeId AS intakeId, | 
|---|
|  |  |  | tb.amount AS amount | 
|---|
|  |  |  | FROM intakeAmountMonth AS tb | 
|---|
|  |  |  | WHERE tb.year = #{year} | 
|---|
|  |  |  | AND tb.month = 2 | 
|---|
|  |  |  | ) as tb02 on tb02.intakeId = inta.intakeId | 
|---|
|  |  |  | LEFT JOIN ( | 
|---|
|  |  |  | SELECT tb.intakeId AS intakeId, | 
|---|
|  |  |  | tb.amount AS amount | 
|---|
|  |  |  | FROM intakeAmountMonth AS tb | 
|---|
|  |  |  | WHERE tb.year = #{year} | 
|---|
|  |  |  | AND tb.month = 3 | 
|---|
|  |  |  | ) as tb03 on tb03.intakeId = inta.intakeId | 
|---|
|  |  |  | LEFT JOIN ( | 
|---|
|  |  |  | SELECT tb.intakeId AS intakeId, | 
|---|
|  |  |  | tb.amount AS amount | 
|---|
|  |  |  | FROM intakeAmountMonth AS tb | 
|---|
|  |  |  | WHERE tb.year = #{year} | 
|---|
|  |  |  | AND tb.month = 4 | 
|---|
|  |  |  | ) as tb04 on tb04.intakeId = inta.intakeId | 
|---|
|  |  |  | LEFT JOIN ( | 
|---|
|  |  |  | SELECT tb.intakeId AS intakeId, | 
|---|
|  |  |  | tb.amount AS amount | 
|---|
|  |  |  | FROM intakeAmountMonth AS tb | 
|---|
|  |  |  | WHERE tb.year = #{year} | 
|---|
|  |  |  | AND tb.month = 5 | 
|---|
|  |  |  | ) as tb05 on tb05.intakeId = inta.intakeId | 
|---|
|  |  |  | LEFT JOIN ( | 
|---|
|  |  |  | SELECT tb.intakeId AS intakeId, | 
|---|
|  |  |  | tb.amount AS amount | 
|---|
|  |  |  | FROM intakeAmountMonth AS tb | 
|---|
|  |  |  | WHERE tb.year = #{year} | 
|---|
|  |  |  | AND tb.month = 6 | 
|---|
|  |  |  | ) as tb06 on tb06.intakeId = inta.intakeId | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!--统计指定月份各月用水量(7号到12月)--> | 
|---|
|  |  |  | <select id="selectIntakeAmountOfMonth07_12" resultType="com.dy.pipIrrGlobal.voSt.VoMonthAmount"> | 
|---|
|  |  |  | WITH intakeAmountMonth AS (<include refid="selectIntakeAmountOfMonth_with" />) | 
|---|
|  |  |  | SELECT inta.intakeId     AS intakeId, | 
|---|
|  |  |  | inta.intakeNum    AS intakeNum, | 
|---|
|  |  |  | inta.intakeLng    AS intakeLng, | 
|---|
|  |  |  | inta.intakeLat    AS intakeLat, | 
|---|
|  |  |  | tb07.amount   AS month7, | 
|---|
|  |  |  | tb08.amount   AS month8, | 
|---|
|  |  |  | tb09.amount   AS month9, | 
|---|
|  |  |  | tb010.amount  AS month10, | 
|---|
|  |  |  | tb011.amount  AS month11, | 
|---|
|  |  |  | tb012.amount  AS month12 | 
|---|
|  |  |  | 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 intakeAmountMonth AS tb | 
|---|
|  |  |  | WHERE tb.year = #{year} | 
|---|
|  |  |  | AND tb.month = 7 | 
|---|
|  |  |  | ) as tb07 on tb07.intakeId = inta.intakeId | 
|---|
|  |  |  | LEFT JOIN ( | 
|---|
|  |  |  | SELECT tb.intakeId AS intakeId, | 
|---|
|  |  |  | tb.amount AS amount | 
|---|
|  |  |  | FROM intakeAmountMonth AS tb | 
|---|
|  |  |  | WHERE tb.year = #{year} | 
|---|
|  |  |  | AND tb.month = 8 | 
|---|
|  |  |  | ) as tb08 on tb08.intakeId = inta.intakeId | 
|---|
|  |  |  | LEFT JOIN ( | 
|---|
|  |  |  | SELECT tb.intakeId AS intakeId, | 
|---|
|  |  |  | tb.amount AS amount | 
|---|
|  |  |  | FROM intakeAmountMonth AS tb | 
|---|
|  |  |  | WHERE tb.year = #{year} | 
|---|
|  |  |  | AND tb.month = 9 | 
|---|
|  |  |  | ) as tb09 on tb09.intakeId = inta.intakeId | 
|---|
|  |  |  | LEFT JOIN ( | 
|---|
|  |  |  | SELECT tb.intakeId AS intakeId, | 
|---|
|  |  |  | tb.amount AS amount | 
|---|
|  |  |  | FROM intakeAmountMonth AS tb | 
|---|
|  |  |  | WHERE tb.year = #{year} | 
|---|
|  |  |  | AND tb.month = 10 | 
|---|
|  |  |  | ) as tb010 on tb010.intakeId = inta.intakeId | 
|---|
|  |  |  | LEFT JOIN ( | 
|---|
|  |  |  | SELECT tb.intakeId AS intakeId, | 
|---|
|  |  |  | tb.amount AS amount | 
|---|
|  |  |  | FROM intakeAmountMonth AS tb | 
|---|
|  |  |  | WHERE tb.year = #{year} | 
|---|
|  |  |  | AND tb.month = 11 | 
|---|
|  |  |  | ) as tb011 on tb011.intakeId = inta.intakeId | 
|---|
|  |  |  | LEFT JOIN ( | 
|---|
|  |  |  | SELECT tb.intakeId AS intakeId, | 
|---|
|  |  |  | tb.amount AS amount | 
|---|
|  |  |  | FROM intakeAmountMonth AS tb | 
|---|
|  |  |  | WHERE tb.year = #{year} | 
|---|
|  |  |  | AND tb.month = 12 | 
|---|
|  |  |  | ) as tb012 on tb012.intakeId = inta.intakeId | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | </mapper> | 
|---|