hecheng %!s(int64=3) %!d(string=hai) anos
pai
achega
bdfaac0b25

+ 9 - 3
zd-modules/zd-netty/src/main/java/com/zd/netty/sdk/DeJuRFIDListenerServiceImpl.java

@@ -86,17 +86,17 @@ public class DeJuRFIDListenerServiceImpl implements IService {
             MsgBaseSetBaseband msgBaseSetBaseband = DeJuRFIDServiceImpl.setSession(hardware, client);
             MsgBaseSetBaseband msgBaseSetBaseband = DeJuRFIDServiceImpl.setSession(hardware, client);
             if (0 != msgBaseSetBaseband.getRtCode()) {
             if (0 != msgBaseSetBaseband.getRtCode()) {
                 log.error("Session configuration error.");
                 log.error("Session configuration error.");
-               disconnect(hardware);
+                restart(hardware);
             }
             }
             MsgBaseSetPower msgBaseSetPower = DeJuRFIDServiceImpl.setPower(hardware, client);
             MsgBaseSetPower msgBaseSetPower = DeJuRFIDServiceImpl.setPower(hardware, client);
             if (0 != msgBaseSetPower.getRtCode()) {
             if (0 != msgBaseSetPower.getRtCode()) {
                 log.error("Power configuration error.");
                 log.error("Power configuration error.");
-                disconnect(hardware);
+                restart(hardware);
             }
             }
             MsgBaseInventoryEpc msgBaseInventoryEpc = DeJuRFIDServiceImpl.setInventory(hardware, client);
             MsgBaseInventoryEpc msgBaseInventoryEpc = DeJuRFIDServiceImpl.setInventory(hardware, client);
             if (0 != msgBaseInventoryEpc.getRtCode()) {
             if (0 != msgBaseInventoryEpc.getRtCode()) {
                 log.error("Inventory epc error.");
                 log.error("Inventory epc error.");
-                disconnect(hardware);
+                restart(hardware);
             }
             }
             DeJuRFIDServiceImpl.subscribeHandler(client, hardware);
             DeJuRFIDServiceImpl.subscribeHandler(client, hardware);
             remoteLaboratoryService.update(HardwareOperate.OPEN, hardware.getIpAddress());
             remoteLaboratoryService.update(HardwareOperate.OPEN, hardware.getIpAddress());
@@ -104,6 +104,12 @@ public class DeJuRFIDListenerServiceImpl implements IService {
         };
         };
     }
     }
 
 
+    private void restart(RemoteLabHardware hardware){
+        disconnect(hardware);
+        start(hardware);
+    }
+
+
     /**
     /**
      * 订阅TCP断开连接上报
      * 订阅TCP断开连接上报
      *
      *