|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<Map<String, Object>> getSensorDataByMac(Map<String,Object> parameters); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<Map<String, Object>> getSensorDataByMacOnce(Map<String,Object> parameters); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<Map<String, Object>> getSensorDataOnce(Map<String,Object> parameters); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Map<String, Object> getMinData(Map<String,Object> parameters); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<Map<String, Object>> getSensorDataByMac(Map<String, Object> parameters); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<Map<String, Object>> getSensorDataByMacOnce(Map<String, Object> parameters); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<String> getMacs(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<String> getMacByOrganizationid(List<Object> organizationIdList); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<Map<String, Object>> getSensorDataByMacOnce(Map<String, Object> parameters) { | 
|---|
|  |  |  | return historyMapper.getSensorDataByMacOnce(parameters); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<String> getMacs() { | 
|---|
|  |  |  | return deviceMapper.getMacs(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | devices.put("start", startTime); | 
|---|
|  |  |  | devices.put("end", endTime); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | List<Map<String, Object>> minutelyData = deviceService.getSensorDataByMac(devices); | 
|---|
|  |  |  | List<Map<String, Object>> minutelyData = deviceService.getSensorDataByMacOnce(devices); | 
|---|
|  |  |  | XxlJobLogger.log("historyMinutelyData:" + minutelyData.size()); | 
|---|
|  |  |  | List<Map<String, Object>> minutelyDataList = new ArrayList<>(); | 
|---|
|  |  |  | for (Map<String, Object> deviceData : minutelyData) { | 
|---|
|  |  |  | 
|---|
|  |  |  | h.mac | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="getSensorDataByMacOnce" resultType="java.util.LinkedHashMap"> | 
|---|
|  |  |  | SELECT | 
|---|
|  |  |  | h.mac,DATE_FORMAT(time,'%Y-%m-%dT%H:%i') time, | 
|---|
|  |  |  | <foreach  collection="sensorKeys" separator="," item="sensorKey"> | 
|---|
|  |  |  | AVG(value->'$.${sensorKey}') AS '${sensorKey}', | 
|---|
|  |  |  | MAX(cast(h.value ->'$.${sensorKey}' as decimal(11,3))) AS 'MAX${sensorKey}', | 
|---|
|  |  |  | MIN(cast(h.value ->'$.${sensorKey}' as decimal(11,3))) AS 'MIN${sensorKey}' | 
|---|
|  |  |  | </foreach> | 
|---|
|  |  |  | FROM | 
|---|
|  |  |  | history h | 
|---|
|  |  |  | WHERE | 
|---|
|  |  |  | h.time >= #{start} | 
|---|
|  |  |  | AND h.time <![CDATA[<]]> #{end} | 
|---|
|  |  |  | and h.mac in | 
|---|
|  |  |  | <foreach collection="macList" index="index" item="mac" open="(" separator="," close=")"> | 
|---|
|  |  |  | #{mac} | 
|---|
|  |  |  | </foreach> | 
|---|
|  |  |  | group by | 
|---|
|  |  |  | h.mac,DATE_FORMAT(time,'%Y-%m-%dT%H:%i') | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="getSensorDataOnce" resultType="java.util.LinkedHashMap"> | 
|---|
|  |  |  | SELECT | 
|---|
|  |  |  | h.mac,DATE_FORMAT(time,'%Y-%m-%dT%H:%i') time, | 
|---|