From 6bc5d130aa5b30aa6ea32f6c53bebe6fb9dc05f7 Mon Sep 17 00:00:00 2001
From: lizijie <lzjiiie@163.com>
Date: Wed, 16 Dec 2020 09:21:32 +0800
Subject: [PATCH] 热力图
---
src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java | 163 ++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 146 insertions(+), 17 deletions(-)
diff --git a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java
index 0d68e94..54b5e3b 100644
--- a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java
@@ -42,6 +42,7 @@
import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.entity.Example.Criteria;
@@ -275,6 +276,11 @@
}
@Override
+ public List<MonitorPoint> getMonitorPointsByOrganizationIds(Set<Integer> orgIds) {
+ return monitorPointMapper.getMonitorPointsByOrganizationIds(orgIds);
+ }
+
+ @Override
public List<MonitorPoint> getMonitorPointsByRegion(Map<String, Object> parameters) {
Example example = new Example(MonitorPoint.class);
Criteria criteria = example.createCriteria();
@@ -294,49 +300,53 @@
return this.monitorPointMapper.selectByPrimaryKey(mpointId);
}
+ /**
+ * @Description: ������������������������������������������������
+ * @Param: [parameters]
+ * @return: java.util.List<com.moral.entity.MonitorPoint>
+ * @Author: ������������
+ * @Date: 2020/12/2
+ */
@Override
public List<MonitorPoint> getMonitorPointsAndDevicesByRegion(Map<String, Object> parameters) {
//������������
Object organizationId = parameters.remove("organizationId");
+ //���������������������null������������null���������������������������msgKey���������������
ValidateUtil.notNull(organizationId, "param.is.null");
ValidateUtil.notNull(parameters.get("regionCode"), "param.is.null");
//������������������
ParameterUtils.getRegionType4RegionCode(parameters);
+ //������������code���������������
Example example = new Example(MonitorPoint.class);
Criteria criteria = example.createCriteria();
criteria.andEqualTo("isDelete", Constants.IS_DELETE_FALSE);
+
+ //������������������������������������������������������������orgid������������������������
if (Constants.isNotSpecialOrgId(Integer.valueOf(organizationId.toString()))) {
- //criteria.andEqualTo("organizationId", organizationId);
Set<Integer> organizationIds = organizationService.getChildOrganizationIds(Integer.valueOf(organizationId.toString()));
criteria.andIn("organizationId", organizationIds);
}
criteria.andEqualTo(parameters.get("regionType") + "Code", parameters.remove("regionCode"));
-
- //���������������������
List<MonitorPoint> monitorPoints = monitorPointMapper.selectByExample(example);
- //���������������������������������
- Iterator<MonitorPoint> iterator = monitorPoints.iterator();
- /*while (iterator.hasNext()) {
- MonitorPoint monitorPoint = iterator.next();
- List<Device> devices = deviceService.getDevicesByMonitorPointId(monitorPoint.getId());
- if (ObjectUtils.isEmpty(devices)) {
- iterator.remove();
- } else {
- monitorPoint.setDevices(devices);
- }
-
- }*/
- Example deviceExample = new Example(Device.class);//���������
+
+ //������������������������
+ Example deviceExample = new Example(Device.class);
Criteria deviceCriteria = deviceExample.createCriteria();
deviceCriteria.orEqualTo("isDelete", Constants.IS_DELETE_FALSE);
List<Device> devicesInfo = deviceMapper.selectByExample(deviceExample);
- Example monitorExample = new Example(MonitorPoint.class);//���������
+
+ //������������������������
+ Example monitorExample = new Example(MonitorPoint.class);
Criteria monitorCriteria = monitorExample.createCriteria();
monitorCriteria.orEqualTo("isDelete", Constants.IS_DELETE_FALSE);
List<MonitorPoint> monitorPointInfo = monitorPointMapper.selectByExample(monitorExample);
+
+ //������������������������������
List<DeviceProperty> devicePropertyList = devicePropertyMapper.selectAll();
+
+ //������������������������������������������
for (Device d : devicesInfo) {
for (DeviceProperty dp : devicePropertyList) {
if (dp.getId().equals(d.getId())) {
@@ -344,6 +354,8 @@
}
}
}
+
+ //������������������������������������������
Map<Integer, List<Device>> monitorDeviceMap = new HashMap();
for (MonitorPoint m : monitorPointInfo) {
List<Device> monitorDevices = new ArrayList<>();
@@ -354,6 +366,9 @@
}
monitorDeviceMap.put(m.getId(), monitorDevices);
}
+
+ //������������Code���������������������������������������������
+ Iterator<MonitorPoint> iterator = monitorPoints.iterator();
while (iterator.hasNext()) {
MonitorPoint monitorPoint = iterator.next();
for (Map.Entry<Integer, List<Device>> entry : monitorDeviceMap.entrySet()) {
@@ -368,6 +383,89 @@
}
return monitorPoints;
}
+
+ /**
+ * @Description: ���������������������������������������������
+ * @Param: [parameters]
+ * @return: java.util.List<com.moral.entity.MonitorPoint>
+ * @Author: ������������
+ * @Date: 2020/12/2
+ */
+ @Override
+ public List<MonitorPoint> getMonitorPointsAndDevicesByRegionNew(Map<String, Object> parameters) {
+ //������������
+ Object organizationId = parameters.remove("organizationId");
+ //���������������������null������������null���������������������������msgKey���������������
+ ValidateUtil.notNull(organizationId, "param.is.null");
+ ValidateUtil.notNull(parameters.get("regionCode"), "param.is.null");
+
+ //������������������
+ ParameterUtils.getRegionType4RegionCode(parameters);
+
+ //������������code���������������
+ Example example = new Example(MonitorPoint.class);
+ Criteria criteria = example.createCriteria();
+ criteria.andEqualTo("isDelete", Constants.IS_DELETE_FALSE);
+
+ //������������������������������������������������������������orgid������������������������
+ if (Constants.isNotSpecialOrgId(Integer.valueOf(organizationId.toString()))) {
+ Set<Integer> organizationIds = organizationService.getChildOrganizationIds(Integer.valueOf(organizationId.toString()));
+ criteria.andIn("organizationId", organizationIds);
+ }
+ criteria.andEqualTo(parameters.get("regionType") + "Code", parameters.remove("regionCode"));
+ List<MonitorPoint> monitorPoints = monitorPointMapper.selectByExample(example);
+
+ //������������������������
+ Example deviceExample = new Example(Device.class);
+ Criteria deviceCriteria = deviceExample.createCriteria();
+ deviceCriteria.orEqualTo("isDelete", Constants.IS_DELETE_FALSE);
+ List<Device> devicesInfo = deviceMapper.selectByExample(deviceExample);
+
+ //������������������������
+ Example monitorExample = new Example(MonitorPoint.class);
+ Criteria monitorCriteria = monitorExample.createCriteria();
+ monitorCriteria.orEqualTo("isDelete", Constants.IS_DELETE_FALSE);
+ List<MonitorPoint> monitorPointInfo = monitorPointMapper.selectByExample(monitorExample);
+
+ //������������������������������
+ List<DeviceProperty> devicePropertyList = devicePropertyMapper.selectAll();
+
+ //������������������������������������������
+ for (Device d : devicesInfo) {
+ for (DeviceProperty dp : devicePropertyList) {
+ if (dp.getId().equals(d.getId())) {
+ d.setDeviceProperty(dp);
+ }
+ }
+ }
+
+ //������������������������������������������
+ Map<Integer, List<Device>> monitorDeviceMap = new HashMap();
+ for (MonitorPoint m : monitorPointInfo) {
+ List<Device> monitorDevices = new ArrayList<>();
+ for (Device d : devicesInfo) {
+ if (m.getId().equals(d.getMonitorPointId())) {
+ monitorDevices.add(d);
+ }
+ }
+ monitorDeviceMap.put(m.getId(), monitorDevices);
+ }
+
+ //������������Code���������������������������������������������
+ Iterator<MonitorPoint> iterator = monitorPoints.iterator();
+ while (iterator.hasNext()) {
+ MonitorPoint monitorPoint = iterator.next();
+ for (Map.Entry<Integer, List<Device>> entry : monitorDeviceMap.entrySet()) {
+ if (monitorPoint.getId().equals(entry.getKey())) {
+ if (!CollectionUtils.isEmpty(entry.getValue())) {
+ monitorPoint.setDevices(entry.getValue());
+ }
+ }
+ }
+ }
+ return monitorPoints;
+ }
+
@SuppressWarnings("unchecked")
@Override
@@ -796,5 +894,36 @@
return params;
}
+ @Override
+ public JSONObject getMacList(int monitPointId) {
+ JSONObject params = new JSONObject();
+ MonitorPoint monitorPoint = monitorPointMapper.getMonitorPointById(monitPointId);
+
+ //������������������������
+ List<Device> deviceList = deviceService.getDeviceById2(monitPointId);
+
+ params.put("longitudeCompany", monitorPoint.getLongitude());
+ params.put("latitudeCompany", monitorPoint.getLatitude());
+ params.put("latitudeCompany", monitorPoint.getLatitude());
+ params.put("monitPointId", monitPointId);
+ params.put("deviceList", deviceList);
+ return params;
+ }
+
+ @Override
+ public List<MonitorPoint> getMonitorPointListByAccountId(int id) {
+ return monitorPointMapper.getMonitorPointListByAccountId(id);
+ }
+
+ @Override
+ public MonitorPoint byIdGetMonitorPoint(int id) {
+ return monitorPointMapper.byIdGetMonitorPoint(id);
+ }
+
+ @Override
+ public String getOrgIdByMac(String mac) {
+ return monitorPointMapper.getOrgIdByMac(mac);
+ }
+
}
--
Gitblit v1.8.0