aijinhui
2023-12-14 fc03dbca355586463de9562b5f5425bc7845ea46
ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java
@@ -95,7 +95,7 @@
                    String carModel = (String) result.get("carModel");//获取车辆模型
                    Integer drct = (Integer) gpsMap.get("drct");//获取车辆模型
                    Integer speed = (Integer) gpsMap.get("speed");
//                    log.info("carId:"+carId+"lng:"+lng+"lat:"+lat);
                    log.info("定位数据:carId:"+carId+"lng:"+lng+"lat:"+lat);
                    //定义2维空间
                    Point2D.Double point = new Point2D.Double(Double.parseDouble(lng), Double.parseDouble(lat));
                    List<Point2D.Double> pts = new ArrayList<Point2D.Double>();
@@ -146,7 +146,7 @@
                                ardAccessFence1.setLng(lng);
                                ardAccessFence1.setLat(lat);
                                ardAccessFence1.setLastTime(time);
                                ardAccessFence1.setNowWallName(ardOilWall.getName());
                                ardAccessFence1.setNowWallName("进入装油点:"+ardOilWall.getName());
                                ardAccessFence1.setCarModel(carModel);
                                ardAccessFence1.setIsWarning(0);
                                ardAccessFence1.setDrct(drct);
@@ -210,7 +210,7 @@
                                        //进入装油点入库
                                        ardAccessFence.setIntoShipmentId(ardOilWall.getId());
                                        ardAccessFence.setIntoShipmentTime(time);
                                        ardAccessFence.setNowWallName(ardOilWall.getName());
                                        ardAccessFence.setNowWallName("进入装油点:"+ardOilWall.getName());
                                        ardAccessFence.setLastTime(time);
                                        if(stop){
                                            //mqtt发送既定Rtu状态
@@ -237,7 +237,7 @@
                                        //车辆开出装油点
                                        ardAccessFence.setOutShipmentId(into);
                                        ardAccessFence.setOutShipmentTime(time);
                                        ardAccessFence.setNowWallName(ardOilWall.getName());
                                        ardAccessFence.setNowWallName("开出装油点:"+ardOilWall.getName());
                                        ardAccessFence.setLastTime(time);
                                        ardAccessFence.setLng(lng);
                                        ardAccessFence.setLat(lat);
@@ -268,7 +268,7 @@
                                                ardAccessFence.setIntoUnloadTime(time);
                                                ardAccessFence.setLng(lng);
                                                ardAccessFence.setLat(lat);
                                                ardAccessFence.setNowWallName(ardOilWall.getName());
                                                ardAccessFence.setNowWallName("进入卸油点:"+ardOilWall.getName());
                                                ardAccessFence.setLastTime(time);
                                                ardAccessFenceService.updAccess(ardAccessFence);
                                                //已经进入卸油点,不在路上不需要停车报警
@@ -283,7 +283,7 @@
                                        //不在卸油点就是在路上
                                        if(isRoad){
                                            //所在围栏名称赋null
                                            ardAccessFence.setNowWallName(null);
                                            ardAccessFence.setNowWallName("在路上");
                                            //如果在路上判断坐标是否与上次一样
                                            if(ardAccessFence.getLng().equals(lng) && ardAccessFence.getLat().equals(lat)){
                                                if(ardAccessFence.getLastTime()!=null){
@@ -460,11 +460,13 @@
                    //如果不是解封封状态,则发送施封命令
                    if(ardSyCarLocks.get(0).getRelayInfo()!=null){
                        if(ardSyCarLocks.get(0).getRelayInfo()==0){
                            Map<String,Object> map = new HashMap<>();
                            map.put("A01", 110000);//导通第一路继电器
                            map.put("A02", 110000);//导通第二路继电器
                            map.put("res", String.valueOf(System.currentTimeMillis()));
                            String mapString = com.alibaba.fastjson.JSON.toJSONString(map);
//                            Map<String,Object> map = new HashMap<>();
//                            map.put("A01", 110000);//导通第一路继电器
//                            map.put("A02", 110000);//导通第二路继电器
//                            map.put("res", String.valueOf(System.currentTimeMillis()));
//                            String mapString = com.alibaba.fastjson.JSON.toJSONString(map);
                            String mapString = "{\"A01\":110000,\"A02\":110000,\"res\":\""+String.valueOf(System.currentTimeMillis())+"\"}";
                            log.info("自动解封:"+mapString);
                            EmqClient emqClient = new EmqClient(carId+"mqttPublish"+UUID.randomUUID());
                            emqClient.connect();
                            emqClient.publish(ardSyCarRtu.getTopicPublish(),mapString, QosEnum.QoS2,false);
@@ -494,10 +496,12 @@
                                    }else if(currents.equals("C02")){
                                        key = "D04";
                                    }
                                    Map<String,Object> map = new HashMap();
                                    map.put(key, 0.01);
                                    map.put("res", String.valueOf(System.currentTimeMillis()));
                                    String mapString = com.alibaba.fastjson.JSON.toJSONString(map);
//                                    Map<String,Object> map = new HashMap();
//                                    map.put(key, 0.01);
//                                    map.put("res", String.valueOf(System.currentTimeMillis()));
//                                    String mapString = com.alibaba.fastjson.JSON.toJSONString(map);
                                    String mapString = "{\""+key+"\":0.01,\"res\":\""+String.valueOf(System.currentTimeMillis())+"\"}";
                                    log.info("自动关锁:"+mapString);
                                    EmqClient emqClient = new EmqClient(carId+"mqttPublish"+UUID.randomUUID());
                                    emqClient.connect();
                                    emqClient.publish(ardSyCarRtu.getTopicPublish(),mapString, QosEnum.QoS2,false);
@@ -513,11 +517,13 @@
                                }
                            }
                            if(lockCloseNum == 2){
                                Map<String,Object> map = new HashMap<>();
                                map.put("A01", 100000);//断开第一路继电器
                                map.put("A02", 100000);//断开第二路继电器
                                map.put("res", String.valueOf(System.currentTimeMillis()));
                                String mapString = com.alibaba.fastjson.JSON.toJSONString(map);
//                                Map<String,Object> map = new HashMap<>();
//                                map.put("A01", 100000);//断开第一路继电器
//                                map.put("A02", 100000);//断开第二路继电器
//                                map.put("res", String.valueOf(System.currentTimeMillis()));
//                                String mapString = com.alibaba.fastjson.JSON.toJSONString(map);
                                String mapString = "{\"A01\":100000,\"A02\":100000,\"res\":\""+String.valueOf(System.currentTimeMillis())+"\"}";
                                System.out.println("自动施封:"+mapString);
                                EmqClient emqClient = new EmqClient(carId+"mqttPublish"+UUID.randomUUID());
                                emqClient.connect();
                                emqClient.publish(ardSyCarRtu.getTopicPublish(),mapString, QosEnum.QoS2,false);