From 3a1c37eeff91265441a69afc108734f37f3cce72 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Tue, 18 Jul 2023 11:25:28 +0800
Subject: [PATCH] chore:测试提交

---
 screen-api/src/main/java/com/moral/api/controller/UAVController.java |  111 +++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 87 insertions(+), 24 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/controller/UAVController.java b/screen-api/src/main/java/com/moral/api/controller/UAVController.java
index 9d9582b..9d29b6e 100644
--- a/screen-api/src/main/java/com/moral/api/controller/UAVController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/UAVController.java
@@ -4,6 +4,7 @@
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.moral.api.entity.HistorySecondUav;
 import com.moral.api.mapper.HistorySecondUavMapper;
 import com.moral.api.pojo.dto.uav.UAVGteForDTO;
@@ -122,7 +123,7 @@
         //������2
         String[] zuoxia = calLocationByDistanceAndLocationAndDirection(180, minLon, maxLat, 50);
 
-        for (int i = 0; i <distance1 ; i+=60) {
+        for (int i = 0; i <distance2 ; i+=50) {
             UAVGteForDTO dto1 = new UAVGteForDTO();
             String[] strings2 = calLocationByDistanceAndLocationAndDirection(90, minLon, maxLat, i);
             String[] strings3 = calLocationByDistanceAndLocationAndDirection(90, Double.parseDouble(youshang[0].toString()), Double.parseDouble(youshang[1].toString()), i);
@@ -133,7 +134,7 @@
             dto1.setRightBottom(strings4);
             dto1.setLeftBottom(strings5);
             list.add(dto1);
-            for (int j = 0; j < distance2; j+=60) {
+            for (int j = 0; j < distance1; j+=50) {
                 UAVGteForDTO dto2 = new UAVGteForDTO();
                 String[] strings6 = calLocationByDistanceAndLocationAndDirection(180, Double.parseDouble(strings2[0].toString()), Double.parseDouble(strings2[1].toString()), j);
                 String[] strings7 = calLocationByDistanceAndLocationAndDirection(180, Double.parseDouble(strings3[0].toString()), Double.parseDouble(strings3[1].toString()), j);
@@ -155,10 +156,10 @@
             doubleArrayList.add(uavGteForDTO.getLeftBottom());
             doubleArrayList.add(uavGteForDTO.getRightTop());
             doubleArrayList.add(uavGteForDTO.getRightBottom());
-            UAVResultDTO result = getResult(doubleArrayList);
-            uavResultDTOS1.add(result);
+//            UAVResultDTO result = getResult(doubleArrayList);
+//            uavResultDTOS1.add(result);
         }
-        if (uavResultDTOS1!=null){
+        if (!ObjectUtils.isEmpty(uavResultDTOS1)){
             return new ResultMessage(ResponseCodeEnum.SUCCESS.getCode(), ResponseCodeEnum.SUCCESS.getMsg(),uavResultDTOS1);
 
         }
@@ -187,8 +188,8 @@
                 }
             }
 //            lists.add(list1);
-//            String result = getResult(doubleArrayList);
-//            rsMap.put(result,list1);
+            String result = getResult(doubleArrayList);
+            rsMap.put(result,list1);
         }
 
 
@@ -197,6 +198,9 @@
         for (String string : strings) {
             UAVResultDTO dto = new UAVResultDTO();
             List<String> list1 = rsMap.get(string);
+            if (ObjectUtils.isEmpty(list1)){
+                continue;
+            }
             ArrayList<Double> TVOCArrayList = new ArrayList<>();
             ArrayList<Double> PM10ArrayList = new ArrayList<>();
             ArrayList<Double> PM25ArrayList = new ArrayList<>();
@@ -206,6 +210,7 @@
             ArrayList<Double> COArrayList = new ArrayList<>();
             ArrayList<Double> WDArrayList = new ArrayList<>();
             ArrayList<Double> SHArrayList = new ArrayList<>();
+            ArrayList<Double> O3ArrayList = new ArrayList<>();
             for (String s : list1) {
                 JSONObject jsonObject = JSON.parseObject(s);
                 //tvoc
@@ -217,35 +222,93 @@
                 ///������������
                 String a21004 = jsonObject.get("a21004").toString();
 //                //������
-//                String a01006 = jsonObject.get("a01006").toString();
-//                if (a01006!=null){
-//                    QYArrayList.add(Double.parseDouble(a01006));
-//                }
+                Object a01006 = jsonObject.get("a01006");
+                if (!Objects.isNull(a01006)){
+                    QYArrayList.add(Double.parseDouble(a01006.toString()));
+                }
                 //pm10
                 String a34002 = jsonObject.get("a34002").toString();
                 //co
                 String a21005 = jsonObject.get("a21005").toString();
                 //������
-//                String a01002 = jsonObject.get("a01002").toString();
+                Object a01002 = jsonObject.get("a01002");
+                if (!Objects.isNull(a01002)){
+                    QYArrayList.add(Double.parseDouble(a01002.toString()));
+                }
                 //������
-//                String a01001 = jsonObject.get("a01001").toString();
+                Object a01001 = jsonObject.get("a01001");
+                if (!Objects.isNull(a01001)){
+                    QYArrayList.add(Double.parseDouble(a01001.toString()));
+                }
+                String a05024 = jsonObject.get("a05024").toString();
                 TVOCArrayList.add(Double.parseDouble(a99054));
                 PM10ArrayList.add(Double.parseDouble(a34002));
                 PM25ArrayList.add(Double.parseDouble(a34004));
                 SOArrayList.add(Double.parseDouble(a21026));
                 NOArrayList.add(Double.parseDouble(a21004));
                 COArrayList.add(Double.parseDouble(a21005));
+                O3ArrayList.add(Double.parseDouble(a05024));
 
-//                WDArrayList.add(Double.parseDouble(a01001));
-//                SHArrayList.add(Double.parseDouble(a01002));
+            }
+            double WDDouble =0.0;
+            double SHDouble =0.0;
+            double QYDouble =0.0;
+            double CODouble =0.0;
+            double TVODouble =0.0;
+            double PM10Double =0.0;
+            double PM25Double =0.0;
+            double SODouble =0.0;
+            double NODouble =0.0;
+            double O3Double =0.0;
+            if (COArrayList.size()>0){
+                CODouble = COArrayList.stream().mapToDouble(Double::doubleValue).average().getAsDouble();
+            }
+            if (TVOCArrayList.size()>0){
+                TVODouble = TVOCArrayList.stream().mapToDouble(Double::doubleValue).average().getAsDouble();
+            }
+            if (PM10ArrayList.size()>0){
+                PM10Double = PM10ArrayList.stream().mapToDouble(Double::doubleValue).average().getAsDouble();
+            }
+            if (PM25ArrayList.size()>0){
+                PM25Double = PM25ArrayList.stream().mapToDouble(Double::doubleValue).average().getAsDouble();
+            }
+            if (SOArrayList.size()>0){
+                SODouble = SOArrayList.stream().mapToDouble(Double::doubleValue).average().getAsDouble();
+            }
+            if (NOArrayList.size()>0){
+                NODouble = NOArrayList.stream().mapToDouble(Double::doubleValue).average().getAsDouble();
+            }
+            if (WDArrayList.size()>0){
+                 WDDouble = WDArrayList.stream().mapToDouble(Double::doubleValue).average().getAsDouble();
+            }
+            if (SHArrayList.size()>0){
+                SHDouble = SHArrayList.stream().mapToDouble(Double::doubleValue).average().getAsDouble();
+            }
+            if (QYArrayList.size()>0){
+                QYDouble = QYArrayList.stream().mapToDouble(Double::doubleValue).average().getAsDouble();
+            }
+            if (O3ArrayList.size()>0){
+                O3Double = O3ArrayList.stream().mapToDouble(Double::doubleValue).average().getAsDouble();
             }
 
-            double asDouble = COArrayList.stream().mapToInt(Double::intValue).average().getAsDouble();
-
+            dto.setCoAvg(CODouble);
+            dto.setNO2Avg(NODouble);
+            dto.setO3Avg(O3Double);
+            dto.setTVOCAvg(TVODouble);
+            dto.setPM10Avg(PM10Double);
+            dto.setPM25Avg(PM25Double);
+            dto.setSO2Avg(SODouble);
+            dto.setWDAvg(WDDouble);
+            dto.setSHAvg(SHDouble);
+            dto.setQYAvg(QYDouble);
+            String[] s = string.split("_");
+            dto.setFlyLat(Double.parseDouble(s[1]));
+            dto.setFlyLon(Double.parseDouble(s[0]));
+            uavResultDTOS.add(dto);
         }
 
 
-        return new ResultMessage(ResponseCodeEnum.SUCCESS.getCode(), ResponseCodeEnum.SUCCESS.getMsg(),null);
+        return new ResultMessage(ResponseCodeEnum.SUCCESS.getCode(), ResponseCodeEnum.SUCCESS.getMsg(),uavResultDTOS);
     }
 
 
@@ -349,8 +412,8 @@
     }
 
 
-    public static UAVResultDTO getResult(ArrayList<String[]> doubleArrayList){
-        UAVResultDTO uavResultDTO = new UAVResultDTO();
+    public static String getResult(ArrayList<String[]> doubleArrayList){
+//        UAVResultDTO uavResultDTO = new UAVResultDTO();
             int total = doubleArrayList.size();
             double X = 0, Y = 0, Z = 0;
             for (int i = 0; i < total; i++) {
@@ -374,11 +437,11 @@
 
         double rsLon = Lon * 180 / Math.PI;
         double rsLat = Lat * 180 / Math.PI;
-        uavResultDTO.setFlyLon(rsLon);
-        uavResultDTO.setFlyLat(rsLat);
+//        uavResultDTO.setFlyLon(rsLon);
+//        uavResultDTO.setFlyLat(rsLat);
 
-//        return rsLon+"_"+rsLat;
-        return uavResultDTO;
+        return rsLon+"_"+rsLat;
+//        return uavResultDTO;
     }
 
     /**

--
Gitblit v1.8.0