From a2e85a4911dd285f7a1ac9fde312187aec597198 Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期二, 23 七月 2024 16:34:54 +0800
Subject: [PATCH] 异常停车逻辑修改提交
---
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java | 72 ++++++++++++++++++++++-------------
1 files changed, 45 insertions(+), 27 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
index 4797f54..f3d9d50 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
@@ -26,6 +26,7 @@
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.sy.domain.ArdAccessFence;
+import com.ruoyi.sy.mapper.ArdTankLockMapper;
import com.ruoyi.sy.param.ArdSyCarParam;
import com.ruoyi.sy.vo.ArdSyCarVo;
import com.ruoyi.system.mapper.SysDeptMapper;
@@ -98,6 +99,9 @@
@Resource
private SysDeptMapper sysDeptMapper;
+
+ @Resource
+ private ArdTankLockMapper ardTankLockMapper;
@Value("${minio.endpoint}")
private String minioEndpoint;
@@ -212,7 +216,16 @@
}
}
MinioUtil.removeObjects("sycar", objectNames);
- return ardSyCarMapper.deleteArdSyCarByIds(ids);
+ try{
+ return ardSyCarMapper.deleteArdSyCarByIds(ids);
+ }finally {
+ List<String> carIds = new ArrayList();
+ for(ArdSyCar ardSyCar : result){
+ carIds.add(ardSyCar.getCarId());
+ }
+ ardTankLockMapper.deleteArdTankLockAndWallByCarIds(carIds);
+ }
+
}
/**
@@ -559,17 +572,30 @@
}
for (Map<String, Object> m : carList) {
if (((String) m.get("stateCn")).contains("鍦ㄧ嚎")) {
- online = online + 1;
+ String carId = (String) m.get("carId");
+ ArdSyCar ardSyCarQuery = new ArdSyCar();
+ ardSyCarQuery.setCarId(carId);
+ List<ArdSyCar> ardSyCarList = ardSyCarMapper.selectArdSyCarList(ardSyCarQuery);
+ if(ardSyCarList.size() != 0){
+ online = online + 1;
+ }else{
+ continue;
+ }
} else {
continue;
}
}
-// for (Map<String, Object> m : (List<Map<String, Object>>) result0.get("list")) {
-// if (((String) m.get("teamId")).equals(((String) map.get("teamId")))) {
-// map.put("count", Integer.parseInt((String) m.get("carNum")));
-// }
-// }
- map.put("count", carList.size());
+ List<String> carIdList = new ArrayList();//瀛樻斁杞﹂槦涓嬪叏閮ㄨ溅杈嗕富閿�
+ for(Map<String, Object> carMap : carList){
+ carIdList.add((String) carMap.get("carId"));
+ }
+ //map.put("count", carList.size());
+ if(carIdList.size() == 0){
+ map.put("count", 0);
+ }else{
+ Long count = ardSyCarMapper.getCountByCarIdList(carIdList);
+ map.put("count", count);
+ }
map.put("online", online);
online = 0;
}
@@ -675,29 +701,19 @@
//瀵规瘮鎶婂尮閰嶅埌鐨勬暟鎹坊鍔犲埌list涓�
for (int i = 0; i < list.size(); i++) {
String carId = list.get(i).get("carId");
- Boolean isCar = false;
for (int j = 0; j < carList.size(); j++) {
ArdSyCar ardSyCar = carList.get(j);
if (carId.equals(ardSyCar.getCarId())) {
- /*String url = "";
- if (ardSyCar.getCarPicture() != null) {
- if (!ardSyCar.getCarPicture().equals("")) {
- url = ardSyCar.getCarPicture().split("sycar")[0];
- }
- }*/
list.get(i).put("carModel", this.minioEndpoint + "/" + ardSyCar.getCarModel());//zns
- //m.put("carModel",ardSyCar.getCarModel());
list.get(i).put("carTypeArd", ardSyCar.getCarType());
list.get(i).put("carBrand", ardSyCar.getCarBrand());
list.get(i).put("carPicture", ardSyCar.getCarPicture());
- isCar = true;
+ list.get(i).put("deptId", ardSyCar.getDeptId());
break;
}
}
- if(!isCar){
- list.remove(list.get(i));
- }
}
+ list = list.stream().filter(map -> map.get("deptId") != null).collect(Collectors.toList());
return list;
}
@@ -1364,13 +1380,15 @@
String carId = (String) carMap.get("carId");
Map<String, Object> carGPSTrack = sYClient.getCarNearPositionByCarId(syUrl, carId, ardSyUser.getUserId(), sessionId);
List<Map<String, Object>> carGPSMap = (List<Map<String, Object>>) carGPSTrack.get("list");
- Double lng = Double.valueOf((String) carGPSMap.get(0).get("lng"));
- Double lat = Double.valueOf((String) carGPSMap.get(0).get("lat"));
- double distance = GisUtil.getDistance(new double[]{longitude, latitude}, new double[]{lng, lat});
- if (distance <= radius) {
- carMap.put("longitude", lng);
- carMap.put("latitude", lat);
- filteredList.add(carMap); // 灏嗘弧瓒虫潯浠剁殑杞﹁締娣诲姞鍒扮瓫閫夊垪琛ㄤ腑
+ if(carGPSMap.size()>0) {
+ Double lng = Double.valueOf((String) carGPSMap.get(0).get("lng"));
+ Double lat = Double.valueOf((String) carGPSMap.get(0).get("lat"));
+ double distance = GisUtil.getDistance(new double[]{longitude, latitude}, new double[]{lng, lat});
+ if (distance <= radius) {
+ carMap.put("longitude", lng);
+ carMap.put("latitude", lat);
+ filteredList.add(carMap); // 灏嗘弧瓒虫潯浠剁殑杞﹁締娣诲姞鍒扮瓫閫夊垪琛ㄤ腑
+ }
}
}
return filteredList;
--
Gitblit v1.9.3