From 9125309788deca2a555c4f46c8491a950f8f0692 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Tue, 22 Sep 2020 11:00:07 +0800
Subject: [PATCH] update
---
src/main/java/com/moral/service/impl/SensorServiceImpl.java | 226 +++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 191 insertions(+), 35 deletions(-)
diff --git a/src/main/java/com/moral/service/impl/SensorServiceImpl.java b/src/main/java/com/moral/service/impl/SensorServiceImpl.java
index fc9b469..3a5e7ce 100644
--- a/src/main/java/com/moral/service/impl/SensorServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/SensorServiceImpl.java
@@ -1,68 +1,86 @@
package com.moral.service.impl;
-import com.moral.common.bean.PageBean;
-import com.moral.common.util.MyBatisBaseMapUtil;
-import com.moral.entity.Sensor;
-import com.moral.mapper.SensorMapper;
-import com.moral.service.SensorService;
-import org.springframework.stereotype.Service;
-import tk.mybatis.mapper.entity.Example;
-
-import javax.annotation.Resource;
+import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
+import javax.annotation.Resource;
+
+import com.alibaba.fastjson.JSONObject;
+import com.moral.common.bean.PageBean;
+import com.moral.common.util.MyBatisBaseMapUtil;
+import com.moral.entity.Device;
+import com.moral.entity.MonitorPoint;
+import com.moral.entity.Sensor;
+import com.moral.mapper.SensorMapper;
+import com.moral.service.MonitorPointService;
+import com.moral.service.SensorService;
+
+import org.apache.commons.collections.CollectionUtils;
+import org.springframework.stereotype.Service;
+import tk.mybatis.mapper.entity.Example;
+
@Service
-public class SensorServiceImpl implements SensorService{
+public class SensorServiceImpl implements SensorService {
@Resource
SensorMapper sensorMapper;
+
+ @Resource
+ MonitorPointService monitorPointService;
private static Class ENTITY_CLASS = Sensor.class;
/**
* ������������������������������
+ *
* @return
*/
@Override
- public List<Sensor> queryAll(){
+ public List<Sensor> queryAll() {
return sensorMapper.selectByExample(null);
}
- public PageBean<Sensor> queryByPageBean(PageBean pageBean){
- return MyBatisBaseMapUtil.queryPage(sensorMapper,pageBean,ENTITY_CLASS);
+
+ public PageBean<Sensor> queryByPageBean(PageBean pageBean) {
+ return MyBatisBaseMapUtil.queryPage(sensorMapper, pageBean, ENTITY_CLASS);
}
+
@Override
- public PageBean queryByVersionId(Integer deviceVersionId){
+ public PageBean queryByVersionId(Integer deviceVersionId) {
List<Sensor> sensorList = sensorMapper.selectByVersionId(deviceVersionId);
- return new PageBean(sensorList);
+ return new PageBean(sensorList);
}
+
@Override
- public List<Sensor> queryListByVersionId(Integer deviceVersionId){
+ public List<Sensor> queryListByVersionId(Integer deviceVersionId) {
return sensorMapper.selectByVersionId(deviceVersionId);
}
+
@Override
- public List<Sensor> queryListByVersionNo(Integer versionNo){
+ public List<Sensor> queryListByVersionNo(Integer versionNo) {
return sensorMapper.selectByVersionNo(versionNo);
}
- public void addOrModify(Sensor sensor){
- try{
- if(sensor.getId()==null){
+
+ public void addOrModify(Sensor sensor) {
+ try {
+ if (sensor.getId() == null) {
sensorMapper.insertSelective(sensor);
- }else{
+ } else {
sensorMapper.updateByPrimaryKeySelective(sensor);
}
- }
- catch (Exception ex){
- throw ex;
+ } catch (Exception ex) {
+ throw ex;
}
}
@Override
public void deleteByIds(Integer... ids) {
- if(ids!=null&&ids.length>0){
- if(ids.length==1){
+ if (ids != null && ids.length > 0) {
+ if (ids.length == 1) {
sensorMapper.deleteByPrimaryKey(ids[0]);
- }else{
+ } else {
Example example = new Example(ENTITY_CLASS);
example.or().andIn("id", Arrays.asList(ids));
sensorMapper.deleteByExample(example);
@@ -73,6 +91,7 @@
/**
* ������������������������������������������
+ *
* @param organizationId
* @return
*/
@@ -80,13 +99,150 @@
public List<Sensor> queryByOrgId(Integer organizationId) {
return sensorMapper.selectByOrgId(organizationId);
}
+
@Override
- public List<Sensor> getAllSensors() {
- return sensorMapper.selectAll();
- }
- @Override
- public Map<String, Object> getSensorBySensorKey(String sensorKey) {
- Map<String, Object> map = sensorMapper.getSensorBySensorKey(sensorKey);
- return map;
- }
+ public List<Sensor> getAllSensors() {
+ return sensorMapper.selectAll();
+ }
+
+ @Override
+ public Map<String, Object> getSensorBySensorKey(String sensorKey) {
+ Map<String, Object> map = sensorMapper.getSensorBySensorKey(sensorKey);
+ return map;
+ }
+
+ @Override
+ public List<Map<String, Object>> getSensorByDeviceId(String id) {
+ List<Map<String, Object>> list = sensorMapper.getSensorByDeviceId(id);
+ return list;
+ }
+
+ @Override
+ public List<Map<String, Object>> getSensorByMonitorPointId(String monitor_point_id) {
+ List<Map<String, Object>> list = sensorMapper.getSensorByMonitorPointId(monitor_point_id);
+ return list;
+ }
+
+ @Override
+ public Map<String, String> getSensorsMap(Map<String, Object> parameters) {
+ List<Sensor> sensors = sensorMapper.getSensorsByMac(parameters);
+ Map<String, String> sensorMap = new HashMap<>();
+ for (Sensor sensor : sensors) {
+ sensorMap.put(sensor.getSensorKey(), sensor.getDescription());
+ }
+ return sensorMap;
+ }
+
+ @Override
+ public List<Map<String, String>> getSensorsMaps(String mac) {
+ List<Sensor> sensors = sensorMapper.getSensorsInfoByMac(mac);
+ Map<String, String> sensorsDescriptionMap = new HashMap<>();
+ for (Sensor sensor : sensors) {
+ sensorsDescriptionMap.put(sensor.getSensorKey(), sensor.getDescription());
+ }
+ Map<String, String> sensorsUnitMap = new HashMap<>();
+ for (Sensor sensor : sensors) {
+ sensorsUnitMap.put(sensor.getSensorKey(), sensor.getUnit());
+ }
+ List<Map<String, String>> sensorsMapList = new ArrayList<>();
+ sensorsMapList.add(sensorsDescriptionMap);
+ sensorsMapList.add(sensorsUnitMap);
+ return sensorsMapList;
+ }
+
+ @Override
+ public List<Map<String, String>> getSensorsAllMap() {
+ List<Sensor> sensors = sensorMapper.selectAll();
+ Map<String, String> sensorsDescriptionMap = new HashMap<>();
+ for (Sensor sensor : sensors) {
+ sensorsDescriptionMap.put(sensor.getSensorKey(), sensor.getDescription());
+ }
+ Map<String, String> sensorsUnitMap = new HashMap<>();
+ for (Sensor sensor : sensors) {
+ sensorsUnitMap.put(sensor.getSensorKey(), sensor.getUnit());
+ }
+ List<Map<String, String>> sensorsMapList = new ArrayList<>();
+ sensorsMapList.add(sensorsDescriptionMap);
+ sensorsMapList.add(sensorsUnitMap);
+ return sensorsMapList;
+ }
+
+ @Override
+ public List<Sensor> selectSenosrsByOrgId(Map<String, Object> parameters) {
+ List<String> macList = new ArrayList<>();
+ List<MonitorPoint> monitorPoints = monitorPointService.getMonitorPointsAndDevicesByRegion(parameters);
+ for (MonitorPoint m : monitorPoints) {
+ for (Device d : m.getDevices()) {
+ macList.add(d.getMac());
+ }
+ }
+ parameters.put("macs", macList);
+ List<Sensor> sensors = new ArrayList<>();
+ if (!CollectionUtils.isEmpty(macList)) {
+ sensors = sensorMapper.selectSenosrsByOrgId(parameters);
+ } else {
+ sensors = sensorMapper.selectAll();
+ }
+ return sensors;
+ }
+
+ @Override
+ public List<List<String>> listSensorInfos(String[] sensorsResult) {
+ List<String> sensorKeys = new ArrayList<>();
+ List<String> sensorKeysNames = new ArrayList<>();
+ List<String> sensorKeysUnits = new ArrayList<>();
+ List<List<String>> sensorInfos = new ArrayList<>();
+ for (int index = 0; index < sensorsResult.length; index++) {
+ String[] split = sensorsResult[index].split("-");
+ String key = split[0].replace("\"", "");
+ String name = split[1].replace("\"", "");
+ String Unit = split[2].replace("\"", "");
+ sensorKeys.add(key);
+ sensorKeysNames.add(name);
+ sensorKeysUnits.add(Unit);
+ }
+ sensorInfos.add(sensorKeys);
+ sensorInfos.add(sensorKeysNames);
+ sensorInfos.add(sensorKeysUnits);
+ return sensorInfos;
+ }
+
+ @Override
+ public List<List<Map<String, Object>>> listExcelDatas(List<List<String>> sensorInfos, List<Map<String, Object>> list) {
+ List<List<Map<String, Object>>> sheets = new ArrayList<>();
+ for (int i = 0; i < sensorInfos.get(0).size(); i++) {
+ List<Map<String, Object>> sheet = new ArrayList<>();
+ for (int j = 0; j < list.size(); j++) {
+ Map<String, Object> data = new LinkedHashMap<>();
+ for (Map.Entry<String, Object> kv : list.get(j).entrySet()) {
+ if ("monitorPointName".equals(kv.getKey())) {
+ if ("null".equals(sensorInfos.get(2).get(i))) {
+ data.put("������������(������:)", kv.getValue());
+ } else {
+ data.put("������������(������:" + sensorInfos.get(2).get(i) + ")", kv.getValue());
+ }
+ } else if ("name".equals(kv.getKey())) {
+ data.put("������������", kv.getValue());
+ } else {
+ String sensorsValue = kv.getValue().toString();
+ JSONObject jsonObject = JSONObject.parseObject(sensorsValue);
+ if (jsonObject != null) {
+ List<Object> sensorsValueList = (List<Object>) jsonObject.get(sensorInfos.get(0).get(i));
+ if (sensorsValueList != null) {
+ data.put(kv.getKey(), sensorsValueList.get(0));
+ } else {
+ data.put(kv.getKey(), "");
+ }
+ } else {
+ data.put(kv.getKey(), "");
+ }
+ }
+ }
+ sheet.add(data);
+ }
+ sheets.add(sheet);
+ }
+ return sheets;
+ }
+
}
--
Gitblit v1.8.0