From a8fa8c5473d8bd4dc509d9f4b0bb370f443d15ad Mon Sep 17 00:00:00 2001
From: aijinhui <aijinhui>
Date: 星期二, 07 十一月 2023 16:23:03 +0800
Subject: [PATCH] 清淤

---
 ard-work/src/main/java/com/ruoyi/sy/param/AddCarParam.java                      |   12 ++
 ard-work/src/main/java/com/ruoyi/sy/controller/OilWallController.java           |    7 +
 ard-work/src/main/java/com/ruoyi/sy/service/ArdAccessFenceService.java          |    4 
 ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java          |   14 +-
 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdAccessFenceServiceImpl.java |   14 +
 ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java               |    2 
 ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarLockController.java      |   29 +++-
 ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java           |  241 ++++++++++++++++++++++-----------------
 ard-work/src/main/java/com/ruoyi/sy/domain/ArdAccessFence.java                  |    1 
 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java       |   12 +-
 10 files changed, 201 insertions(+), 135 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java b/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
index 314679f..a372488 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
@@ -108,7 +108,6 @@
             }
         };
         carPositionTimer.scheduleAtFixedRate(carPositionTask,date,3*1000);//鍚敤
-
         //杞﹁締瀹炴椂浣嶇疆绾跨▼
         PushClientImplAlarm pushClientImplAlarm = new PushClientImplAlarm(ip,ardSyUserList.get(0).getUserId(),ardSyUserList.get(0).getPassword());
         Thread pushClientImplAlarmThread = new Thread(pushClientImplAlarm);
@@ -343,6 +342,8 @@
             return Results.succeed();
         }else {
             map.put("userId",ardSyUser.getUserId());
+            map.put("password",ardSyUser.getPassword());
+            map.put("passwords",DigestUtils.md5Hex(ardSyUser.getPassword()));
         }
         return Results.succeed(map);
     }
@@ -371,7 +372,7 @@
         ArdSyUser ardSyUser = iArdSyUserService.userById(usersId);
         String carId = map.get("carId");
         String syURL = sysConfigService.getSYURL();
-        return ardSyCarService.getCarGPSBycarId(usersId,carId,syURL,ardSyUser);
+        return Results.succeed(ardSyCarService.getCarGPSBycarId(usersId,carId,syURL,ardSyUser));
     }
 
     @PreAuthorize("@ss.hasPermi('sy:syCar:chaseCarByCarId')")
@@ -402,12 +403,11 @@
         long tenSeconds = 1000L;
         Date beforeTenSeconds = new Date(currentTime.getTime() - tenSeconds);
         String startTime = sdf.format(beforeTenSeconds);
-        System.out.println(startTime);
         String usersId = SecurityUtils.getUserId();
         ArdSyUser ardSyUser = iArdSyUserService.userById(usersId);
         String syURL = sysConfigService.getSYURL();
         String sessionId = ardSyCarService.getSessionId(syURL,ardSyUser);
-        System.out.println(sessionId);
+        System.out.println("sessionId:"+sessionId);
         //鑾峰彇鎽勫儚閫氶亾淇℃伅
         Map<String, Object> result = ardSyCarService.getCarPicture(carId,syURL,sessionId);
         String vs = "";
@@ -415,7 +415,7 @@
             //鎻愬彇閫氶亾淇℃伅
             Map<String,Object> map = ((List<Map<String,Object>>)result.get("list")).get(0);
             Map<String, Object> videos = (Map<String, Object>) JSON.parse((String) map.get("videos"));
-            System.out.println(videos);
+            System.out.println("閫氶亾锛�"+videos);
             vs = (String) videos.get("vs");
         } catch (Exception e) {
             return AjaxResult.error("璇ヨ溅杈嗘病鏈夋憚鍍忛�氶亾鏃犵収鐗囨暟鎹紒");
@@ -428,10 +428,10 @@
         }
         //鎷嶇収
         Map<String,Object> sendCmdMap = ardSyCarService.sendCmd(ardSyUser.getUserId(),syURL,sessionId,carId,channelList);
