| New file | 
 |  |  | 
 |  |  | <?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.daoSt.StIntakeAmountMonthMapper"> | 
 |  |  |   <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoSt.StIntakeAmountMonth"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     <!--@Table st_intake_amount_month--> | 
 |  |  |     <id column="id" jdbcType="BIGINT" property="id" /> | 
 |  |  |     <result column="intake_id" jdbcType="BIGINT" property="intakeId" /> | 
 |  |  |     <result column="year" jdbcType="INTEGER" property="year" /> | 
 |  |  |     <result column="month" jdbcType="INTEGER" property="month" /> | 
 |  |  |     <result column="amount" jdbcType="FLOAT" property="amount" /> | 
 |  |  |   </resultMap> | 
 |  |  |   <sql id="Base_Column_List"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     id, intake_id, `year`, `month`, amount | 
 |  |  |   </sql> | 
 |  |  |   <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     select  | 
 |  |  |     <include refid="Base_Column_List" /> | 
 |  |  |     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 | 
 |  |  |     where id = #{id,jdbcType=BIGINT} | 
 |  |  |   </delete> | 
 |  |  |   <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSt.StIntakeAmountMonth"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     insert into st_intake_amount_month (id, intake_id, `year`,  | 
 |  |  |       `month`, amount) | 
 |  |  |     values (#{id,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, #{year,jdbcType=INTEGER},  | 
 |  |  |       #{month,jdbcType=INTEGER}, #{amount,jdbcType=FLOAT}) | 
 |  |  |   </insert> | 
 |  |  |   <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSt.StIntakeAmountMonth"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     insert into st_intake_amount_month | 
 |  |  |     <trim prefix="(" suffix=")" suffixOverrides=","> | 
 |  |  |       <if test="id != null"> | 
 |  |  |         id, | 
 |  |  |       </if> | 
 |  |  |       <if test="intakeId != null"> | 
 |  |  |         intake_id, | 
 |  |  |       </if> | 
 |  |  |       <if test="year != null"> | 
 |  |  |         `year`, | 
 |  |  |       </if> | 
 |  |  |       <if test="month != null"> | 
 |  |  |         `month`, | 
 |  |  |       </if> | 
 |  |  |       <if test="amount != null"> | 
 |  |  |         amount, | 
 |  |  |       </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="year != null"> | 
 |  |  |         #{year,jdbcType=INTEGER}, | 
 |  |  |       </if> | 
 |  |  |       <if test="month != null"> | 
 |  |  |         #{month,jdbcType=INTEGER}, | 
 |  |  |       </if> | 
 |  |  |       <if test="amount != null"> | 
 |  |  |         #{amount,jdbcType=FLOAT}, | 
 |  |  |       </if> | 
 |  |  |     </trim> | 
 |  |  |   </insert> | 
 |  |  |   <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoSt.StIntakeAmountMonth"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     update st_intake_amount_month | 
 |  |  |     <set> | 
 |  |  |       <if test="intakeId != null"> | 
 |  |  |         intake_id = #{intakeId,jdbcType=BIGINT}, | 
 |  |  |       </if> | 
 |  |  |       <if test="year != null"> | 
 |  |  |         `year` = #{year,jdbcType=INTEGER}, | 
 |  |  |       </if> | 
 |  |  |       <if test="month != null"> | 
 |  |  |         `month` = #{month,jdbcType=INTEGER}, | 
 |  |  |       </if> | 
 |  |  |       <if test="amount != null"> | 
 |  |  |         amount = #{amount,jdbcType=FLOAT}, | 
 |  |  |       </if> | 
 |  |  |     </set> | 
 |  |  |     where id = #{id,jdbcType=BIGINT} | 
 |  |  |   </update> | 
 |  |  |   <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSt.StIntakeAmountMonth"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     update st_intake_amount_month | 
 |  |  |     set intake_id = #{intakeId,jdbcType=BIGINT}, | 
 |  |  |       `year` = #{year,jdbcType=INTEGER}, | 
 |  |  |       `month` = #{month,jdbcType=INTEGER}, | 
 |  |  |       amount = #{amount,jdbcType=FLOAT} | 
 |  |  |     where id = #{id,jdbcType=BIGINT} | 
 |  |  |   </update> | 
 |  |  |  | 
 |  |  |   <select id="statisticsByIntake" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAmountStatistics"> | 
 |  |  |     select intake_id, sum(amount) as amount | 
 |  |  |     from st_intake_amount_month | 
 |  |  |     where `year` = #{year,jdbcType=INTEGER} | 
 |  |  |     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> |