From ab061be50b7653531cbe134416c3ebdd876e4791 Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Thu, 19 Oct 2023 13:56:17 +0800
Subject: [PATCH] fix:风场数据范围提交

---
 screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java |   46 +++++++++++++++++++---------------------------
 1 files changed, 19 insertions(+), 27 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java
index 958d520..dd304f4 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java
@@ -282,10 +282,10 @@
         Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo();
         Map<String, Object> orgInfo = (Map<String, Object>) userInfo.get("organization");
         Integer orgId = (Integer) orgInfo.get("id");
-        String time1 = params.get("time1").toString();
+        String time1 = params.get("startTime").toString();
         String dateString1 = DateUtils.stringToDateString(time1, DateUtils.yyyy_MM_dd_HH_mm_ss_EN, DateUtils.yyyy_MM_dd_HH_mm_CN);
         String rsTime1 = dateString1.substring(5, 14);
-        String time2 = params.get("time2").toString();
+        String time2 = params.get("endTime").toString();
         String dateString2 = DateUtils.stringToDateString(time2, DateUtils.yyyy_MM_dd_HH_mm_ss_EN, DateUtils.yyyy_MM_dd_HH_mm_CN);
         String rsTime2 = dateString2.substring(5, 14);
         HashMap<String, Object> rsMap = new HashMap<>();
@@ -293,7 +293,7 @@
         Map<String, List<DustldDTO>> collect = manageCoordinateMapper.CompareTo(orgId).stream().collect(Collectors.groupingBy(o -> o.getName()));
         Set<String> strings = collect.keySet();
         ArrayList<DustForm> list1 = new ArrayList<>();
-        ArrayList<DustForm> list2 = new ArrayList<>();
+        //���������������������
         StringBuilder builder = new StringBuilder();
 
         int i = 1;
@@ -305,29 +305,29 @@
             for (DustldDTO dustldDTO : dustldDTOS) {
                 String flyLat = dustldDTO.getFlyLat();
                 String flyLon = dustldDTO.getFlyLon();
-//                if (flyLon==null && flyLat==null){
-//                    continue;
-//                }
+                if (flyLon==null && flyLat==null){
+                    continue;
+                }
+                double latDouble1 = Double.parseDouble(flyLat);
+                double lonDouble1 = Double.parseDouble(flyLon);
                 for (Map<String, Object> dust : dusts) {
                     String flyLat1 = Objects.nonNull(dust.get("flyLat")) ? dust.get("flyLat").toString() :"0";
                     String flyLon1 = Objects.nonNull(dust.get("flyLon")) ? dust.get("flyLon").toString() :"0";
+                    double latDouble = Double.parseDouble(flyLat1);
+                    double lonDouble = Double.parseDouble(flyLon1);
 //                    String flyLon1 = dust.get("flyLon").toString();
-                    if (flyLat1.equals(flyLat) && flyLon1.equals(flyLon)){
+                    if (latDouble1==latDouble && lonDouble1==lonDouble){
                         Double dustld = Objects.nonNull(dust.get("dustld"))?Double.parseDouble(dust.get("dustld").toString()):0d;
 
                         if (dustld>=0 && dustld<40 ){
                             dustld = dustld + 170;
-                        }
-                        if (dustld>=40 && dustld<60 ){
+                        }else if (dustld>=40 && dustld<60){
                             dustld = dustld + 130;
-                        }
-                        if (dustld>=60 && dustld<100 ){
+                        }else if (dustld>=60 && dustld<100 ){
                             dustld = dustld + 110;
-                        }
-                        if (dustld>=100 && dustld<150 ){
+                        }else if (dustld>=100 && dustld<150){
                             dustld = dustld + 70;
-                        }
-                        if (dustld>=150 && dustld<180 ){
+                        }else if (dustld>=150 && dustld<180){
                             dustld = dustld + 30;
                         }
                         doubleArrayList.add(dustld);
@@ -338,15 +338,14 @@
             if (ObjectUtils.isEmpty(doubleArrayList)){
                 continue;
             }
-
             Double ListAva = doubleArrayList.stream() .collect(Collectors.averagingDouble(Double::doubleValue));
             double rsAvg = new BigDecimal(ListAva/1000).setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue();
             dustForm.setRoad(string);
             dustForm.setValue(rsAvg);
+            list1.add(dustForm);
             if (rsAvg>=0.3){
              builder.append("("+i+")"+string);
              i++;
-             list1.add(dustForm);
              //������������������
                 QueryWrapper<MaxRoad> wrapper = new QueryWrapper<>();
                 wrapper.eq("name",string);
@@ -359,18 +358,14 @@
                     maxRoad.setTime(DateUtils.getDate(time1,DateUtils.yyyy_MM_dd_EN));
                     maxRoadMapper.insert(maxRoad);
                 }
-
-            }else {
-             list2.add(dustForm);
             }
         }
         long timestamp2 = System.currentTimeMillis();
         log.info(timestamp2-timestamp+"");
         //������
         list1.sort(Comparator.comparing(DustForm::getValue).reversed());
-        list2.sort(Comparator.comparing(DustForm::getValue).reversed());
         rsMap.put("list1",list1);
-        rsMap.put("list2",list2);
+
 
         //������������������������������
         ArrayList<Map<String, Object>> list3 = new ArrayList<>();
@@ -384,12 +379,9 @@
         wrapper2.eq("time",maxRoads.get(0).getTime());
         List<MaxRoad> maxRoads1 = maxRoadMapper.selectList(wrapper2);
 
-        //������������
-        ArrayList<DustForm> dustForms = new ArrayList<>();
-        dustForms.addAll(list1);
-        dustForms.addAll(list2);
+        //������������������������������
         for (MaxRoad road : maxRoads1) {
-            for (DustForm dustForm : dustForms) {
+            for (DustForm dustForm : list1) {
                 if (road.getName().equals(dustForm.getRoad())){
                     HashMap<String, Object> map = new HashMap<>();
                     map.put("road",road.getName());

--
Gitblit v1.8.0