xufenglei
2018-07-13 6f5dc4ff458a78ec4ff341ca33b5bd5e99fbc8e5
src/main/resources/mapper/HistoryMapper.xml
@@ -38,7 +38,7 @@
   <select id="getRegionRankingData" resultType="java.util.Map">
      SELECT
         AVG( h.`value` -> '$.${sensorKey}[0]' ) avg ,
         AVG( h.${column} -> '$.${sensorKey}[0]' ) avg ,
         <if test="dimension == 'profession'">
            p.`name`
         </if>
@@ -46,14 +46,17 @@
            mp.`name`
         </if>
         <if test="dimension == 'region'">
            mp.${nextLevel}_code AS 'code'
            r.${nextLevel}_name AS 'name'
         </if>
      FROM
         <if test="dimension == 'profession'">
            profession p , 
         </if>
         <if test="dimension == 'region'">
            ${nextLevel} r,
         </if>
         device d,
         history h,
         ${table} h,
         monitor_point mp
      WHERE
         d.mac = h.mac 
@@ -61,9 +64,12 @@
         AND mp.is_delete = '0'
         AND d.monitor_point_id = mp.id 
         AND h.time >= #{start}
         AND mp.${regionType} = #{regionCode}
         AND mp.${regionType}_code = #{regionCode}
         <if test="dimension == 'profession'">
            AND d.profession_id = p.id 
         </if>
         <if test="dimension == 'region'">
            AND r.${nextLevel}_code = mp.${nextLevel}_code
         </if>
         <if test="orgIds != null and orgIds.size &gt; 0">
            AND mp.organization_id IN
@@ -88,13 +94,38 @@
      </if>
   </select>
   
   <select id="selectNextLevelRegion" resultType="java.util.Map">
   <select id="selectNextLevelRegion" resultType="string">
      SELECT
         ${nextLevel}_code AS 'code',
         ${nextLevel}_name AS 'name' 
      FROM
         ${nextLevel}
      WHERE
         ${regionType} = #{regionCode}
         ${regionType}_code = #{regionCode}
   </select>
   <select id="getDischargeByRegion" resultType="java.util.Map">
      SELECT
         mp.`name`,
         dis.`value` -> '$.${sensorKey}' 'value'
      FROM
         monitor_point mp,
         discharge dis
      WHERE
         dis.monitor_point_id = mp.id
         AND mp.${regionType}_code = #{regionCode}
         AND dis.`year` = #{year}
   </select>
   <select id="getValueByMacAndSize" resultType="java.util.Map">
      SELECT
         value,
         time
      FROM
         history
      WHERE
         mac = #{mac}
      ORDER BY
         time DESC
      LIMIT #{size}
   </select>
</mapper>