-        System.out.println(sendCmdMap);
+        System.out.println("鎷嶇収锛�"+sendCmdMap);
         //鑾峰彇鐓х墖
         Map<String,Object> photoMap = ardSyCarService.getPhoto(syURL,carId,sessionId,startTime);
-        System.out.println(photoMap);
+        System.out.println("鑾峰彇鐓х墖锛�"+photoMap);
         return AjaxResult.success(photoMap);
     }
 
diff --git a/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarLockController.java b/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarLockController.java
index c73e34b..17d103d 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarLockController.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarLockController.java
@@ -8,6 +8,7 @@
 import com.ruoyi.sy.domain.ArdSyCarRtu;
 import com.ruoyi.sy.domain.ArdSyUser;
 import com.ruoyi.sy.mapper.ArdAccessFenceMapper;
+import com.ruoyi.sy.param.AddCarParam;
 import com.ruoyi.sy.service.ArdAccessFenceService;
 import com.ruoyi.sy.service.ArdSyCarLockService;
 import com.ruoyi.sy.service.IArdSyCarService;
@@ -79,8 +80,7 @@
         String usersId = SecurityUtils.getUserId();
         ArdSyUser ardSyUser = iArdSyUserService.userById(usersId);
         String syURL = sysConfigService.getSYURL();
-        Results results = ardSyCarService.getCarGPSBycarId(usersId,carId,syURL,ardSyUser);
-        Map<String,Object> map = (Map<String, Object>) results.getData();
+        Map<String,Object> map = ardSyCarService.getCarGPSBycarId(usersId,carId,syURL,ardSyUser);
         List list1 = (List) map.get("list");
         JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(list1.get(0)));
         String carPlate = (String) jsonObject.get("carPlate");
@@ -116,8 +116,7 @@
         String usersId = SecurityUtils.getUserId();
         ArdSyUser ardSyUser = iArdSyUserService.userById(usersId);
         String syURL = sysConfigService.getSYURL();
-        Results results = ardSyCarService.getCarGPSBycarId(usersId,carId,syURL,ardSyUser);
-        Map<String,Object> map = (Map<String, Object>) results.getData();
+        Map<String,Object> map = ardSyCarService.getCarGPSBycarId(usersId,carId,syURL,ardSyUser);
         List list1 = (List) map.get("list");
         JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(list1.get(0)));
         String carPlate = (String) jsonObject.get("carPlate");
