From ef78805f774f9268b7c0860385ba081b97f9c2b5 Mon Sep 17 00:00:00 2001
From: 于紫祥_1901 <email@yuzixiang_1910>
Date: Mon, 13 Jul 2020 09:58:12 +0800
Subject: [PATCH] 无组织排放实时

---
 src/main/java/com/moral/service/impl/DeviceServiceImpl.java |   47 +++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 43 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
index b3d7066..df90666 100644
--- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
@@ -23,6 +23,7 @@
 import com.moral.common.util.ValidateUtil;
 import com.moral.entity.Device;
 import com.moral.entity.DeviceProperty;
+import com.moral.entity.MonitorPoint;
 import com.moral.mapper.DeviceMapper;
 import com.moral.mapper.DevicePropertyMapper;
 import com.moral.mapper.DeviceVersionMapper;
@@ -216,13 +217,31 @@
             deviceList = deviceMapper.selectByMap(params);
             // loadDeviceState(deviceList);
         }
-      for(Device d:deviceList){
-            if(dv.contains(d.getDeviceVersionId())){
+        Example deviceExample = new Example(Device.class);//���������
+        Example.Criteria deviceCriteria = deviceExample.createCriteria();
+        deviceCriteria.orEqualTo("isDelete", Constants.IS_DELETE_FALSE);
+        List<Device> devicesInfo = deviceMapper.selectByExample(deviceExample);
+        Example monitorExample = new Example(MonitorPoint.class);//���������
+        Example.Criteria monitorCriteria = monitorExample.createCriteria();
+        monitorCriteria.orEqualTo("isDelete", Constants.IS_DELETE_FALSE);
+        List<MonitorPoint> monitorsInfo = monitorPointMapper.selectByExample(monitorExample);
+        for (Device d : deviceList) {
+            if (dv.contains(d.getDeviceVersionId())) {
                 d.setHasWindInfo(true);
-            }else{
+            } else {
                 d.setHasWindInfo(false);
             }
-      }
+            for (Device temp : devicesInfo) {
+                if (d.getId().equals(temp.getId())) {
+                    d.setState(temp.getState());
+                }
+            }
+            for (MonitorPoint mp : monitorsInfo) {
+                if (d.getMonitorPointId().equals(mp.getId())) {
+                    d.setMonitorPoint(mp);
+                }
+            }
+        }
         return deviceList;
     }
 
@@ -658,4 +677,24 @@
     public List<Device> getDeviceById3(int id) {
         return deviceMapper.getDeviceById3(id);
     }
+
+    @Override
+    public List<Device> queryDevice(Map<String, Object> params) {
+        List<Integer> dv = deviceMapper.getHasWindDirAndWindSpeedDeviceVersion();
+        Object orgIdObj = params.get("orgId");
+        List<Device> deviceList = null;
+        if (orgIdObj != null) {
+            Integer orgId = Integer.parseInt(orgIdObj.toString());
+            List<Integer> orgIds = orgMapper.selectLowerOrgIds(orgId);
+            params.put("orgIds", orgIds);
+            deviceList = deviceMapper.selectDevicesAll(params);
+        }
+        List<Device> deviceListHasWind=new ArrayList<>();
+        for (Device d : deviceList) {
+            if (dv.contains(d.getDeviceVersionId())) {
+                deviceListHasWind.add(d);
+            }
+        }
+        return deviceListHasWind;
+    }
 }

--
Gitblit v1.8.0