Browse Source

RFID开关门逻辑优化

k 2 years ago
parent
commit
cb1f6c414a

+ 6 - 4
warewms-ams/src/main/java/com/ruoyi/ams/agv/ndc/thread/AutoRfidReaderTask.java

@@ -79,7 +79,7 @@ public class AutoRfidReaderTask {
      */
     public void execute(String[] tagIds, List<String> tagList, AutoDoorClient.AUTO_DOOR_NO doorNo, boolean isOutdoor) {
         if (tagList == null) {
-            // 自动门打开之后的五秒钟之内不可以关门
+            // 自动门打开之后的一定时间内之内不可以关门
             if (isOutdoor) {
                 if (redisCache.getCacheObject("OUT_DOOR_OPEN") != null) {
                     log.error("自动门打开之后的20秒钟之内不可以关门!");
@@ -131,13 +131,15 @@ public class AutoRfidReaderTask {
                 redisCache.setCacheObject("OUT_DOOR_OPEN", "", 20, TimeUnit.SECONDS);
             } else {
                 closeInDoorNum = 0;
-                // 关闭警报灯
-                warningLightClient.closeWarningLight();
                 // 设定开门有效时间 这个时间内就算RFID没有扫描到标签,门也不可以关上
                 redisCache.setCacheObject("IN_DOOR_OPEN", "", 20, TimeUnit.SECONDS);
+                // 关闭警报灯
+                if (warningLightClient != null) {
+                    warningLightClient.closeWarningLight();
+                }
             }
         } else {
-            // 自动门打开之后的五秒钟之内不可以关门
+            // 自动门打开之后的一定时间内之内不可以关门
             if (isOutdoor) {
                 if (redisCache.getCacheObject("OUT_DOOR_OPEN") != null) {
                     log.error("自动门打开之后的20秒钟之内不可以关门!");