@@ -138,7 +137,8 @@
     @GetMapping("/queryCar")
     @ApiOperation("娓呮筏鎵嬪姩娣诲姞杞﹁締鏌ヨ")
     public AjaxResult queryCar(){
-        List<ArdAccessFence> ardAccessFences = ardAccessFenceService.all();
+        String url  = sysConfigService.selectConfigByKey("minioIn")+"/";
+        List<ArdAccessFence> ardAccessFences = ardAccessFenceService.all(url);
         List<String> carIdList = new ArrayList<>();
         for (int i = 0; i < ardAccessFences.size(); i++) {
             String carId = ardAccessFences.get(i).getCarId();
@@ -151,11 +151,19 @@
 
     @PostMapping("/addCar")
     @ApiOperation("娓呮筏鎵嬪姩娣诲姞杞﹁締淇濆瓨")
-    public AjaxResult addCar(String carId){
-        List<CarVo> list = ardSyCarLockService.addCarBefore(carId);
+    public AjaxResult addCar(@RequestBody AddCarParam addCarParam){
+        List<CarVo> list = ardSyCarLockService.addCarBefore(addCarParam.getCarId());
         analysis(list);
         if(list.size()>0){
-            return AjaxResult.success(ardAccessFenceService.addCar(list.get(0)));
+            String usersId = SecurityUtils.getUserId();
+            ArdSyUser ardSyUser = iArdSyUserService.userById(usersId);
+            String syURL = sysConfigService.getSYURL();
+            Map<String, Object> map = ardSyCarService.getCarGPSBycarId(usersId,addCarParam.getCarId(),syURL,ardSyUser);
+            List list1 = (List) map.get("list");
+            JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(list1.get(0)));
+            String lng = (String) jsonObject.get("lng");
+            String lat = (String) jsonObject.get("lat");
+            return AjaxResult.success(ardAccessFenceService.addCar(list.get(0),addCarParam.getIsAlarm(),lng,lat));
         }
         return AjaxResult.success();
     }
@@ -166,7 +174,7 @@
         return AjaxResult.success(ardAccessFenceService.delCar(id));
     }
 
-    @PutMapping("/addCar")
+    @PutMapping("/cleanAlarm")
     @ApiOperation("娓呯┖鎶ヨ")
     public AjaxResult updCarAlarm(String id){
         return AjaxResult.success(ardAccessFenceService.updCarAlarm(id));
@@ -180,8 +188,7 @@
         for (int i = 0; i < list.size(); i++) {
             CarVo carVo = list.get(i);
             String carId = carVo.getCarId();
-            Results results = ardSyCarService.getCarGPSBycarId(usersId,carId,syURL,ardSyUser);
-            Map<String,Object> map = (Map<String, Object>) results.getData();
+            Map<String,Object> map = ardSyCarService.getCarGPSBycarId(usersId,carId,syURL,ardSyUser);
             List list1 = (List) map.get("list");
             JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(list1.get(0)));
             String carPlate = (String) jsonObject.get("carPlate");
diff --git a/ard-work/src/main/java/com/ruoyi/sy/controller/OilWallController.java b/ard-work/src/main/java/com/ruoyi/sy/controller/OilWallController.java
index 79ba2c3..987456f 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/controller/OilWallController.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/controller/OilWallController.java
@@ -8,6 +8,7 @@
 import com.ruoyi.sy.domain.*;
 import com.ruoyi.sy.param.OilWallParam;
 import com.ruoyi.sy.service.*;
+import com.ruoyi.system.service.ISysConfigService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -32,6 +33,9 @@
 
     @Autowired
     private ArdAccessNumService ardAccessNumService;
+
+    @Autowired
+    private ISysConfigService sysConfigService;
 
     @PostMapping("/add")
     @ApiOperation("娣诲姞鐢靛瓙鍥存爮")
@@ -86,7 +90,8 @@
     @GetMapping("/wallCar")
     @ApiOperation("鎵�鏈夎繘鍏ュ洿鏍忕殑杞﹁締")
     public AjaxResult wallCar(){
-        return AjaxResult.success(ardAccessFenceService.all());
+        String url  = sysConfigService.selectConfigByKey("minioIn")+"/";
+        return AjaxResult.success(ardAccessFenceService.all(url));
     }
 
     @GetMapping("/rollTime")
diff --git a/ard-work/src/main/java/com/ruoyi/sy/domain/ArdAccessFence.java b/ard-work/src/main/java/com/ruoyi/sy/domain/ArdAccessFence.java
index bff2667..a87e44b 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/domain/ArdAccessFence.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/domain/ArdAccessFence.java
@@ -27,4 +27,5 @@
     private String alarmLat;
     private String carModel;
     private String drct;
+    private Integer isAlarm;
 }
diff --git a/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java b/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java
index bb6911b..0c01de8 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java
@@ -131,129 +131,162 @@
                         }
                     }
                 }else {
-                    //濡傛灉杞﹁締鏈夋暟鎹垽鏂槸鍚︽湁杩涘叆鍥存爮ID锛屽鏋滄病鏈夋洿鏂版垨璧嬪�肩粡绾害锛屽垽鏂槸鍚﹁繘鍏ュ洿鏍�
-                    if(ardAccessFence.getIntoShipmentId()==null){
+                    //鍒ゆ柇鏄惁涓烘墜鍔ㄦ坊鍔犺溅杈�
+                    if(ardAccessFence.getIsAlarm()==0){
                         ardAccessFence.setLng(lng);
                         ardAccessFence.setLat(lat);
-                        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.setIntoShipmentId(ardOilWall.getId());
-                                ardAccessFence.setIntoShipmentTime(time);
-                                ardAccessFence.setNowWallName(ardOilWall.getName());
-                                ardAccessFence.setLastTime(time);
-                                break;
-                            }
-                        }
                         ((ArdAccessFenceServiceImpl)SpringUtils.getBean("ArdAccessFenceServiceImpl")).updAccess(ardAccessFence);
+                    }else if(ardAccessFence.getIsAlarm() == 1){
+                        ardAccessFence.setNowWallName(null);
+                        //濡傛灉鍦ㄨ矾涓婂垽鏂潗鏍囨槸鍚︿笌涓婃涓�鏍�
+                        if(ardAccessFence.getLng().equals(lng) && ardAccessFence.getLat().equals(lat)){
+                            //濡傛灉鍧愭爣涓�鏍锋椂闂寸浉鍑�
+                            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                            Date nowTime = sdf.parse(time);
+                            Date lastTime = sdf.parse(ardAccessFence.getLastTime());
+                            Long diff = (nowTime.getTime() - lastTime.getTime())/1000;
+                            ArdAccessNum list = ((ArdAccessNumServiceImpl) SpringUtils.getBean("ArdAccessNumServiceImpl")).queryNum();
+                            if(list==null){
+                                int alarm = list.getAlarm();
+                                if(diff>=alarm){
+                                    ardAccessFence.setIsWarning(1);
+                                    ardAccessFence.setAlarmLat(lat);
+                                    ardAccessFence.setAlarmLng(lng);
+                                    ((ArdAccessFenceServiceImpl) SpringUtils.getBean("ArdAccessFenceServiceImpl")).updAccess(ardAccessFence);
+                                }
+                            }
+                        }else {
+                            //濡傛灉涓嶄竴鏍锋洿鏂板潗鏍�
+                            ardAccessFence.setLat(lat);
+                            ardAccessFence.setLng(lng);
+                            ardAccessFence.setLastTime(time);
+                            ((ArdAccessFenceServiceImpl) SpringUtils.getBean("ArdAccessFenceServiceImpl")).updAccess(ardAccessFence);
+                        }
                     }else {
-                        //濡傛灉鏈夎繘鍏ュ洿鏍廔D锛屽垽鏂槸鍚﹀紑鍑鸿娌圭偣
-                        String out = ardAccessFence.getOutShipmentId();
-                        if(out == null){
-                            //杞﹁締鏈紑鍑鸿娌圭偣
-                            String into = ardAccessFence.getIntoShipmentId();
-                            ArdOilWall ardOilWall = SpringUtils.getBean(ArdOilWallService.class).one(into);
-                            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)) {
-                                //杞﹁締寮�鍑鸿娌圭偣
-                                ardAccessFence.setOutShipmentId(into);
-                                ardAccessFence.setOutShipmentTime(time);
-                                ardAccessFence.setNowWallName(ardOilWall.getName());
-                                ardAccessFence.setLastTime(time);
-                            }
+                        //濡傛灉杞﹁締鏈夋暟鎹垽鏂槸鍚︽湁杩涘叆鍥存爮ID锛屽鏋滄病鏈夋洿鏂版垨璧嬪�肩粡绾害锛屽垽鏂槸鍚﹁繘鍏ュ洿鏍�
+                        if(ardAccessFence.getIntoShipmentId()==null){
                             ardAccessFence.setLng(lng);
                             ardAccessFence.setLat(lat);
-                            ((ArdAccessFenceServiceImpl) SpringUtils.getBean("ArdAccessFenceServiceImpl")).updAccess(ardAccessFence);
+                            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.setIntoShipmentId(ardOilWall.getId());
+                                    ardAccessFence.setIntoShipmentTime(time);
+                                    ardAccessFence.setNowWallName(ardOilWall.getName());
+                                    ardAccessFence.setLastTime(time);
+                                    break;
+                                }
+                            }
+                            ((ArdAccessFenceServiceImpl)SpringUtils.getBean("ArdAccessFenceServiceImpl")).updAccess(ardAccessFence);
                         }else {
-                            //杞﹁締宸茬粡寮�鍑鸿娌圭偣锛屽垽鏂槸鍚﹁繘鍏ュ嵏娌圭偣
-                            String unload = ardAccessFence.getIntoUnloadId();
-                            //濡傛灉unload涓虹┖锛屽垽鏂槸鍚﹁繘鍏ュ嵏娌圭偣
-                            if (unload == null) {
-                                //杞﹁締鏈繘鍏ュ嵏娌圭偣
-                                List<ArdOilWall> ardOilWallUpload = SpringUtils.getBean(ArdOilWallService.class).uploadAll();
-                                //鏄惁鍦ㄨ矾涓�
-                                Boolean isRoad = true;
-                                for (int i = 0; i < ardOilWallUpload.size(); i++) {
-                                    pts.clear();
-                                    ArdOilWall ardOilWall = ardOilWallUpload.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)) {
-                                        //杩涘叆鍗告补鐐�,瀛樺叆鍗告补鐐瑰洿鏍廔D
-                                        ardAccessFence.setIntoUnloadId(ardOilWall.getId());
-                                        ardAccessFence.setIntoUnloadTime(time);
-                                        ardAccessFence.setLng(lng);
-                                        ardAccessFence.setLat(lat);
-                                        ardAccessFence.setNowWallName(ardOilWall.getName());
-                                        ardAccessFence.setLastTime(time);
-                                        ((ArdAccessFenceServiceImpl) SpringUtils.getBean("ArdAccessFenceServiceImpl")).updAccess(ardAccessFence);
-                                        //宸茬粡杩涘叆鍗告补鐐癸紝涓嶅湪璺笂涓嶉渶瑕佸仠杞︽姤璀�
-                                        isRoad = false;
-                                        break;
-                                    }
-                                }
-                                if(isRoad){
-                                    ardAccessFence.setNowWallName(null);
-                                    //濡傛灉鍦ㄨ矾涓婂垽鏂潗鏍囨槸鍚︿笌涓婃涓�鏍�
-                                    if(ardAccessFence.getLng().equals(lng) && ardAccessFence.getLat().equals(lat)){
-                                        //濡傛灉鍧愭爣涓�鏍锋椂闂寸浉鍑�
-                                        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-                                        Date nowTime = sdf.parse(time);
-                                        Date lastTime = sdf.parse(ardAccessFence.getLastTime());
-                                        Long diff = (nowTime.getTime() - lastTime.getTime())/1000;
-                                        ArdAccessNum list = ((ArdAccessNumServiceImpl) SpringUtils.getBean("ArdAccessNumServiceImpl")).queryNum();
-                                        if(list==null){
-                                            int alarm = list.getAlarm();
-                                            if(diff>=alarm){
-                                                ardAccessFence.setIsWarning(1);
-                                                ardAccessFence.setAlarmLat(lat);
-                                                ardAccessFence.setAlarmLng(lng);
-                                                ((ArdAccessFenceServiceImpl) SpringUtils.getBean("ArdAccessFenceServiceImpl")).updAccess(ardAccessFence);
-                                            }
-                                        }
-                                    }else {
-                                        //濡傛灉涓嶄竴鏍锋洿鏂板潗鏍�
-                                        ardAccessFence.setLat(lat);
-                                        ardAccessFence.setLng(lng);
-                                        ardAccessFence.setLastTime(time);
-                                        ((ArdAccessFenceServiceImpl) SpringUtils.getBean("ArdAccessFenceServiceImpl")).updAccess(ardAccessFence);
-                                    }
-                                }
-                            }else {
-                                //杞﹁締宸茬粡杩涘叆鍗告补鐐癸紝鍒ゆ柇鏄惁宸茬粡寮�鍑哄嵏娌圭偣
-                                ArdOilWall ardOilWall = ((ArdOilWallServiceImpl) SpringUtils.getBean("ArdOilWallServiceImpl")).one(unload);
+                            //濡傛灉鏈夎繘鍏ュ洿鏍廔D锛屽垽鏂槸鍚﹀紑鍑鸿娌圭偣
+                            String out = ardAccessFence.getOutShipmentId();
+                            if(out == null){
+                                //杞﹁締鏈紑鍑鸿娌圭偣
+                                String into = ardAccessFence.getIntoShipmentId();
+                                ArdOilWall ardOilWall = SpringUtils.getBean(ArdOilWallService.class).one(into);
                                 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);
+                                    //杞﹁締寮�鍑鸿娌圭偣
+                                    ardAccessFence.setOutShipmentId(into);
+                                    ardAccessFence.setOutShipmentTime(time);
+                                    ardAccessFence.setNowWallName(ardOilWall.getName());
                                     ardAccessFence.setLastTime(time);
-                                    ((ArdAccessFenceServiceImpl)SpringUtils.getBean("ArdAccessFenceServiceImpl")).updAccess(ardAccessFence);
+                                }
+                                ardAccessFence.setLng(lng);
+                                ardAccessFence.setLat(lat);
+                                ((ArdAccessFenceServiceImpl) SpringUtils.getBean("ArdAccessFenceServiceImpl")).updAccess(ardAccessFence);
+                            }else {
+                                //杞﹁締宸茬粡寮�鍑鸿娌圭偣锛屽垽鏂槸鍚﹁繘鍏ュ嵏娌圭偣
+                                String unload = ardAccessFence.getIntoUnloadId();
+                                //濡傛灉unload涓虹┖锛屽垽鏂槸鍚﹁繘鍏ュ嵏娌圭偣
+                                if (unload == null) {
+                                    //杞﹁締鏈繘鍏ュ嵏娌圭偣
+                                    List<ArdOilWall> ardOilWallUpload = SpringUtils.getBean(ArdOilWallService.class).uploadAll();
+                                    //鏄惁鍦ㄨ矾涓�
+                                    Boolean isRoad = true;
+                                    for (int i = 0; i < ardOilWallUpload.size(); i++) {
+                                        pts.clear();
+                                        ArdOilWall ardOilWall = ardOilWallUpload.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)) {
+                                            //杩涘叆鍗告补鐐�,瀛樺叆鍗告补鐐瑰洿鏍廔D
+                                            ardAccessFence.setIntoUnloadId(ardOilWall.getId());
+                                            ardAccessFence.setIntoUnloadTime(time);
+                                            ardAccessFence.setLng(lng);
+                                            ardAccessFence.setLat(lat);
+                                            ardAccessFence.setNowWallName(ardOilWall.getName());
+                                            ardAccessFence.setLastTime(time);
+                                            ((ArdAccessFenceServiceImpl) SpringUtils.getBean("ArdAccessFenceServiceImpl")).updAccess(ardAccessFence);
+                                            //宸茬粡杩涘叆鍗告补鐐癸紝涓嶅湪璺笂涓嶉渶瑕佸仠杞︽姤璀�
+                                            isRoad = false;
+                                            break;
+                                        }
+                                    }
+                                    if(isRoad){
+                                        ardAccessFence.setNowWallName(null);
+                                        //濡傛灉鍦ㄨ矾涓婂垽鏂潗鏍囨槸鍚︿笌涓婃涓�鏍�
+                                        if(ardAccessFence.getLng().equals(lng) && ardAccessFence.getLat().equals(lat)){
+                                            //濡傛灉鍧愭爣涓�鏍锋椂闂寸浉鍑�
+                                            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                                            Date nowTime = sdf.parse(time);
+                                            Date lastTime = sdf.parse(ardAccessFence.getLastTime());
+                                            Long diff = (nowTime.getTime() - lastTime.getTime())/1000;
+                                            ArdAccessNum list = ((ArdAccessNumServiceImpl) SpringUtils.getBean("ArdAccessNumServiceImpl")).queryNum();
+                                            if(list==null){
+                                                int alarm = list.getAlarm();
+                                                if(diff>=alarm){
+                                                    ardAccessFence.setIsWarning(1);
+                                                    ardAccessFence.setAlarmLat(lat);
+                                                    ardAccessFence.setAlarmLng(lng);
+                                                    ((ArdAccessFenceServiceImpl) SpringUtils.getBean("ArdAccessFenceServiceImpl")).updAccess(ardAccessFence);
+                                                }
+                                            }
+                                        }else {
+                                            //濡傛灉涓嶄竴鏍锋洿鏂板潗鏍�
+                                            ardAccessFence.setLat(lat);
+                                            ardAccessFence.setLng(lng);
+                                            ardAccessFence.setLastTime(time);
+                                            ((ArdAccessFenceServiceImpl) SpringUtils.getBean("ArdAccessFenceServiceImpl")).updAccess(ardAccessFence);
+                                        }
+                                    }
+                                }else {
+                                    //杞﹁締宸茬粡杩涘叆鍗告补鐐癸紝鍒ゆ柇鏄惁宸茬粡寮�鍑哄嵏娌圭偣
+                                    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);
+                                        ardAccessFence.setLastTime(time);
+                                        ((ArdAccessFenceServiceImpl)SpringUtils.getBean("ArdAccessFenceServiceImpl")).updAccess(ardAccessFence);
+                                    }
                                 }
                             }
                         }
                     }
                 }
