ard-work/src/main/java/com/ruoyi/sy/controller/OilWallController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/sy/domain/ArdAccessFence.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/sy/service/ArdAccessFenceService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/sy/service/ArdOilWallService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/sy/service/ArdSyCarLockService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdAccessFenceServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdOilWallServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ard-work/src/main/java/com/ruoyi/sy/controller/OilWallController.java
@@ -1,21 +1,29 @@ package com.ruoyi.sy.controller; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.common.utils.uuid.UUID; import com.ruoyi.sy.domain.ArdAccessFence; import com.ruoyi.sy.domain.ArdOilWall; import com.ruoyi.sy.param.OilWallParam; import com.ruoyi.sy.service.ArdAccessFenceService; import com.ruoyi.sy.service.ArdOilWallService; import com.ruoyi.sy.domain.ArdSyCar; import com.ruoyi.sy.domain.ArdSyUser; import com.ruoyi.sy.service.IArdSyCarService; import com.ruoyi.sy.service.IArdSyUserService; import com.ruoyi.sy.service.impl.ArdAccessFenceServiceImpl; import com.ruoyi.sy.service.impl.ArdOilWallServiceImpl; import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.utils.gps.GeoTools; import com.ruoyi.utils.result.Results; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.awt.geom.Point2D; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -38,6 +46,9 @@ @Autowired private ISysConfigService sysConfigService; @Autowired private ArdAccessFenceService ardAccessFenceService; @PostMapping("/add") @ApiOperation("æ·»å çµåå´æ ") @@ -91,5 +102,12 @@ return Results.succeed(); } @GetMapping("/accessAll") @ApiOperation("æ¥è¯¢ææçµåå´æ ") public Results accessAll(){ return Results.succeed(ardAccessFenceService.all()); } } ard-work/src/main/java/com/ruoyi/sy/domain/ArdAccessFence.java
@@ -14,9 +14,8 @@ private String deptName; private String lng; private String lat; private String time; private String intoShipment; private String intoShipmentTime; private String intoUnload; private String intoUnloadId; private String intoUnloadTime; } ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java
@@ -16,10 +16,7 @@ import com.ruoyi.sy.domain.ArdAccessFence; import com.ruoyi.sy.domain.ArdOilWall; import com.ruoyi.sy.domain.ArdSyCarLock; import com.ruoyi.sy.service.impl.ArdOilWallServiceImpl; import com.ruoyi.sy.service.impl.ArdSyCarDayServiceImpl; import com.ruoyi.sy.service.impl.ArdSyCarLockServiceImpl; import com.ruoyi.sy.service.impl.ArdSyCarServiceImpl; import com.ruoyi.sy.service.impl.*; import com.ruoyi.utils.gps.GeoTools; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -81,42 +78,98 @@ String carId = (String)gpsMap.get("carId"); ((ArdSyCarDayServiceImpl)SpringUtils.getBean("ardSyCarDayServiceImpl")).insertArdSyCarDay(carId);//æ°å¢è½¦è¾ä¸æ¥æ¶é´ Map<String,Object> result = ((ArdSyCarServiceImpl)SpringUtils.getBean("ardSyCarServiceImpl")).getArdSyCarAndDeptByCarId(carId);//æ¥è¯¢è½¦è¾åé¨é¨ // log.error("---------------------"+result); if(result != null){ //æ¸ æ·¤å®ä½ //æ¸ æ·¤å ¥æ å¼å§---------- String lng = (String) gpsMap.get("lng");//è·åç»åº¦ String lat = (String) gpsMap.get("lat");//è·å纬度 String carName = (String) gpsMap.get("carName");//è·å车çå· String time = (String) gpsMap.get("result");//å®ä½æ¶é´ String deptNum = (String) result.get("deptId");//è·åé¨é¨ID String deptName = (String) result.get("deptName");//è·åé¨é¨åç§° // String carId = "13"; // String lng = "124.74695492384757"; // String lat = "46.09510768522894"; // String carName = "é»E21397";//è·å车çå· // String time = "20231019161815";//å®ä½æ¶é´ // String deptNum = "100";//è·åé¨é¨ID // String deptName = "å级";//è·åé¨é¨åç§° //å®ä¹2ç»´ç©ºé´ Point2D.Double point = new Point2D.Double(Double.parseDouble(lng), Double.parseDouble(lat)); List<Point2D.Double> pts = new ArrayList<Point2D.Double>(); //å¹é å ¨é¨å´æ List<ArdOilWall> ardOilWalls = ((ArdOilWallServiceImpl)SpringUtils.getBean("ArdOilWallServiceImpl")).all(); for (int i = 0; i < ardOilWalls.size(); i++) { pts.clear(); ArdOilWall ardOilWall = ardOilWalls.get(i); String[] coord = ardOilWall.getCoord().split(","); for (int j = 0; j < coord.length; j = j + 3) { pts.add(new Point2D.Double(Double.parseDouble(coord[j]), Double.parseDouble(coord[j+1]))); //æ¥è¯¢å®ä½æ²¹è½¦è¡¨ä¸æ¯å¦æè¯¥è½¦è¾ ArdAccessFence ardAccessFence = ((ArdAccessFenceServiceImpl)SpringUtils.getBean("ArdAccessFenceServiceImpl")).queryAccess(carId); //å¦ææ²¡æè¯´æè½¦è¾æªè¿å ¥è£ æ²¹ç¹ï¼éè¦å¹é ææè£ æ²¹ç¹å´æ if(ardAccessFence==null){ //å¹é å ¨é¨è£ æ²¹ç¹å´æ List<ArdOilWall> ardOilWalls = ((ArdOilWallServiceImpl)SpringUtils.getBean("ArdOilWallServiceImpl")).accessAll(); for (int i = 0; i < ardOilWalls.size(); i++) { pts.clear(); ArdOilWall ardOilWall = ardOilWalls.get(i); String[] coord = ardOilWall.getCoord().split(","); for (int j = 0; j < coord.length; j = j + 3) { pts.add(new Point2D.Double(Double.parseDouble(coord[j]), Double.parseDouble(coord[j+1]))); } if(GeoTools.IsPtInPoly(point, pts)){ //è¿å ¥äºå´æ å ¥åº ArdAccessFence ardAccessFence1 = new ArdAccessFence(); ardAccessFence1.setId(String.valueOf(UUID.randomUUID())); ardAccessFence1.setCarId(carId); ardAccessFence1.setCarName(carName); ardAccessFence1.setDeptId(deptNum); ardAccessFence1.setDeptName(deptName); ardAccessFence1.setIntoShipment("è¿å ¥è£ æ²¹ç¹"); ardAccessFence1.setIntoShipmentTime(time); ardAccessFence1.setLng(lng); ardAccessFence1.setLat(lat); ((ArdAccessFenceServiceImpl)SpringUtils.getBean("ArdAccessFenceServiceImpl")).access(ardAccessFence1); break; } } if(GeoTools.IsPtInPoly(point, pts)){ //è¿å ¥äºå´æ å ¥åº ArdAccessFence ardAccessFence = new ArdAccessFence(); ardAccessFence.setId(String.valueOf(UUID.randomUUID())); ardAccessFence.setCarId(carId); ardAccessFence.setCarName(carName); ardAccessFence.setDeptId(deptNum); ardAccessFence.setDeptName(deptName); ardAccessFence.setIntoShipment("è¿å ¥è£ æ²¹ç¹"); ardAccessFence.setIntoShipmentTime(time); }else { String unload = ardAccessFence.getIntoUnloadId(); //妿unload为空ï¼å¤ææ¯å¦è¿å ¥å¸æ²¹ç¹ if(unload==null){ //æ¥è¯¢å ¨é¨å¸æ²¹ç¹ List<ArdOilWall> ardOilWalls = ((ArdOilWallServiceImpl) SpringUtils.getBean("ArdOilWallServiceImpl")).uploadAll(); for (int i = 0; i < ardOilWalls.size(); i++) { pts.clear(); ArdOilWall ardOilWall = ardOilWalls.get(i); String[] coord = ardOilWall.getCoord().split(","); for (int j = 0; j < coord.length; j = j + 3) { pts.add(new Point2D.Double(Double.parseDouble(coord[j]), Double.parseDouble(coord[j + 1]))); } if (GeoTools.IsPtInPoly(point, pts)) { //è¿å ¥å¸æ²¹ç¹,åå ¥å¸æ²¹ç¹å´æ ID ardAccessFence.setIntoUnloadId(ardOilWall.getId()); ardAccessFence.setIntoUnloadTime(time); break; } } ardAccessFence.setLng(lng); ardAccessFence.setLat(lat); ((ArdSyCarLockServiceImpl)SpringUtils.getBean("ArdSyCarLockServiceImpl")).access(ardAccessFence); ((ArdAccessFenceServiceImpl)SpringUtils.getBean("ArdAccessFenceServiceImpl")).updAccess(ardAccessFence); }else { //妿unloadæå¼ï¼åç»§ç»å¤ææ¯å¦åºäºå¸æ²¹ç¹ï¼å¹é 叿²¹ç¹çå¯ä¸ID ArdOilWall ardOilWall = ((ArdOilWallServiceImpl) SpringUtils.getBean("ArdOilWallServiceImpl")).one(unload); pts.clear(); String[] coord = ardOilWall.getCoord().split(","); for (int j = 0; j < coord.length; j = j + 3) { pts.add(new Point2D.Double(Double.parseDouble(coord[j]), Double.parseDouble(coord[j + 1]))); } if (!GeoTools.IsPtInPoly(point, pts)) { //å¼åºäºå¸æ²¹ç¹å´æ ï¼å é¤è¯¥æ¡è½¦è¾æ°æ® ((ArdAccessFenceServiceImpl) SpringUtils.getBean("ArdAccessFenceServiceImpl")).delAccess(carId); }else { //æªå¼åºå¸æ²¹ç¹ï¼æ´æ°ç»çº¬åº¦ä¿å ardAccessFence.setLng(lng); ardAccessFence.setLat(lat); ((ArdAccessFenceServiceImpl)SpringUtils.getBean("ArdAccessFenceServiceImpl")).updAccess(ardAccessFence); } } } //æ¸ æ·¤å ¥æ ç»æ------------ gpsMap.putAll(result); String ancestors = (String) gpsMap.get("ancestors");//è·åç¶çº§é¨é¨ String[] ancestorsArray = ancestors.split(","); ard-work/src/main/java/com/ruoyi/sy/service/ArdAccessFenceService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ package com.ruoyi.sy.service; import com.ruoyi.sy.domain.ArdAccessFence; import java.util.List; public interface ArdAccessFenceService { int access(ArdAccessFence ardAccessFence); ArdAccessFence queryAccess(String carId); int updAccess(ArdAccessFence ardAccessFence); int delAccess(String carId); List<ArdAccessFence> all(); } ard-work/src/main/java/com/ruoyi/sy/service/ArdOilWallService.java
@@ -15,5 +15,6 @@ int updOilWall(ArdOilWall ardOilWall); ArdOilWall one(String id); List<ArdOilWall> query(OilWallParam oilWallParam); List<ArdOilWall> all(); List<ArdOilWall> accessAll(); List<ArdOilWall> uploadAll(); } ard-work/src/main/java/com/ruoyi/sy/service/ArdSyCarLockService.java
@@ -34,5 +34,5 @@ RtuVo updRtu(String carId); int updRtuCar(ArdSyCarRtu ardSyCarRtu); int access(ArdAccessFence ardAccessFence); } ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdAccessFenceServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,55 @@ package com.ruoyi.sy.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.sy.domain.ArdAccessFence; import com.ruoyi.sy.mapper.ArdAccessFenceMapper; import com.ruoyi.sy.service.ArdAccessFenceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class ArdAccessFenceServiceImpl implements ArdAccessFenceService { @Autowired private ArdAccessFenceMapper ardAccessFenceMapper; @Override public int access(ArdAccessFence ardAccessFence) { int num = 0; String carId = ardAccessFence.getCarId(); QueryWrapper<ArdAccessFence> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("car_id",carId); ArdAccessFence ardAccessFence1 = ardAccessFenceMapper.selectOne(queryWrapper); if(ardAccessFence1==null){ num = ardAccessFenceMapper.insert(ardAccessFence); } return num; } @Override public ArdAccessFence queryAccess(String carId) { QueryWrapper<ArdAccessFence> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("car_id",carId); return ardAccessFenceMapper.selectOne(queryWrapper); } @Override public int updAccess(ArdAccessFence ardAccessFence) { return ardAccessFenceMapper.updateById(ardAccessFence); } @Override public int delAccess(String carId) { QueryWrapper<ArdAccessFence> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("car_id",carId); return ardAccessFenceMapper.delete(queryWrapper); } @Override public List<ArdAccessFence> all() { return ardAccessFenceMapper.selectList(null); } } ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdOilWallServiceImpl.java
@@ -48,7 +48,16 @@ } @Override public List<ArdOilWall> all() { return ardOilWallMapper.selectList(null); public List<ArdOilWall> accessAll() { QueryWrapper<ArdOilWall> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("type","1"); return ardOilWallMapper.selectList(queryWrapper); } @Override public List<ArdOilWall> uploadAll() { QueryWrapper<ArdOilWall> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("type","2"); return ardOilWallMapper.selectList(queryWrapper); } } ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java
@@ -36,8 +36,7 @@ private ArdSyCarRtuMapper rtuMapper; @Autowired private ArdSyCarLockMapper lockMapper; @Autowired private ArdAccessFenceMapper ardAccessFenceMapper; @Override public List<CarVo> car() { @@ -164,18 +163,6 @@ return ardSyCarMapper.updateById(ardSyCar); } @Override public int access(ArdAccessFence ardAccessFence) { int num = 0; String carId = ardAccessFence.getCarId(); QueryWrapper<ArdAccessFence> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("car_id",carId); ArdAccessFence ardAccessFence1 = ardAccessFenceMapper.selectOne(queryWrapper); if(ardAccessFence1==null){ num = ardAccessFenceMapper.insert(ardAccessFence); } return num; } public List<CarVo> carAnalysis(List<ArdSyCar> ardSyCars){ List<CarVo> list = new ArrayList<>();