jinpengyong
2023-07-18 3a1c37eeff91265441a69afc108734f37f3cce72
chore:测试提交
3 files modified
176 ■■■■■ changed files
screen-api/src/main/java/com/moral/api/controller/UAVController.java 111 ●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/pojo/dto/uav/UAVResultDTO.java 3 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/ExcelServiceImpl.java 62 ●●●● patch | view | raw | blame | history
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;
    }
    /**
screen-api/src/main/java/com/moral/api/pojo/dto/uav/UAVResultDTO.java
@@ -35,4 +35,7 @@
    private Double SHAvg;
    private Double QYAvg;
}
screen-api/src/main/java/com/moral/api/service/impl/ExcelServiceImpl.java
@@ -491,60 +491,60 @@
            HashMap<String, Object> map = new HashMap<>();
            map.put("mac", objects[0]);
            map.put("time", objects[1]);
            // 二氧化硫
            // pm2.5
            if (!objects[2].toString().equals("--")){
                map.put("a21026", objects[2]);
                map.put("a34004", objects[2]);
            }
            // 二氧化氮
            // pm10
            if (!objects[3].toString().equals("--")){
                map.put("a21004", objects[3]);
                map.put("a34002", objects[3]);
            }
            // 一氧化碳
            // 二氧化硫
            if (!objects[4].toString().equals("--")){
                map.put("a21005", objects[4]);
                map.put("a21026", objects[4]);
            }
            // 臭氧
            // 二氧化氮
            if (!objects[5].toString().equals("--")){
                map.put("a05024", objects[5]);
                map.put("a21004", objects[5]);
            }
            // PM10
            // co
            if (!objects[6].toString().equals("--")){
                map.put("a34002", objects[6]);
                map.put("a21005", objects[6]);
            }
            // PM 2.5
            // o3
            if (!objects[7].toString().equals("--")){
                map.put("a34004", objects[7]);
                map.put("a05024", objects[7]);
            }
            // TVOCs
            if (!objects[8].toString().equals("--")){
                map.put("a99054", objects[8]);
            }
            // 温度
            if (!objects[9].toString().equals("--")){
                map.put("a01001", objects[9]);
            if (!objects[8].toString().equals("--")){
                map.put("a01001", objects[8]);
            }
            // 湿度
            if (!objects[10].toString().equals("--")){
                map.put("a01002", objects[10]);
            if (!objects[9].toString().equals("--")){
                map.put("a01002", objects[9]);
            }
            // 气压
            if (!objects[11].toString().equals("--")){
                map.put("a01006", objects[11]);
            }
            // 风速
            if (!objects[12].toString().equals("--")){
                map.put("a01007", objects[12]);
            if (!objects[10].toString().equals("--")){
                map.put("a01007", objects[10]);
            }
            // 风向
            if (!objects[13].toString().equals("--")){
                map.put("a01008", objects[13]);
            if (!objects[11].toString().equals("--")){
                map.put("a01008", objects[11]);
            }
            // 光照
            // 气压
            if (!objects[12].toString().equals("--")){
                map.put("a01006", objects[12]);
            }
            // 光照强度
            if (!objects[13].toString().equals("--")){
                map.put("a00e12", objects[13]);
            }
            // tvoc
            if (!objects[14].toString().equals("--")){
                map.put("a00e12", objects[14]);
                map.put("a99054", objects[14]);
            }
//            map.put("颗粒物0.3", objects[15]);