-                //娓呮筏鍏ユ爮缁撴潫------------
+                //娓呮筏缁撴潫------------
 
                 gpsMap.putAll(result);
                 String ancestors = (String) gpsMap.get("ancestors");//鑾峰彇鐖剁骇閮ㄩ棬
diff --git a/ard-work/src/main/java/com/ruoyi/sy/param/AddCarParam.java b/ard-work/src/main/java/com/ruoyi/sy/param/AddCarParam.java
new file mode 100644
index 0000000..cc351d7
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/sy/param/AddCarParam.java
@@ -0,0 +1,12 @@
+package com.ruoyi.sy.param;
+
+import lombok.Data;
+
+/**
+ * @author Administrator
+ */
+@Data
+public class AddCarParam {
+    private String carId;
+    private Integer isAlarm;
+}
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/ArdAccessFenceService.java b/ard-work/src/main/java/com/ruoyi/sy/service/ArdAccessFenceService.java
index b6c6024..1c919ea 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/ArdAccessFenceService.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/ArdAccessFenceService.java
@@ -17,11 +17,11 @@
 
     int delAccess(String carId);
 
-    List<ArdAccessFence> all();
+    List<ArdAccessFence> all(String url);
 
     int delCar(String id);
 
     int updCarAlarm(String id);
 
