From f4e20b2dc544a188d0591c901022383e84fa8e9e Mon Sep 17 00:00:00 2001 From: aijinhui <aijinhui> Date: 星期一, 13 十一月 2023 17:31:03 +0800 Subject: [PATCH] 清淤电磁锁 --- ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java | 164 ++++++++++++++++++++++++++---------------------------- 1 files changed, 80 insertions(+), 84 deletions(-) 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 15f192c..d3faf70 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 @@ -15,17 +15,17 @@ import com.gps31.push.util.MapUtil; import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.sy.domain.*; -import com.ruoyi.sy.service.ArdAccessFenceService; -import com.ruoyi.sy.service.ArdAccessNumService; -import com.ruoyi.sy.service.ArdOilWallService; -import com.ruoyi.sy.service.ArdSyCarRtuService; +import com.ruoyi.sy.service.*; import com.ruoyi.sy.service.impl.*; import com.ruoyi.utils.gps.GeoTools; import com.ruoyi.utils.mqtt.MqttConsumer; +import com.ruoyi.utils.mqtt.MqttOnce; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.eclipse.paho.client.mqttv3.MqttException; import java.awt.geom.Point2D; +import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; @@ -104,6 +104,10 @@ ArdAccessNumService accessNumService = SpringUtils.getBean(ArdAccessNumService.class); //娉ㄥ叆鐢靛瓙閿丅ean ArdSyCarRtuService carRtuService = SpringUtils.getBean(ArdSyCarRtuService.class); + //娉ㄥ叆閿丅ean + ArdSyCarLockService lockService = SpringUtils.getBean(ArdSyCarLockService.class); + //鍒涘缓mqtt宸ュ叿绫诲璞� + MqttOnce mqttOnce = new MqttOnce(); //鏌ヨ瀹氫綅娌硅溅琛ㄤ腑鏄惁鏈夎杞﹁締 ArdAccessFence ardAccessFence = ardAccessFenceService.queryAccess(carId); //鏌ヨ鎵�鏈夎娌圭偣鍥存爮 @@ -137,27 +141,8 @@ ardAccessFence1.setDrct(drct); ardAccessFence1.setIsAlarm(0); ardAccessFenceService.access(ardAccessFence1); - //鏌ヨ瑁呮补鐐规棦瀹歊tu鐘舵�� - ArdSyCarRtu ardSyCarRtu = carRtuService.one(carId); - Integer installType = ardSyCarRtu.getInstallType(); - //1瑙e皝 - if(installType==1){ - Map<String,Object> map = new HashMap<>(); - map.put("A01", 110000);//瀵奸�氱涓�璺户鐢靛櫒 - map.put("A02", 110000);//瀵奸�氱浜岃矾缁х數鍣� - map.put("res", String.valueOf(System.currentTimeMillis())); - MqttConsumer.publish(ardSyCarRtu.getTopicPublish(), String.valueOf(new JSONObject(map))); - } - //0鏂藉皝 - if(installType==0){ -//鍏抽攣 - - Map<String,Object> map = new HashMap<>(); - map.put("A01", 100000);//鏂紑绗竴璺户鐢靛櫒 - map.put("A02", 100000);//鏂紑绗簩璺户鐢靛櫒 - map.put("res", String.valueOf(System.currentTimeMillis())); - MqttConsumer.publish(ardSyCarRtu.getTopicPublish(), String.valueOf(new JSONObject(map))); - } + //mqtt鍙戦�佹棦瀹歊tu鐘舵�� + feng(carId,"瑁呮补鐐�",carRtuService,lockService,mqttOnce); break; } } @@ -216,27 +201,8 @@ ardAccessFence.setIntoShipmentTime(time); ardAccessFence.setNowWallName(ardOilWall.getName()); ardAccessFence.setLastTime(time); - //鏌ヨ瑁呮补鐐规棦瀹歊tu鐘舵�� - ArdSyCarRtu ardSyCarRtu = carRtuService.one(carId); - Integer installType = ardSyCarRtu.getInstallType(); - //1瑙e皝 - if(installType==1){ - Map<String,Object> map = new HashMap<>(); - map.put("A01", 110000);//瀵奸�氱涓�璺户鐢靛櫒 - map.put("A02", 110000);//瀵奸�氱浜岃矾缁х數鍣� - map.put("res", String.valueOf(System.currentTimeMillis())); - MqttConsumer.publish(ardSyCarRtu.getTopicPublish(), String.valueOf(new JSONObject(map))); - } - //0鏂藉皝 - if(installType==0){ -//鍏抽攣 - - Map<String,Object> map = new HashMap<>(); - map.put("A01", 100000);//鏂紑绗竴璺户鐢靛櫒 - map.put("A02", 100000);//鏂紑绗簩璺户鐢靛櫒 - map.put("res", String.valueOf(System.currentTimeMillis())); - MqttConsumer.publish(ardSyCarRtu.getTopicPublish(), String.valueOf(new JSONObject(map))); - } + //mqtt鍙戦�佹棦瀹歊tu鐘舵�� + feng(carId,"瑁呮补鐐�",carRtuService,lockService,mqttOnce); break; } } @@ -264,15 +230,7 @@ ardAccessFence.setLat(lat); ardAccessFenceService.updAccess(ardAccessFence); //寮�鍑鸿娌圭偣鍥存爮锛屽彂閫佷笂閿佸強鏂藉皝鍛戒护 - ArdSyCarRtu ardSyCarRtu = carRtuService.one(carId); -//鍏抽攣 - - Map<String,Object> map = new HashMap<>(); - map.put("A01", 100000);//鏂紑绗竴璺户鐢靛櫒 - map.put("A02", 100000);//鏂紑绗簩璺户鐢靛櫒 - map.put("res", String.valueOf(System.currentTimeMillis())); - MqttConsumer.publish(ardSyCarRtu.getTopicPublish(), String.valueOf(new JSONObject(map))); - + feng(carId,"鏂藉皝",carRtuService,lockService,mqttOnce); } }else { //杞﹁締宸茬粡寮�鍑鸿娌圭偣锛屾煡鐪嬫槸鍚︽湁鍗告补鐐笽D @@ -302,27 +260,8 @@ ardAccessFenceService.updAccess(ardAccessFence); //宸茬粡杩涘叆鍗告补鐐癸紝涓嶅湪璺笂涓嶉渶瑕佸仠杞︽姤璀� isRoad = false; - //鏌ヨ瑁呮补鐐规棦瀹歊tu鐘舵�� - ArdSyCarRtu ardSyCarRtu = carRtuService.one(carId); - Integer unloadType = ardSyCarRtu.getUnloadType(); - //1瑙e皝 - if(unloadType==1){ - Map<String,Object> map = new HashMap<>(); - map.put("A01", 110000);//瀵奸�氱涓�璺户鐢靛櫒 - map.put("A02", 110000);//瀵奸�氱浜岃矾缁х數鍣� - map.put("res", String.valueOf(System.currentTimeMillis())); - MqttConsumer.publish(ardSyCarRtu.getTopicPublish(), String.valueOf(new JSONObject(map))); - } - //0鏂藉皝 - if(unloadType==0){ -//鍏抽攣 - - Map<String,Object> map = new HashMap<>(); - map.put("A01", 100000);//鏂紑绗竴璺户鐢靛櫒 - map.put("A02", 100000);//鏂紑绗簩璺户鐢靛櫒 - map.put("res", String.valueOf(System.currentTimeMillis())); - MqttConsumer.publish(ardSyCarRtu.getTopicPublish(), String.valueOf(new JSONObject(map))); - } + //mqtt鍙戦�佹棦瀹歊tu鐘舵�� + feng(carId,"鍗告补鐐�",carRtuService,lockService,mqttOnce); break; } } @@ -365,14 +304,7 @@ } if (!GeoTools.IsPtInPoly(point, pts)) { //寮�鍑轰簡鍗告补鐐瑰洿鏍忥紝鍙戦�佷笂閿佸強鏂借В灏佹寚浠� - ArdSyCarRtu ardSyCarRtu = carRtuService.one(carId); -//鍏抽攣 - - Map<String,Object> map = new HashMap<>(); - map.put("A01", 100000);//鏂紑绗竴璺户鐢靛櫒 - map.put("A02", 100000);//鏂紑绗簩璺户鐢靛櫒 - map.put("res", String.valueOf(System.currentTimeMillis())); - MqttConsumer.publish(ardSyCarRtu.getTopicPublish(), String.valueOf(new JSONObject(map))); + feng(carId,"鏂藉皝",carRtuService,lockService,mqttOnce); //鍒犻櫎璇ユ潯杞﹁締鏁版嵁 ardAccessFenceService.delAccess(carId); }else { @@ -487,4 +419,68 @@ public void run() { sendMassage(); } + + private void feng(String carId,String type,ArdSyCarRtuService carRtuService,ArdSyCarLockService lockService,MqttOnce mqttOnce) throws MqttException { + //鏌ヨ瑁呮补鐐规棦瀹歊tu鐘舵�� + ArdSyCarRtu ardSyCarRtu = carRtuService.one(carId); + Integer fengType = null; + if("瑁呮补鐐�".equals(type)){ + fengType = ardSyCarRtu.getInstallType(); + }else if("鍗告补鐐�".equals(type)){ + fengType = ardSyCarRtu.getUnloadType(); + }else if("鏂藉皝".equals(type)){ + fengType = 0; + } + //1瑙e皝 + if(fengType==1){ + Map<String,Object> map = new HashMap<>(); + map.put("A01", 110000);//瀵奸�氱涓�璺户鐢靛櫒 + map.put("A02", 110000);//瀵奸�氱浜岃矾缁х數鍣� + map.put("res", String.valueOf(System.currentTimeMillis())); + mqttOnce.publishCar(carId,ardSyCarRtu.getTopicPublish(),String.valueOf(new JSONObject(map)),"瑙e皝"); + } + //0鏂藉皝 + if(fengType==0){ + //閿佸紑鍏崇姸鎬� + int lockCloseNum = 0; + //鏌ヨ閿佷俊鎭� + List<ArdSyCarLock> ardSyCarLocks = lockService.carLock(ardSyCarRtu.getId()); + for (int j = 0; j < ardSyCarLocks.size(); j++) { + ArdSyCarLock ardSyCarLock = ardSyCarLocks.get(j); + String currents = ardSyCarLock.getCurrents(); + String currentInfo = ardSyCarLock.getCurrentInfo(); + //鐢垫祦鍊间负4.0鏄叧閿佺姸鎬� + if(currentInfo.equals(4.00)){ + lockCloseNum += 1; + }else { + String key = ""; + if(currents.equals("C01")){ + key = "D03"; + }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())); + mqttOnce.publishCar("carId",ardSyCarRtu.getTopicPublish(),String.valueOf(new JSONObject(map)),"寮�閿侊細"+currents); + while(true){ + ArdSyCarLock ardSyCarLock1 = lockService.getCurrentInfo(ardSyCarRtu.getId(),currents); + String currentInfo1 = ardSyCarLock1.getCurrentInfo(); + if(currentInfo1.equals(4.00)){ + lockCloseNum +=1; + break; + } + } + } + } + if(lockCloseNum == 2){ + Map<String,Object> map = new HashMap<>(); + map.put("A01", 100000);//鏂紑绗竴璺户鐢靛櫒 + map.put("A02", 100000);//鏂紑绗簩璺户鐢靛櫒 + map.put("res", String.valueOf(System.currentTimeMillis())); + mqttOnce.publishCar(carId,ardSyCarRtu.getTopicPublish(),String.valueOf(new JSONObject(map)),"鏂藉皝"); + } + } + } + } -- Gitblit v1.9.3