From baa4cacbf4cc35ea3c7bf3cc5c5944af9eeb1880 Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Mon, 18 Sep 2023 11:17:44 +0800
Subject: [PATCH] fix:测试无人机提交
---
screen-api/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java | 43 +++++++++++++++++++++
screen-api/src/main/java/com/moral/api/service/HistorySecondUavService.java | 2 +
screen-api/src/main/java/com/moral/api/service/impl/ProfessionServiceImpl.java | 15 ++-----
screen-api/src/main/java/com/moral/api/service/impl/CityAqiMonthlyServiceImpl.java | 19 +++------
screen-api/src/main/java/com/moral/api/controller/UAVController.java | 12 +++--
5 files changed, 63 insertions(+), 28 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 2323049..8763106 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
@@ -26,14 +26,11 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
-import org.springframework.web.bind.annotation.CrossOrigin;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import java.awt.geom.GeneralPath;
import java.awt.geom.Point2D;
+import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -135,5 +132,10 @@
return new ResultMessage(ResponseCodeEnum.SUCCESS.getCode(), ResponseCodeEnum.SUCCESS.getMsg(),vo);
}
+ @GetMapping("UAVTest")
+ public ResultMessage UAVTest(BigDecimal lat, BigDecimal lon, String batch){
+ historySecondUavService.UAVTest(lat, lon, batch);
+ return new ResultMessage();
+ }
}
diff --git a/screen-api/src/main/java/com/moral/api/service/HistorySecondUavService.java b/screen-api/src/main/java/com/moral/api/service/HistorySecondUavService.java
index 9c5a01c..7209030 100644
--- a/screen-api/src/main/java/com/moral/api/service/HistorySecondUavService.java
+++ b/screen-api/src/main/java/com/moral/api/service/HistorySecondUavService.java
@@ -5,6 +5,7 @@
import com.moral.api.pojo.dto.uav.UAVQueryTimeSlotDTO;
import com.moral.api.pojo.form.uav.UAVQueryTimeSlotForm;
+import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@@ -46,4 +47,5 @@
List<HistorySecondUav> queryDataByBatch(String batch);
+ boolean UAVTest(BigDecimal lat, BigDecimal lon, String batch);
}
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/CityAqiMonthlyServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/CityAqiMonthlyServiceImpl.java
index d3822e4..4e81d4e 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/CityAqiMonthlyServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/CityAqiMonthlyServiceImpl.java
@@ -25,14 +25,7 @@
import java.text.DecimalFormat;
import java.time.Duration;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.OptionalDouble;
+import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.DoubleStream;
@@ -126,7 +119,7 @@
CityAqiMonthly cityAqiMonthly = cityAqiMonthlyMapper.selectOne(cityAqiMonthlyQueryWrapper);
Double compositeIndex = null;
String compositeIndexYearOnYear = null;
- Integer pm25 = null;
+ Double pm25 = null;
String pm25YearOnYear = null;
if (cityAqiMonthly != null) {
Map<String, Object> aqiMap = JSONObject.parseObject(cityAqiMonthly.getValue(), Map.class);
@@ -145,7 +138,7 @@
//3.PM2.5������
if (aqiMap.get("PM2_5") != null) {
- pm25 = Integer.parseInt(aqiMap.get("PM2_5").toString());
+ pm25 = Objects.nonNull(aqiMap.get("PM2_5"))?Double.parseDouble(aqiMap.get("PM2_5").toString()):0d;
}
currentRankingResult.put("PM2_5", pm25 + "ug/m��");
@@ -183,7 +176,7 @@
Map<Integer, Map<String, Object>> monthlyCumulativeResult = null;
Double cityCompositeIndex = null;
String cityCompositeIndexYearOnYear = null;
- Integer cityPM25 = null;
+ Double cityPM25 = null;
String cityPM25YearOnYear = null;
if (!"1".equals(month)) {
Map<String, Object> cumulativeRankingResult = new HashMap<>();
@@ -201,7 +194,7 @@
cityCompositeIndexYearOnYear = cityMap.get("compositeIndex_yearOnYear").toString();
}
//���������PM2.5
- cityPM25 = (int) Double.parseDouble(cityMap.get("PM2_5").toString());
+ cityPM25 = Double.parseDouble(cityMap.get("PM2_5").toString());
if (cityMap.get("PM2_5_yearOnYear") != null) {
cityPM25YearOnYear = cityMap.get("PM2_5_yearOnYear").toString();
}
@@ -944,7 +937,7 @@
* @param pm25YearOnYear ���������������������������pm2.5������
* @description ���������������������������������������������������������������������������
*/
- private Map<String, Object> getAreaCurrentMonthResult(Map<Integer, String> areasMap, List<CityAqiMonthly> areaData, Double compositeIndex, String compositeIndexYearOnYear, Integer pm25, String pm25YearOnYear) {
+ private Map<String, Object> getAreaCurrentMonthResult(Map<Integer, String> areasMap, List<CityAqiMonthly> areaData, Double compositeIndex, String compositeIndexYearOnYear, Double pm25, String pm25YearOnYear) {
Map<String, Object> result = new HashMap<>();
result.put("compositeIndex", compositeIndex);
result.put("compositeIndexYearOnYear", compositeIndexYearOnYear);
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java
index 10b8016..627b26a 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java
@@ -1,6 +1,7 @@
package com.moral.api.service.impl;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.moral.api.entity.*;
import com.moral.api.mapper.HistorySecondUavMapper;
@@ -349,4 +350,46 @@
}
}
+ @Override
+ public boolean UAVTest(BigDecimal lat, BigDecimal lon, String batch) {
+ List<HistorySecondUav> list = new ArrayList<>();
+
+ QueryWrapper<HistorySecondUav> wrapper = new QueryWrapper<>();
+ wrapper.eq("batch", batch);
+ wrapper.select("value,mac,time,organization_id");
+ wrapper.orderByAsc("time");
+ List<HistorySecondUav> datas = historySecondUavMapper.selectList(wrapper);
+ Date time =DateUtils.addDays(datas.get(2).getTime(),0);
+ //String bat = "2023-08-08 14:42:20";
+ for(HistorySecondUav g : datas){
+ HistorySecondUav historySecondUav = new HistorySecondUav();
+ historySecondUav.setTime(DateUtils.addDays(g.getTime(),0));
+ historySecondUav.setMac(g.getMac());
+ historySecondUav.setBatch(time);
+ historySecondUav.setOrganizationId(g.getOrganizationId());
+ Map<String, Object> data = JSON.parseObject(g.getValue(), Map.class);
+ Map<String, Object> dataResult = new HashMap<>();
+ dataResult = data;
+ dataResult.put("flylat",Objects.isNull(data.get("flylat"))||data.get("flylat").toString().equals("0")?0d:Double.parseDouble(String.format("%.10f",Double.parseDouble(data.get("flylat").toString())+lat.doubleValue())));
+ dataResult.put("flylon",Objects.isNull(data.get("flylon"))||data.get("flylon").toString().equals("0")?0d:Double.parseDouble(String.format("%.10f",Double.parseDouble(data.get("flylon").toString())+lon.doubleValue())));
+ /*if(Objects.nonNull(data.get("a21026"))&& !data.get("a21026").toString().equals("0")){
+ Double a21026D = Double.parseDouble(data.get("a21026").toString());
+ if( a21026D>15){
+ a21026D = a21026D -10;
+ }
+ dataResult.put("a21026",Double.parseDouble(String.format("%.4f",a21026D)));
+ }
+ if(Objects.nonNull(data.get("a21004"))&& !data.get("a21004").toString().equals("0")){
+ Double a21024D = Double.parseDouble(data.get("a21004").toString());
+ if( a21024D>100){
+ a21024D = a21024D -100;
+ }
+ dataResult.put("a21004",Double.parseDouble(String.format("%.4f",a21024D)));
+ }*/
+ historySecondUav.setValue(JSONObject.toJSONString(dataResult));
+ list.add(historySecondUav);
+ }
+ this.saveBatch(list);
+ return true;
+ }
}
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/ProfessionServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/ProfessionServiceImpl.java
index 2608c7b..18ae1e2 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/ProfessionServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/ProfessionServiceImpl.java
@@ -6,14 +6,7 @@
import org.springframework.util.ObjectUtils;
import java.text.NumberFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
@@ -103,8 +96,10 @@
List<Map<String, Object>> devices = deviceService.getDevicesByOrganizationId(organizationId);
Set<Map<String, Object>> result = new HashSet<>();
for (Map<String, Object> device : devices) {
- List<Map<String, Object>> professions = (List<Map<String, Object>>) device.get("professions");
- result.addAll(professions);
+ if(Objects.nonNull(device)&&Objects.nonNull(device.get("professions"))&&device.containsKey("professions")){
+ List<Map<String, Object>> professions = (List<Map<String, Object>>) device.get("professions");
+ result.addAll(professions);
+ }
}
return result;
}
--
Gitblit v1.8.0