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