From 2bad8336e2c14ffd85403c14ad254916146b6a5e Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Tue, 13 Mar 2018 15:11:31 +0800 Subject: [PATCH] 报表模块 --- src/main/resources/mapper/HistoryMinutelyMapper.xml | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 52 insertions(+), 5 deletions(-) diff --git a/src/main/resources/mapper/HistoryMinutelyMapper.xml b/src/main/resources/mapper/HistoryMinutelyMapper.xml index 3f3e22f..2bbb17b 100644 --- a/src/main/resources/mapper/HistoryMinutelyMapper.xml +++ b/src/main/resources/mapper/HistoryMinutelyMapper.xml @@ -1,8 +1,11 @@ <?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.moral.mapper.HistoryMinutelyMapper"> - - <select id="getSersionAvgByDevice" resultType="java.util.LinkedHashMap"> +<mapper namespace="com.moral.mapper.HistoryMinutelyMapper"> + <resultMap id="PairDataResultMap" type="com.moral.entity.charts.PairData" > + <result column="format_time" property="category" jdbcType="VARCHAR" /> + <result column="value" property="value" jdbcType="DOUBLE" /> + </resultMap> + <select id="getSersionAvgByDevice" resultType="java.util.Map"> SELECT ${sensorKeyColumn} FROM @@ -13,7 +16,7 @@ AND time < #{end} </select> - <select id="getMonitorPointOrDeviceAvgData" resultType="java.util.LinkedHashMap"> + <select id="getMonitorPointOrDeviceAvgData" resultType="java.util.Map"> SELECT DATE_FORMAT(time, #{typeFormat}) time, ${sensorKeyColumn} @@ -38,5 +41,49 @@ ORDER BY time </select> - + <select id="selectLineChartDateByCrieria" resultMap="PairDataResultMap"> + SELECT + <if test='"MINUTE"!=dataCondition.timeUnits.toString()'> + AVG(json->'$.${sensorKey}[0]') + </if> + <if test='"MINUTE"==dataCondition.timeUnits.toString()'> + json->'$.${sensorKey}[0]' + </if> + as value, + DATE_FORMAT(time,'${@com.moral.common.util.ReportTimeFormat@toMySqlTimeFormat(timePeriod.timeUnits)}') as format_time + FROM + `history_minutely` hmi + <where> + and hmi.time >= #{timePeriod.startTime} + and hmi.time <![CDATA[<=]]> #{timePeriod.endTime} + <if test="dataCondition.actualTime != null"> + and DATE_FORMAT(time, '${@com.moral.common.util.ReportTimeFormat@toMySqlActualTimeFormat(dataCondition.timeUnits)}') = #{dataCondition.actualTime} + </if> + and hmi.mac in ( + select mac from device dev + join monitor_point mpt on dev.monitor_point_id = mpt.id + <where> + <if test='"DEVICE"==dataCondition.areaRange.toString()'> + and dev.id = #{dataCondition.areaRangeId} + </if> + <if test='"MONITORPOINT"==dataCondition.areaRange.toString()'> + and mpt.id = #{dataCondition.areaRangeId} + </if> + <if test='"PROVINCE"==dataCondition.areaRange.toString()'> + and mpt.provice_code = #{dataCondition.areaRangeId} + </if> + <if test='"CITY"==dataCondition.areaRange.toString()'> + and mpt.city_code = #{dataCondition.areaRangeId} + </if> + <if test='"AREA"==dataCondition.areaRange.toString()'> + and mpt.area_code = #{dataCondition.areaRangeId} + </if> + </where> + ) + </where> + <if test='"MINUTE"!=dataCondition.timeUnits.toString()'> + GROUP BY format_time + </if> + ORDER BY format_time asc + </select> </mapper> \ No newline at end of file -- Gitblit v1.8.0