From 0d04bc5d8080b82338302fba0a59fccff2eaedfc Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期日, 06 七月 2025 11:28:29 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SiemensBarcodeThread.java |   71 ++++++++++++++++++-----------------
 1 files changed, 37 insertions(+), 34 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SiemensBarcodeThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SiemensBarcodeThread.java
index 9557786..f67ed48 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SiemensBarcodeThread.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SiemensBarcodeThread.java
@@ -27,7 +27,7 @@
     private RedisUtil redisUtil;
     private SiemensS7Net siemensS7Net;
     private StringBuffer barcode = new StringBuffer();
-    private String lastBarcode;
+    private String lastBarcode = "";
 
     public SiemensBarcodeThread(Device device, RedisUtil redisUtil) {
         this.device = device;
@@ -39,11 +39,12 @@
         return String.valueOf(barcode);
     }
 
-    public void setBarcode(String barcode) {
-        this.lastBarcode = String.valueOf(this.barcode);
+    @Override
+    public boolean setBarcode(String barcode) {
         this.barcode.delete(0, this.barcode.length());
         this.barcode.append(barcode);
         if(!Cools.isEmpty(barcode) && !this.lastBarcode.equals(barcode)) {
+            this.lastBarcode = String.valueOf(this.barcode);
             News.info("{}鍙锋潯鐮佸櫒锛屾绱㈡暟鎹細{}", device.getId(), this.barcode);
             JSONObject jsonObject = new JSONObject();
             jsonObject.put("time", DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmss_F));
@@ -52,7 +53,9 @@
                 OutputQueue.BARCODE.poll();
             }
             OutputQueue.BARCODE.offer(jsonObject);
+            return true;
         }
+        return false;
     }
 
     @Override
@@ -81,37 +84,37 @@
 
     @Override
     public void run() {
-        this.connect();
-        while (true) {
-            try {
-                DeviceBarcodeService deviceBarcodeService = SpringUtils.getBean(DeviceBarcodeService.class);
-                if (deviceBarcodeService == null) {
-                    continue;
-                }
-
-                DeviceBarcode deviceBarcode = deviceBarcodeService.getOne(new LambdaQueryWrapper<DeviceBarcode>()
-                        .eq(DeviceBarcode::getDeviceId, device.getId())
-                        .eq(DeviceBarcode::getHostId, device.getHostId())
-                        .eq(DeviceBarcode::getStatus, 1));
-                if (deviceBarcode == null) {
-                    continue;
-                }
-
-                JSONObject connect = JSON.parseObject(deviceBarcode.getConnect());
-                String address = connect.getString("address");
-                Short length = connect.getShort("length");
-
-                // 鏉$爜鎵弿鍣�
-                OperateResultExOne<byte[]> result = null;
-                result = siemensS7Net.Read(address, length);
-                if (result.IsSuccess) {
-                    String barcode = siemensS7Net.getByteTransform().TransString(result.Content, 0, length, "UTF-8");
-                    setBarcode(barcode);
-                }
-            } catch (Exception e) {
-//                e.printStackTrace();
-            }
-        }
+//        this.connect();
+//        while (true) {
+//            try {
+//                DeviceBarcodeService deviceBarcodeService = SpringUtils.getBean(DeviceBarcodeService.class);
+//                if (deviceBarcodeService == null) {
+//                    continue;
+//                }
+//
+//                DeviceBarcode deviceBarcode = deviceBarcodeService.getOne(new LambdaQueryWrapper<DeviceBarcode>()
+//                        .eq(DeviceBarcode::getDeviceId, device.getId())
+//                        .eq(DeviceBarcode::getHostId, device.getHostId())
+//                        .eq(DeviceBarcode::getStatus, 1));
+//                if (deviceBarcode == null) {
+//                    continue;
+//                }
+//
+//                JSONObject connect = JSON.parseObject(deviceBarcode.getConnect());
+//                String address = connect.getString("address");
+//                Short length = connect.getShort("length");
+//
+//                // 鏉$爜鎵弿鍣�
+//                OperateResultExOne<byte[]> result = null;
+//                result = siemensS7Net.Read(address, length);
+//                if (result.IsSuccess) {
+//                    String barcode = siemensS7Net.getByteTransform().TransString(result.Content, 0, length, "UTF-8");
+//                    setBarcode(barcode);
+//                }
+//            } catch (Exception e) {
+////                e.printStackTrace();
+//            }
+//        }
     }
 
 }

--
Gitblit v1.9.1