-    int addCar(CarVo carVo);
+    int addCar(CarVo carVo,Integer isAlarm,String lng,String lat);
 }
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java b/ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java
index d8e9a5d..ff834a1 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java
@@ -127,7 +127,7 @@
 
     Results getCarGPSTrack(Map<String,String> map,String syURL, ArdSyUser ardSyUser);
 
-    Results getCarGPSBycarId(String usersId, String carId, String syURL, ArdSyUser ardSyUser);
+    Map<String, Object> getCarGPSBycarId(String usersId, String carId, String syURL, ArdSyUser ardSyUser);
 
     String getSessionId(String syURL,ArdSyUser ardSyUser);
 
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdAccessFenceServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdAccessFenceServiceImpl.java
index 54d03ed..da8ce6e 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdAccessFenceServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdAccessFenceServiceImpl.java
@@ -55,8 +55,13 @@
     }
 
     @Override
-    public List<ArdAccessFence> all() {
-        return ardAccessFenceMapper.selectList(null);
+    public List<ArdAccessFence> all(String url) {
+        List<ArdAccessFence> list = ardAccessFenceMapper.selectList(null);
+        for (int i = 0; i < list.size(); i++) {
+            ArdAccessFence ardAccessFence = list.get(i);
+            ardAccessFence.setCarModel(url+ardAccessFence.getCarModel());
+        }
+        return list;
     }
 
     @Override
@@ -72,7 +77,7 @@
     }
 
     @Override
