Explorar o código

RFID设备警报选择控制

ty130316261 %!s(int64=3) %!d(string=hai) anos
pai
achega
dcdd882ca3

+ 1 - 0
zd-modules/zd-netty/src/main/java/com/zd/netty/sdk/DeJuRFIDListenerService.java

@@ -83,6 +83,7 @@ public class DeJuRFIDListenerService implements IService {
             subscribeTcpHandler(client, hardware);//订阅Tcp断连上报
             DeJuRFIDService.setPower(hardware, client);
             DeJuRFIDService.setInventory(hardware, client);
+            DeJuRFIDService.setSession(hardware,client);
             DeJuRFIDService.subscribeHandler(client, hardware);
             remoteLaboratoryService.update(HardwareOperate.OPEN, hardware.getIpAddress());
         };

+ 19 - 0
zd-modules/zd-netty/src/main/java/com/zd/netty/sdk/DeJuRFIDService.java

@@ -65,6 +65,14 @@ public class DeJuRFIDService implements IService {
                 close(hardware);
                 open(hardware);
             }
+
+            MsgBaseSetBaseband msgBaseSetBaseband = setSession(hardware, client);
+            if (0 != msgBaseSetBaseband.getRtCode()) {
+                log.error("Session epc error.");
+                reset(client);
+                close(hardware);
+                open(hardware);
+            }
         } else {
             throw new ServiceException("Connect failure.");
         }
@@ -115,6 +123,17 @@ public class DeJuRFIDService implements IService {
         return msgBaseSetPower;
     }
 
+    public static MsgBaseSetBaseband setSession(RemoteLabHardware hardware, GClient client){
+        MsgBaseGetBaseband msgBaseGetBaseband=new MsgBaseGetBaseband();
+        MsgBaseSetBaseband msgBaseSetBaseband=new MsgBaseSetBaseband();
+        client.sendSynMsg(msgBaseGetBaseband);
+        if (0==msgBaseGetBaseband.getRtCode()){
+            msgBaseSetBaseband.setSession(hardware.getSessionIndex());
+            client.sendSynMsg(msgBaseSetBaseband);
+        }
+        return msgBaseSetBaseband;
+    }
+
     public static void reset(GClient client) {
         MsgAppReset msgAppReset = new MsgAppReset();
         client.sendSynMsg(msgAppReset);