From f5af2c565dbe38f22763ec17bf3868d58afafb97 Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Mon, 16 Nov 2020 16:30:39 +0800
Subject: [PATCH] 更改报表导出时间段 由原先的0-23 改为1-第二天零点

---
 src/main/java/com/moral/service/impl/DeviceServiceImpl.java |  459 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 450 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
index 5394e12..03df587 100644
--- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
@@ -1,16 +1,12 @@
 package com.moral.service.impl;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 import javax.validation.constraints.NotNull;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.TypeReference;
 import com.github.pagehelper.Page;
 import com.github.pagehelper.PageHelper;
@@ -22,7 +18,9 @@
 import com.moral.common.util.RedisUtils;
 import com.moral.common.util.ValidateUtil;
 import com.moral.entity.Device;
+import com.moral.entity.DeviceAndWind;
 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;
@@ -31,6 +29,8 @@
 import com.moral.mapper.OrganizationMapper;
 import com.moral.service.AccountService;
 import com.moral.service.DeviceService;
+import com.moral.service.MonitorPointService;
+import com.moral.util.LatLngTransformation;
 import com.moral.util.TkMybatisUtils;
 
 import org.apache.commons.collections.MapUtils;
@@ -40,6 +40,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
+
 import tk.mybatis.mapper.entity.Example;
 
 @Service
@@ -79,6 +80,8 @@
     OrganizationMapper organizationMapper;
     @Resource
     DictionaryDataMapper dictionaryDataMapper;
+    @Resource
+    private MonitorPointService monitorPointService ;
 
     @Override
     public Map<String, Object> getDeviceStatesByAccount(Map<String, Object> parameters) {
@@ -208,18 +211,49 @@
     public List<Device> query(Map<String, Object> params) {
         List<Integer> dv = deviceMapper.getHasWindDirAndWindSpeedDeviceVersion();
         Object orgIdObj = params.get("orgId");
+        String regionCode = params.get("regionCode").toString();
         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.selectByMap(params);
+            //���������������������������������������������
+            if (regionCode.startsWith("1309")&&orgIdObj.toString().equals("5")) {
+                orgIds = new ArrayList<>();
+                Collections.addAll(orgIds, 60, 65, 159, 165, 166);
+                deviceList = deviceMapper.selectByMap(params);
+                Iterator<Device> iter = deviceList.iterator();
+                while (iter.hasNext()) {
+                    Device device = iter.next();
+                    Integer mpId = device.getMonitorPointId();
+                    Integer oid = monitorPointService.byIdGetMonitorPoint(mpId).getOrganizationId();
+                    if (!orgIds.contains(oid)) {
+                        iter.remove();
+                    } else {
+                        if (orgId == 60) {
+                            if (mpId != 56) {
+                                iter.remove();
+                            }
+                        } else if (orgId == 65) {
+                            if (mpId != 83 && mpId != 84) {
+                                iter.remove();
+                            }
+                        }
+                    }
+                }
+            }else {
+                params.put("orgIds", orgIds);
+                deviceList = deviceMapper.selectByMap(params);
+            }
             // loadDeviceState(deviceList);
         }
         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);
@@ -229,6 +263,11 @@
             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);
                 }
             }
         }
@@ -679,7 +718,7 @@
             params.put("orgIds", orgIds);
             deviceList = deviceMapper.selectDevicesAll(params);
         }
-        List<Device> deviceListHasWind=new ArrayList<>();
+        List<Device> deviceListHasWind = new ArrayList<>();
         for (Device d : deviceList) {
             if (dv.contains(d.getDeviceVersionId())) {
                 deviceListHasWind.add(d);
@@ -687,4 +726,406 @@
         }
         return deviceListHasWind;
     }