-    public int addCar(CarVo carVo) {
+    public int addCar(CarVo carVo,Integer isAlarm,String lng,String lat) {
         ArdAccessFence ardAccessFence = new ArdAccessFence();
         ardAccessFence.setId(String.valueOf(UUID.randomUUID()));
         ardAccessFence.setCarId(carVo.getCarId());
@@ -81,6 +86,9 @@
         ardAccessFence.setDeptName(carVo.getDeptName());
         ardAccessFence.setCarModel(carVo.getCarModel());
         ardAccessFence.setIsWarning(0);
+        ardAccessFence.setIsAlarm(isAlarm);
+        ardAccessFence.setLng(lng);
+        ardAccessFence.setLat(lat);
         return ardAccessFenceMapper.insert(ardAccessFence);
     }
 
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 0cd276d..2efbc05 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
@@ -782,7 +782,7 @@
     }
 
     @Override
-    public Results getCarGPSBycarId(String usersId, String carId, String syURL, ArdSyUser ardSyUser) {
+    public Map<String, Object> getCarGPSBycarId(String usersId, String carId, String syURL, ArdSyUser ardSyUser) {
         Map<String, String> result = logInMap.get(Integer.parseInt(usersId));
         //31鐢ㄦ埛鍚嶅瘑鐮�
         String username31 = ardSyUser.getUserId();
@@ -792,9 +792,7 @@
         result = new HashMap();
         result.put("userId", username31);
         result.put("sessionId", (String) result1.get("sessionId"));
-        Map<String, Object> result0 = new HashMap();
-        result0 = sYClient.getCarNearPositionByCarId(syURL, carId, result.get("userId"), result.get("sessionId"));
-        return Results.succeed(result0);
+        return sYClient.getCarNearPositionByCarId(syURL, carId, result.get("userId"), result.get("sessionId"));
     }
 
     @Override
@@ -822,7 +820,7 @@
             params.put("action", "0");//涓婁紶妯″紡
             String paramsStr = com.alibaba.fastjson2.JSON.toJSONString(params);
             paramsStr = URLEncoder.encode(paramsStr,"UTF-8");
-        System.out.println(paramsStr);
+            System.out.println("鎷嶇収鍙傛暟锛�"+paramsStr);
             return sYClient.sendCmd(syURL,userId,carId,301,"MediaTake",paramsStr,sessionId);
 //        }
 //        return sendCmdMap;
@@ -831,7 +829,9 @@
     @Override
     public Map<String, Object> getPhoto(String syURL, String carId, String sessionId,String startTime) {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
-        return sYClient.getPhoto(syURL,carId,startTime,sdf.format(new Date()),sessionId);
+        String endTime = sdf.format(new Date());
+        System.out.println("寮�濮嬫椂闂达細"+startTime+"  缁撴潫鏃堕棿锛�"+endTime);
+        return sYClient.getPhoto(syURL,carId,startTime,endTime,sessionId);
     }
 
     @Override

--
Gitblit v1.9.3