Преглед изворни кода

Merge branch 'dev' of http://192.168.1.43:3000/v2/zd-parents into dev

chaiyunlong пре 2 година
родитељ
комит
ac6b59f0de

+ 3 - 1
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/service/impl/AlarmRecordServiceImpl.java

@@ -102,10 +102,12 @@ public class AlarmRecordServiceImpl implements IAlarmRecordService {
         String electronicTag = alarmRecord.getElectronicTag();
         QpBottleStorageRVo storageRVo = storageService.getByElectronicTag(electronicTag);
         if (storageRVo != null) {
-            if (hardwareRfidDto!=null){
+            if (hardwareRfidDto!=null && storageRVo.getStorageStatus() == 1){
                 //RFID设备报警
                 R<Boolean> alarm = remoteRfidService.alarm(hardwareRfidDto);
                 log.info("==================>{},{}",alarm.getCode(),alarm.getMsg());
+            }else {
+                return 0;
             }
             Long id = storageRVo.getId();
             String key = RFID_CODE + electronicTag + id;

+ 40 - 18
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/device/DeviceRemoteController.java

@@ -53,6 +53,13 @@ public class DeviceRemoteController {
     @PostMapping("/V2/openLock")
     public ResultData cabinetV2OpenLock(@RequestBody CabinetV2Lock cabinetV2Lock){
 
+        /*try {
+            Thread.sleep(lockTimer * 1000);
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+        return ResultData.success("开锁成功");*/
+
         // socket 方式发送
         String instruct = CRCCHECK.getOpenLockOrder(Integer.parseInt(cabinetV2Lock.getLockId()));
         String relayCode = cabinetV2Lock.getRelayCode();
@@ -63,18 +70,24 @@ public class DeviceRemoteController {
             ops.flush();
             logger.info("柜锁开锁指令:" + instruct);
 
-            instruct = CRCCHECK.getReadLockOrder(Integer.parseInt(cabinetV2Lock.getLockId()));
-            Thread.sleep(500);
+            Thread.sleep(1000);
+//            ops.write(ReUtil.hexStringToByteArray(instruct));
+//            ops.flush();
+//
+//            Thread.sleep(1500);
+//            ops.write(ReUtil.hexStringToByteArray(instruct));
+//            ops.flush();
 
+            instruct = CRCCHECK.getReadLockOrder(Integer.parseInt(cabinetV2Lock.getLockId()));
             int timer = lockTimer;
             Integer status;
             while (timer > 1){
 
                 ops.write(ReUtil.hexStringToByteArray(instruct));
                 ops.flush();
-                timer--;
+                timer-=2;
 
-                Thread.sleep(900);
+                Thread.sleep(1900);
                 status = redisService.getCacheObject(relayCode + ":" + cabinetV2Lock.getLockId());
                 logger.info("柜锁开锁锁状态查询:" + instruct + ",开锁结果:" + status);
                 if(status != null && status == 1){
@@ -131,32 +144,41 @@ public class DeviceRemoteController {
      */
     @PostMapping("/V2/closeLock")
     public ResultData cabinetV2CloseLock(@RequestBody CabinetV2Lock cabinetV2Lock){
+        /*try {
+            Thread.sleep(5 * 1000);
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+        return ResultData.success("关锁成功");*/
 
         // socket 方式发送
-        String instruct = CRCCHECK.getCloseLockOrder(Integer.parseInt(cabinetV2Lock.getLockId()));
+//        String instruct = CRCCHECK.getCloseLockOrder(Integer.parseInt(cabinetV2Lock.getLockId()));
         String relayCode = cabinetV2Lock.getRelayCode();
         OutputStream ops = TCPServer.cacheMap.get(relayCode);
 
         try {
-            ops.write(ReUtil.hexStringToByteArray(instruct));
+            /*ops.write(ReUtil.hexStringToByteArray(instruct));
             ops.flush();
             logger.info("柜锁关锁指令:" + instruct);
-            Thread.sleep(1000);
+            Thread.sleep(1000);*/
 
-            instruct = CRCCHECK.getReadLockOrder(Integer.parseInt(cabinetV2Lock.getLockId()));
-            ops.write(ReUtil.hexStringToByteArray(instruct));
-            ops.flush();
+            String instruct = CRCCHECK.getReadLockOrder(Integer.parseInt(cabinetV2Lock.getLockId()));
+            int timer = lockTimer;
+            Integer status;
+            while (timer > 1){
 
-            Thread.sleep(600);
-            ops.write(ReUtil.hexStringToByteArray(instruct));
-            ops.flush();
+                ops.write(ReUtil.hexStringToByteArray(instruct));
+                ops.flush();
+                timer-=2;
 
-            Thread.sleep(1600);
-            Integer status = redisService.getCacheObject(relayCode + ":" + cabinetV2Lock.getLockId());
-            logger.info("柜锁关锁状态查询:" + instruct + ",关锁结果" + status);
-            if(status != null && status == 0){
-                return ResultData.success("关锁成功");
+                Thread.sleep(1900);
+                status = redisService.getCacheObject(relayCode + ":" + cabinetV2Lock.getLockId());
+                logger.info("柜锁关锁状态查询:" + instruct + ",关锁结果" + status);
+                if(status != null && status == 0){
+                    return ResultData.success("关锁成功");
+                }
             }
+
 //            return ResultData.success("关锁成功");
         } catch (Exception e) {
             e.printStackTrace();

+ 2 - 1
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/socket/runner/TCPServer.java

@@ -48,7 +48,7 @@ public class TCPServer implements Runnable {
         }*/
         // 设置连接超时90秒
         try {
-            socket.setSoTimeout(200000);
+            socket.setSoTimeout(212000);
             log.info("客户 - " + socket.getRemoteSocketAddress() + " -> 机连接成功");
             while (true) {
                 Thread.sleep(1L);
@@ -76,6 +76,7 @@ public class TCPServer implements Runnable {
     private void handle() throws IOException {
 
         StringBuilder ret = new StringBuilder();
+//        InputStream in = socket.getInputStream();
 
         // 解析二进制数据
         BufferedInputStream bs = new BufferedInputStream(socket.getInputStream());