+
+    @Override
+    public Map<String, Object> getAllFieldByMac(Map<String, Object> parameters) {
+        Map<String, Object> deviceMap = deviceMapper.selectAllFieldByMac(parameters);
+        return deviceMap;
+    }
+
+    @Override
+    public List<DeviceAndWind> getAllDevice() {
+        return deviceMapper.getAllDevice();
+    }
+
+    @Override
+    public List<String> getAllMac() {
+        return deviceMapper.getAllMac();
+    }
+
+    @Override
+    public Device byMacGetDevice(String mac) {
+        return deviceMapper.byMacGetDevice(mac);
+    }
+
+    @Override
+    public List byMonitorIdGetDeviceAndWind(String id, String tab) {
+        List<DeviceAndWind> deviceAndWinds = deviceMapper.byMonitorIdGetDeviceAndWind(Integer.parseInt(id), tab);
+        List loList = new ArrayList();
+        List laList = new ArrayList();
+        Double U = 0.0;
+        Double V = 0.0;
+        List list = new ArrayList();
+        for (DeviceAndWind andWind : deviceAndWinds) {
+            Double lo = andWind.getLongitude();
+            Double la = andWind.getLatitude();
+            List tranlist = LatLngTransformation.Convert_BD09_To_GCJ02(la, lo);
+            Double transLo = (Double) tranlist.get(0);
+            Double transLa = (Double) tranlist.get(1);
+            loList.add(transLo);
+            laList.add(transLa);
+        }
+        Double loma = 0.0;
+        Double lomi = 0.0;
+        Double lama = 0.0;
+        Double lami = 0.0;
+        if (loList.size() > 0) {
+            loma = (Double) Collections.max(loList);
+            lomi = (Double) Collections.min(loList);
+        }
+        if (laList.size() > 0) {
+            lama = (Double) Collections.max(laList);
+            lami = (Double) Collections.min(laList);
+        }
+        Map laLaMap = new HashMap();
+        laLaMap.put("maxLo", loma);
+        laLaMap.put("minLo", lomi);
+        laLaMap.put("maxLa", lama);
+        laLaMap.put("minLa", lami);
+
+        Double lo1 = lomi - 250 * 0.00001141;
+        Double lo2 = loma + 250 * 0.00001141;
+        Double la2 = lami - 250 * 0.00000899;
+        Double la1 = lama + 250 * 0.00000899;
+
+        Double dx = 0.00001141 * 20;
+        Double dy = 0.00000899 * 20;
+        int nx = (int) Math.floor((lo2 - lo1) / dx);
+        int ny = (int) Math.floor((la1 - la2) / dy);
+        String header1 = "\"" + "header" + "\"" + ": " + "{" + "\"" + "parameterUnit" + "\"" + ": " + "\"" + "m/s" + "\"" + ", " + "\"" + "parameterNumber" + "\"" + ": " + 2 +
+                ", " + "\"" + "dx" + "\"" + ": " + dx + ", " + "\"" + "dy" + "\"" + ": " + dy +
+                ", " + "\"" + "parameterNumberName" + "\"" + ": " + "\"" + "eastward_wind" + "\"" + ", " + "\"" + "la1" + "\"" + ": " + la1 + ", " + "\"" + "la2" + "\"" + ": " + la2 +
+                ", " + "\"" + "parameterCategory" + "\"" + ": " + 2 + ", " + "\"" + "lo1" + "\"" + ": " + lo1 + ", " + "\"" + "lo2" + "\"" + ": " + lo2 +
+                ", " + "\"" + "nx" + "\"" + ": " + nx + ", " + "\"" + "ny" + "\"" + ": " + ny + ", " + "\"" + "refTime" + "\"" + ": " + "\"" + "2020-07-22 23:00:00" + "\"" + "}";
+
+        String header2 = "\"" + "header" + "\"" + ": " + "{" + "\"" + "parameterUnit" + "\"" + ": " + "\"" + "m/s" + "\"" + ", " + "\"" + "parameterNumber" + "\"" + ": " + 3 +
+                ", " + "\"" + "dx" + "\"" + ": " + dx + ", " + "\"" + "dy" + "\"" + ": " + dy +
+                ", " + "\"" + "parameterNumberName" + "\"" + ": " + "\"" + "eastward_wind" + "\"" + ", " + "\"" + "la1" + "\"" + ": " + la1 + ", " + "\"" + "la2" + "\"" + ": " + la2 +
+                ", " + "\"" + "parameterCategory" + "\"" + ": " + 2 + ", " + "\"" + "lo1" + "\"" + ": " + lo1 + ", " + "\"" + "lo2" + "\"" + ": " + lo2 +
+                ", " + "\"" + "nx" + "\"" + ": " + nx + ", " + "\"" + "ny" + "\"" + ": " + ny + ", " + "\"" + "refTime" + "\"" + ": " + "\"" + "2020-07-22 23:00:00" + "\"" + "}";
+
+        List<Double> uList = new ArrayList<Double>();
+        List<Double> vList = new ArrayList<Double>();
+        int x = 0;
+        int y = 0;
+        List<Map> mapList = new ArrayList<Map>();
+
+        for (int j = 0; j < deviceAndWinds.size(); j++) {
+            Map<String, Double> map = new HashMap<String, Double>();
+            Double windDir = deviceAndWinds.get(j).getWindDir();
+
+            Double windSpeed = deviceAndWinds.get(j).getWindSpeed();
+            if (windDir == null) {
+                windDir = 0.0;
+                windSpeed = 0.0;
+            }
+            Double tvoc = deviceAndWinds.get(j).getTVoc();
+
+            List tranlist = LatLngTransformation.Convert_BD09_To_GCJ02(deviceAndWinds.get(j).getLatitude(), deviceAndWinds.get(j).getLongitude());
+            Double transLo = (Double) tranlist.get(0);
+            Double transLa = (Double) tranlist.get(1);
+            if (tvoc == null) {
+                tvoc = 0.0;
+            }
+            Double dir = (270.0 - windDir * Math.PI / 180.0);
+
+            U = windSpeed * Math.cos(dir);
+            V = windSpeed * Math.sin(dir);
+            map.put("lo", transLo);
+            map.put("la", transLa);
+            map.put("U", U);
+            map.put("V", V);
+            mapList.add(map);
+        }
+        for (int i = 0; i < mapList.size(); i++) {
+            Double lo = (Double) mapList.get(i).get("lo");
+            Double la = (Double) mapList.get(i).get("la");
+            x = (int) Math.floor((lo - lo1) / dx);
+            y = Math.abs((int) Math.floor((la - la1) / dy));
+            //y=Math.floor(Math.abs(la-la1)/dy);
+            U = (Double) mapList.get(i).get("U");
+            V = (Double) mapList.get(i).get("V");
+            if (i == 0) {
+                for (int j = 0; j < nx * ny; j++) {
+                    uList.add(0.0);
+                    vList.add(0.0);
+                }
+            }
+            for (int j = 0; j < nx * ny; j++) {
+                if (i == 0) {
+                    if ((y >= 2 && j == (y) * nx + x)) {
+                        int k;
+                        for (k = j - 2 * nx; k <= j + 2 * nx; k = k + nx) {
+                            uList.set(k, U);
+                            uList.set(k - 1, U);
+                            uList.set(k - 2, U);
+                            uList.set(k + 1, U);
+                            uList.set(k + 2, U);
+                            vList.set(k, V);
+                            vList.set(k - 1, V);
+                            vList.set(k - 2, V);
+                            vList.set(k + 1, V);
+                            vList.set(k + 2, V);
+                        }
+                    }
+                } else {
+                    if (y >= 1 && j == y * nx + x) {
+                        int k;
+                        for (k = j - 2 * nx; k <= j + 2 * nx; ) {
+                            uList.set(k - 1, U);
+                            uList.set(k - 2, U);
+                            uList.set(k + 1, U);
+                            uList.set(k + 2, U);
+                            vList.set(k - 1, V);
+                            vList.set(k - 2, V);
+                            vList.set(k + 1, V);
+                            vList.set(k + 2, V);
+                            k = k + nx;
+                        }
+                        uList.set(j, U);
+                        vList.set(j, V);
+                    }
+                }
+            }
+        }
+        String uData = "\"" + "data" + "\"" + ": " + uList;
+        String vData = "\"" + "data" + "\"" + ": " + vList;
+        String s1 = "[" + "{" + header1 + ", " + uData + "}" + ", " + "{" + header2 + ", " + vData + "}" + "]";
+        JSONArray jsonArray = JSONArray.parseArray(s1);
+        MonitorPoint monitorPoint = monitorPointMapper.byIdGetMonitorPoint(Integer.parseInt(id));
+        Double monitorLo = monitorPoint.getLongitude();
+        Double monitorLa = monitorPoint.getLatitude();
+        List transList = LatLngTransformation.Convert_BD09_To_GCJ02(monitorLa, monitorLo);
+        Double transLo = (Double) transList.get(0);
+        Double transLa = (Double) transList.get(1);
+        list.add(jsonArray);
+        list.add(transLo);
+        list.add(transLa);
+        list.add(laLaMap);
+        return list;
+    }
+
+    @Override
+    public List byMonitorIdGetDeviceAndWindSpecial(String id, String tab) {
+        MonitorPoint monitorPoint = monitorPointMapper.byIdGetMonitorPoint(Integer.parseInt(id));
+        Integer areaCode = monitorPoint.getAreaCode();
+        String townCode = monitorPoint.getTownCode() + "";
+        int monitorPointId = monitorPoint.getId();
+        Map<String, Object> parm = new HashMap<>();
+        List<DeviceAndWind> deviceAndWinds = new ArrayList<>();
+        Double loma = 0.0;
+        Double lomi = 0.0;
+        Double lama = 0.0;
+        Double lami = 0.0;
+
+        int length = 1;
+        int perdlen = 1;
+        if (areaCode == 320581) {
+            parm.put("areaCode", areaCode);
+            List<Device> deviceList = deviceMapper.getDeviceByCode(parm);
+            for (Device d : deviceList) {
+                String mac = d.getMac();
+                DeviceAndWind deviceAndWind = deviceMapper.byMacGetDeviceAndWind(mac, tab);
+                if (deviceAndWind != null) {
+                    deviceAndWinds.add(deviceAndWind);
+                }
+            }
+            length = 8000;
+            perdlen = 2200;
+        } else if ((areaCode == 320583) && (townCode.equals("320583108000"))) {
+            parm.put("townCode", townCode);
+            List<Device> deviceList = deviceMapper.getDeviceByCode(parm);
+            for (Device d : deviceList) {
+                String mac = d.getMac();
+                DeviceAndWind deviceAndWind = deviceMapper.byMacGetDeviceAndWind(mac, tab);
+                if (deviceAndWind != null) {
+                    deviceAndWinds.add(deviceAndWind);
+                }
+            }
+            length = 2000;
+            perdlen = 280;
+        } else if (monitorPointId == 35) {
+            DeviceAndWind deviceAndWind = deviceMapper.getDeviceAndWindByMac("898607b0101730392253", tab);
+            DeviceAndWind deviceAndWind1 = deviceMapper.getDeviceAndWindByMac("p5dnd7a0392083", tab);
+            deviceAndWinds.add(deviceAndWind);
+            deviceAndWinds.add(deviceAndWind1);
+            length = 2000;
+            perdlen = 50;
+
+        } else {
+            deviceAndWinds = deviceMapper.byMonitorIdGetDeviceAndWind(Integer.parseInt(id), tab);
+            length = 2000;
+            perdlen = 80;
+        }
+        List loList = new ArrayList();
+        List laList = new ArrayList();
+        Double U = 0.0;
+        Double V = 0.0;
+        List list = new ArrayList();
+        for (DeviceAndWind andWind : deviceAndWinds) {
+            Double lo = andWind.getLongitude();
+            Double la = andWind.getLatitude();
+            List tranlist = LatLngTransformation.Convert_BD09_To_GCJ02(la, lo);
+            Double transLo = (Double) tranlist.get(0);
+            Double transLa = (Double) tranlist.get(1);
+            loList.add(transLo);
+            laList.add(transLa);
+        }
+
+        if (loList.size() > 0) {
+            loma = (Double) Collections.max(loList);
+            lomi = (Double) Collections.min(loList);
+        }
+        if (laList.size() > 0) {
+            lama = (Double) Collections.max(laList);
+            lami = (Double) Collections.min(laList);
+        }
+        Map laLaMap = new HashMap();
+        laLaMap.put("maxLo", loma);
+        laLaMap.put("minLo", lomi);
+        laLaMap.put("maxLa", lama);
+        laLaMap.put("minLa", lami);
+
+        Double lo1 = lomi - length * 0.00001141;
+        Double lo2 = loma + length * 0.00001141;
+        Double la2 = lami - length * 0.00000899;
+        Double la1 = lama + length * 0.00000899;
+
+        Double dx = 0.00001141 * perdlen;
+        Double dy = 0.00000899 * perdlen;
+        int nx = (int) Math.floor((lo2 - lo1) / dx);
+        int ny = (int) Math.floor((la1 - la2) / dy);
+        String header1 = "\"" + "header" + "\"" + ": " + "{" + "\"" + "parameterUnit" + "\"" + ": " + "\"" + "m/s" + "\"" + ", " + "\"" + "parameterNumber" + "\"" + ": " + 2 +
+                ", " + "\"" + "dx" + "\"" + ": " + dx + ", " + "\"" + "dy" + "\"" + ": " + dy +
+                ", " + "\"" + "parameterNumberName" + "\"" + ": " + "\"" + "eastward_wind" + "\"" + ", " + "\"" + "la1" + "\"" + ": " + la1 + ", " + "\"" + "la2" + "\"" + ": " + la2 +
+                ", " + "\"" + "parameterCategory" + "\"" + ": " + 2 + ", " + "\"" + "lo1" + "\"" + ": " + lo1 + ", " + "\"" + "lo2" + "\"" + ": " + lo2 +
+                ", " + "\"" + "nx" + "\"" + ": " + nx + ", " + "\"" + "ny" + "\"" + ": " + ny + ", " + "\"" + "refTime" + "\"" + ": " + "\"" + "2020-07-22 23:00:00" + "\"" + "}";
+
+        String header2 = "\"" + "header" + "\"" + ": " + "{" + "\"" + "parameterUnit" + "\"" + ": " + "\"" + "m/s" + "\"" + ", " + "\"" + "parameterNumber" + "\"" + ": " + 3 +
+                ", " + "\"" + "dx" + "\"" + ": " + dx + ", " + "\"" + "dy" + "\"" + ": " + dy +
+                ", " + "\"" + "parameterNumberName" + "\"" + ": " + "\"" + "eastward_wind" + "\"" + ", " + "\"" + "la1" + "\"" + ": " + la1 + ", " + "\"" + "la2" + "\"" + ": " + la2 +
+                ", " + "\"" + "parameterCategory" + "\"" + ": " + 2 + ", " + "\"" + "lo1" + "\"" + ": " + lo1 + ", " + "\"" + "lo2" + "\"" + ": " + lo2 +
+                ", " + "\"" + "nx" + "\"" + ": " + nx + ", " + "\"" + "ny" + "\"" + ": " + ny + ", " + "\"" + "refTime" + "\"" + ": " + "\"" + "2020-07-22 23:00:00" + "\"" + "}";
+
+        List<Double> uList = new ArrayList<Double>();
+        List<Double> vList = new ArrayList<Double>();
+        int x = 0;
+        int y = 0;
+        List<Map> mapList = new ArrayList<Map>();
+
+        for (int j = 0; j < deviceAndWinds.size(); j++) {
+            Map<String, Double> map = new HashMap<String, Double>();
+            Double windDir = deviceAndWinds.get(j).getWindDir();
+            Double windSpeed = deviceAndWinds.get(j).getWindSpeed();
+            if (windDir == null) {
+                windDir = 0.0;
+                windSpeed = 0.0;
+            }
+            Double tvoc = deviceAndWinds.get(j).getTVoc();
+
+            List tranlist = LatLngTransformation.Convert_BD09_To_GCJ02(deviceAndWinds.get(j).getLatitude(), deviceAndWinds.get(j).getLongitude());
+            Double transLo = (Double) tranlist.get(0);
+            Double transLa = (Double) tranlist.get(1);
+            if (tvoc == null) {
+                tvoc = 0.0;
+            }
+            Double dir = (270.0 - windDir * Math.PI / 180.0);
+
+            U = windSpeed * Math.cos(dir);
+            V = windSpeed * Math.sin(dir);
+            map.put("lo", transLo);
+            map.put("la", transLa);
+            map.put("U", U);
+            map.put("V", V);
+            mapList.add(map);
+        }
+        for (int i = 0; i < mapList.size(); i++) {
+            Double lo = (Double) mapList.get(i).get("lo");
+            Double la = (Double) mapList.get(i).get("la");
+            x = (int) Math.floor((lo - lo1) / dx);
+            y = Math.abs((int) Math.floor((la - la1) / dy));
+            //y=Math.floor(Math.abs(la-la1)/dy);
+            U = (Double) mapList.get(i).get("U");
+            V = (Double) mapList.get(i).get("V");
+            if (i == 0) {
+                for (int j = 0; j < nx * ny; j++) {
+                    uList.add(0.0);
+                    vList.add(0.0);
+                }
+            }
+            for (int j = 0; j < nx * ny; j++) {
+                if (i == 0) {
+                    if ((y >= 2 && j == (y) * nx + x)) {
+                        int k;
+                        for (k = j - 2 * nx; k <= j + 2 * nx; k = k + nx) {
+                            uList.set(k, U);
+                            uList.set(k - 1, U);
+                            uList.set(k - 2, U);
+                            uList.set(k + 1, U);
+                            uList.set(k + 2, U);
+                            vList.set(k, V);
+                            vList.set(k - 1, V);
+                            vList.set(k - 2, V);
+                            vList.set(k + 1, V);
+                            vList.set(k + 2, V);
+                        }
+                    }
+                } else {
+                    if (y >= 1 && j == y * nx + x) {
+                        int k;
+                        for (k = j - 2 * nx; k <= j + 2 * nx; ) {
+                            uList.set(k - 1, U);
+                            uList.set(k - 2, U);
+                            uList.set(k + 1, U);
+                            uList.set(k + 2, U);
+                            vList.set(k - 1, V);
+                            vList.set(k - 2, V);
+                            vList.set(k + 1, V);
+                            vList.set(k + 2, V);
+                            k = k + nx;
+                        }
+                        uList.set(j, U);
+                        vList.set(j, V);
+                    }
+                }
+            }
+        }
+        String uData = "\"" + "data" + "\"" + ": " + uList;
+        String vData = "\"" + "data" + "\"" + ": " + vList;
+        String s1 = "[" + "{" + header1 + ", " + uData + "}" + ", " + "{" + header2 + ", " + vData + "}" + "]";
+        JSONArray jsonArray = JSONArray.parseArray(s1);
+
+        Double monitorLo = monitorPoint.getLongitude();
+        Double monitorLa = monitorPoint.getLatitude();
+        List transList = LatLngTransformation.Convert_BD09_To_GCJ02(monitorLa, monitorLo);
+        Double transLo = (Double) transList.get(0);
+        Double transLa = (Double) transList.get(1);
+
+        list.add(jsonArray);
+        list.add(transLo);
+        list.add(transLa);
+        list.add(laLaMap);
+        return list;
+    }
+
+    @Override
+    public List<Device> getDeviceByCodeAndId(String code, String id) {
+        return deviceMapper.getDeviceByCodeAndId(code, id);
+    }
+
+    @Override
+    public String byMacGetOrgId(String mac) {
+        return deviceMapper.byMacGetOrgId(mac);
+    }
+
+    @Override
+    public List<Device> getDevice(String macOrName) {
+        return deviceMapper.getDevice(macOrName);
+    }
+
+    @Override
+    public List<Device> getDeviceByCode() {
+        return deviceMapper.getDeviceByCityCode();
+    }
+
 }

--
Gitblit v1.8.0