From a4c1346fe8b37507d69413632848d30a5826efc6 Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Wed, 21 Nov 2018 09:25:08 +0800
Subject: [PATCH] 更新
---
src/main/resources/mapper/DeviceMapper.xml | 22 +++++++++++
src/main/java/com/moral/mapper/DeviceMapper.java | 1
src/main/java/com/moral/service/MonitorPointService.java | 3 +
src/main/java/com/moral/controller/ScreenController.java | 12 ++++++
src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java | 44 ++++++++++++++++++++++
5 files changed, 82 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java
index 4be11b4..7d68481 100644
--- a/src/main/java/com/moral/controller/ScreenController.java
+++ b/src/main/java/com/moral/controller/ScreenController.java
@@ -773,4 +773,16 @@
return new ResultBean<List<MonitorPoint>>(monitorPoints);
}
+
+ @GetMapping("devices-state")
+ @ApiOperation(value = "������������������", notes = "������������������")
+ @ApiImplicitParams(value = {
+ @ApiImplicitParam(name = "organizationId",defaultValue = "8", value = "���������������������id", required = true, paramType = "query", dataType = "Integer"),
+ @ApiImplicitParam(name = "regionCode",defaultValue = "320583", value = "���������", required = true, paramType = "query", dataType = "String")
+ })
+ public ResultBean<Collection<Object>> getDevicesStateByRegion(HttpServletRequest request) throws Exception {
+ Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
+ Collection<Object> monitorPoints= monitorPointService.getDevicesStateByRegion(parameters);
+ return new ResultBean<Collection<Object>>(monitorPoints);
+ }
}
diff --git a/src/main/java/com/moral/mapper/DeviceMapper.java b/src/main/java/com/moral/mapper/DeviceMapper.java
index 3ba6f22..8dd670a 100644
--- a/src/main/java/com/moral/mapper/DeviceMapper.java
+++ b/src/main/java/com/moral/mapper/DeviceMapper.java
@@ -37,4 +37,5 @@
List<Device> getDevicesByProfession(Map<String, Object> parameters);
List<Device> getDevicesByOrganizationId(Map<String, Object> parameters);
+ List<Map<String, Object>> getDevicesStateByRegion(Map<String, Object> parameters);
}
\ No newline at end of file
diff --git a/src/main/java/com/moral/service/MonitorPointService.java b/src/main/java/com/moral/service/MonitorPointService.java
index ec68268..f57ae34 100644
--- a/src/main/java/com/moral/service/MonitorPointService.java
+++ b/src/main/java/com/moral/service/MonitorPointService.java
@@ -1,5 +1,6 @@
package com.moral.service;
+import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -34,4 +35,6 @@
MonitorPoint queryMonitorPointById(Integer mpointId);
List<MonitorPoint> getMonitorPointsAndDevicesByRegion(Map<String, Object> parameters);
+
+ Collection<Object> getDevicesStateByRegion(Map<String, Object> parameters);
}
diff --git a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java
index ae53cce..ffd22cb 100644
--- a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java
@@ -2,6 +2,7 @@
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -305,4 +306,47 @@
}
return monitorPoints;
}
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public Collection<Object> getDevicesStateByRegion(Map<String, Object> parameters) {
+ //������������
+ Object organizationId = parameters.remove("organizationId");
+ ValidateUtil.notNull(organizationId, "param.is.null");
+ ValidateUtil.notNull(parameters.get("regionCode"), "param.is.null");
+
+ //������������������
+ ParameterUtils.getRegionType4RegionCode(parameters);
+
+ if (Constants.isNotSpecialOrgId(Integer.valueOf(organizationId.toString()))) {
+ Set<Integer> organizationIds = organizationService.getChildOrganizationIds(Integer.valueOf(organizationId.toString()));
+ parameters.put("orgIds", organizationIds);
+ }
+ List<Map<String, Object>> monitorPoints = deviceMapper.getDevicesStateByRegion(parameters);
+ Map<String, Object> result = new HashMap<String, Object>();
+ Map<String,Object> device;
+ List<Map<String, Object>> devices;
+ for (Map<String, Object> map : monitorPoints) {
+ String id = map.get("id").toString();
+
+ device = new HashMap<String,Object>();
+ device.put("id", map.remove("deviceId"));
+ device.put("name", map.remove("deviceName"));
+ device.put("state", map.remove("state"));
+ device.put("mac", map.remove("mac"));
+
+ if (result.containsKey(id)) {
+ Map<String, Object> monitorPoint = (Map<String, Object>) result.get(id);
+ devices = (List<Map<String, Object>>) monitorPoint.get("devices");
+ } else {
+ devices = new ArrayList<Map<String, Object>>();
+ result.put(id, map);
+ }
+ devices.add(device);
+ map.put("devices", devices);
+ result.put(id, map);
+ }
+
+ return result.values();
+ }
}
diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml
index 16521ec..92d256a 100644
--- a/src/main/resources/mapper/DeviceMapper.xml
+++ b/src/main/resources/mapper/DeviceMapper.xml
@@ -362,4 +362,26 @@
AND mp.is_delete = 0
AND mp.organization_id = #{organizationId}
</select>
+
+
+ <select id="getDevicesStateByRegion" resultType="map">
+ SELECT
+ d.id deviceId,d.mac,d.state,d.name deviceName,
+ mp.id,mp.name
+ FROM
+ device d ,
+ monitor_point mp
+ <where>
+ d.monitor_point_id = mp.id
+ AND d.is_delete = 0
+ AND mp.is_delete = 0
+ AND mp.${regionType}_code = #{regionCode}
+ <if test="orgIds != null and orgIds.size > 0">
+ AND mp.organization_id IN
+ <foreach collection="orgIds" open="(" separator="," close=")" item="listItem">
+ #{listItem}
+ </foreach>
+ </if>
+ </where>
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0