xufenglei
2018-04-20 29d968d69ee52e7b0f87132467b21940fa9361cb
src/main/resources/mapper/AlarmMapper.xml
@@ -6,21 +6,35 @@
         <if test="dimension=='monitorPoint'">
            `name`,
         </if>
         <foreach collection="sensorKeys" item="sensorKey" separator=",">
            SUM( ${sensorKey} ) AS '${sensorKey}'
         </foreach>
         <foreach close=" AS 'sum' " collection="sensorKeys" item="sensorKey" open="," separator="+">
            SUM( ${sensorKey} )
         </foreach>
         <choose>
            <when test="sensorKeys.size > 0">
               <foreach collection="sensorKeys" separator="," item="sensorKey">
                  SUM( ${sensorKey} ) AS '${sensorKey}'
               </foreach>
               <foreach collection="sensorKeys" open="," separator="+" close=" AS 'sum' " item="sensorKey">
                  SUM( ${sensorKey} )
               </foreach>
            </when>
            <otherwise>
               time
            </otherwise>
         </choose>
      FROM
         (
            SELECT 
               <if test="dimension=='monitorPoint'">
                  mp.`name`,
               </if>
               <foreach collection="sensorKeys" item="sensorKey" separator=",">
                  CASE COUNT( json -> '$.${sensorKey}' ) WHEN 0 THEN 0 ELSE 1 END AS '${sensorKey}'
               </foreach>
               <choose>
                  <when test="sensorKeys.size > 0">
                     <foreach collection="sensorKeys" separator="," item="sensorKey">
                        CASE COUNT( json -> '$.${sensorKey}' ) WHEN 0 THEN 0 ELSE 1 END AS '${sensorKey}'
                     </foreach>
                  </when>
                  <otherwise>
                     DATE_FORMAT( h.time, '%Y-%m-%d' ) AS 'time'
                  </otherwise>
               </choose>
            FROM
               alarm h, 
               device d,
@@ -41,6 +55,9 @@
               <if test="monitorPointId != null">
               AND mp.id =   #{monitorPointId}
               </if>
               <if test="organizationId != null">
               AND mp.organization_id = #{organizationId}
               </if>
               <if test="mac != null">
               AND d.mac =   #{mac}
               </if>