From 00d2837b0056d84394df6ebcb4e779698c283c0d Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Mon, 19 Mar 2018 16:45:22 +0800
Subject: [PATCH] 数据查看功能
---
src/main/java/com/moral/service/HistoryMinutelyService.java | 2 +-
src/main/resources/mapper/HistoryMinutelyMapper.xml | 18 ++++++++++--------
src/main/java/com/moral/entity/charts/LineChartCriteria.java | 2 +-
src/main/webapp/img/ico04_bak.png | 0
src/main/java/com/moral/controller/ReportController.java | 2 +-
src/main/webapp/img/ico_coo04_bak.png | 0
src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java | 27 ++++++++++++++-------------
7 files changed, 27 insertions(+), 24 deletions(-)
diff --git a/src/main/java/com/moral/controller/ReportController.java b/src/main/java/com/moral/controller/ReportController.java
index f2058a8..d5dd547 100644
--- a/src/main/java/com/moral/controller/ReportController.java
+++ b/src/main/java/com/moral/controller/ReportController.java
@@ -35,7 +35,7 @@
return new ResultBean<Map<String,List<Object>>>(demo);
}
@PostMapping("line-chart")
- public ResultBean <List<List<PairData>>> lineChart(@RequestBody LineChartCriteria lineChartCriteria){
+ public ResultBean <Map<String, List<List<PairData>>>> lineChart(@RequestBody LineChartCriteria lineChartCriteria){
return new ResultBean<>(historyMinutelyService.queryLineChartDateByCrieria(lineChartCriteria));
}
@GetMapping("excel")
diff --git a/src/main/java/com/moral/entity/charts/LineChartCriteria.java b/src/main/java/com/moral/entity/charts/LineChartCriteria.java
index 589a25e..6472203 100644
--- a/src/main/java/com/moral/entity/charts/LineChartCriteria.java
+++ b/src/main/java/com/moral/entity/charts/LineChartCriteria.java
@@ -6,7 +6,7 @@
@Data
public class LineChartCriteria {
- private String sensorKey;//���������������
+ private List<String> sensorKeys;//���������������
private TimePeriod timePeriod;//������������
private List<DataCondition> dataConditions;//������������������
}
diff --git a/src/main/java/com/moral/service/HistoryMinutelyService.java b/src/main/java/com/moral/service/HistoryMinutelyService.java
index ec3f36d..6fee90d 100644
--- a/src/main/java/com/moral/service/HistoryMinutelyService.java
+++ b/src/main/java/com/moral/service/HistoryMinutelyService.java
@@ -17,5 +17,5 @@
Map<String, Object> getMonthAverageBySensor(Map<String, Object> parameters);
- List<List<PairData>> queryLineChartDateByCrieria(LineChartCriteria lineChartCriteria);
+ Map<String, List<List<PairData>>> queryLineChartDateByCrieria(LineChartCriteria lineChartCriteria);
}
diff --git a/src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java b/src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java
index 0a73e54..43104c6 100644
--- a/src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java
@@ -9,7 +9,6 @@
import java.time.temporal.TemporalAdjusters;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
@@ -27,8 +26,6 @@
import java.util.concurrent.ExecutorCompletionService;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
-import java.util.stream.Collector;
-import java.util.stream.Collectors;
import javax.annotation.Resource;
@@ -452,16 +449,20 @@
* @return
*/
@Override
- public List<List<PairData>> queryLineChartDateByCrieria(LineChartCriteria lineChartCriteria){
- String sensorKey = lineChartCriteria.getSensorKey();
- TimePeriod timePeriod = lineChartCriteria.getTimePeriod();
- List<DataCondition> dataConditionList = lineChartCriteria.getDataConditions();
- List<List<PairData>> list = new ArrayList<>();
- dataConditionList.forEach(item -> {
- List<PairData> pairDataList = queryOneLineChartDateByCrieria(sensorKey,timePeriod,item);
- list.add(pairDataList);
- });
- return list;
+ public Map<String, List<List<PairData>>> queryLineChartDateByCrieria(LineChartCriteria lineChartCriteria){
+ Map<String,List<List<PairData>>> listMap = new HashMap<>();
+ for(String sensorKey:lineChartCriteria.getSensorKeys()){
+ TimePeriod timePeriod = lineChartCriteria.getTimePeriod();
+ List<DataCondition> dataConditionList = lineChartCriteria.getDataConditions();
+ List<List<PairData>> list = new ArrayList<>();
+ dataConditionList.forEach(item -> {
+ List<PairData> pairDataList = queryOneLineChartDateByCrieria(sensorKey,timePeriod,item);
+ list.add(pairDataList);
+ });
+ listMap.put(sensorKey,list);
+ }
+
+ return listMap;
}
/**
diff --git a/src/main/resources/mapper/HistoryMinutelyMapper.xml b/src/main/resources/mapper/HistoryMinutelyMapper.xml
index 2bbb17b..797834d 100644
--- a/src/main/resources/mapper/HistoryMinutelyMapper.xml
+++ b/src/main/resources/mapper/HistoryMinutelyMapper.xml
@@ -43,12 +43,14 @@
</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>
+ <choose>
+ <when test="'MINUTE'==dataCondition.timeUnits.toString() and 'DEVICE'==dataCondition.areaRange.toString()">
+ json->'$.${sensorKey}[0]'
+ </when>
+ <otherwise>
+ AVG(json->'$.${sensorKey}[0]')
+ </otherwise>
+ </choose>
as value,
DATE_FORMAT(time,'${@com.moral.common.util.ReportTimeFormat@toMySqlTimeFormat(timePeriod.timeUnits)}') as format_time
FROM
@@ -70,7 +72,7 @@
and mpt.id = #{dataCondition.areaRangeId}
</if>
<if test='"PROVINCE"==dataCondition.areaRange.toString()'>
- and mpt.provice_code = #{dataCondition.areaRangeId}
+ and mpt.province_code = #{dataCondition.areaRangeId}
</if>
<if test='"CITY"==dataCondition.areaRange.toString()'>
and mpt.city_code = #{dataCondition.areaRangeId}
@@ -81,7 +83,7 @@
</where>
)
</where>
- <if test='"MINUTE"!=dataCondition.timeUnits.toString()'>
+ <if test="'MINUTE'!=dataCondition.timeUnits.toString() or 'DEVICE'!=dataCondition.areaRange.toString()">
GROUP BY format_time
</if>
ORDER BY format_time asc
diff --git a/src/main/webapp/img/ico04_bak.png b/src/main/webapp/img/ico04_bak.png
new file mode 100644
index 0000000..9c64a6a
--- /dev/null
+++ b/src/main/webapp/img/ico04_bak.png
Binary files differ
diff --git a/src/main/webapp/img/ico_coo04_bak.png b/src/main/webapp/img/ico_coo04_bak.png
new file mode 100644
index 0000000..2885216
--- /dev/null
+++ b/src/main/webapp/img/ico_coo04_bak.png
Binary files differ
--
Gitblit v1.8.0