From a1e94379b115721b2e604070dc48063b8016f72f Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期二, 21 十月 2025 19:32:59 +0800
Subject: [PATCH] 侧面输送线出库码盘信息对接
---
src/main/java/com/zy/core/thread/ScaleThread.java | 49 +++++++++++++++++++++++++++++++++----------------
1 files changed, 33 insertions(+), 16 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/ScaleThread.java b/src/main/java/com/zy/core/thread/ScaleThread.java
index 180396a..463ea9b 100644
--- a/src/main/java/com/zy/core/thread/ScaleThread.java
+++ b/src/main/java/com/zy/core/thread/ScaleThread.java
@@ -1,11 +1,15 @@
package com.zy.core.thread;
+import com.alibaba.fastjson.JSONObject;
import com.core.common.Cools;
+import com.core.common.DateUtils;
import com.core.common.SpringUtils;
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.service.BasDevpService;
+import com.zy.asrs.service.DeviceErrorService;
import com.zy.core.Slave;
import com.zy.core.ThreadHandler;
+import com.zy.core.cache.OutputQueue;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
@@ -16,6 +20,7 @@
import java.net.Socket;
import java.net.SocketAddress;
import java.net.SocketTimeoutException;
+import java.util.Date;
/**
* 纾呯Г绾跨▼
@@ -48,15 +53,23 @@
scale = Double.parseDouble(s.substring(1));
//灏嗙О閲嶉噸閲忓啓鍏ヨ澶囧熀纭�鏁版嵁涓殑gross_wt瀛楁
- if(scale > 20) {
+ if (scale > 20) {
BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class);
Integer staNo = slave.getId() == 1 ? 101 : 201;
BasDevp basDevp = basDevpService.selectById(staNo);
- if(!Cools.isEmpty(basDevp)) {
+ if (!Cools.isEmpty(basDevp)) {
basDevp.setGrossWt(scale);
if (null != basDevpService && !basDevpService.updateById(basDevp)) {
throw new Exception("鏇存柊鏁版嵁搴撴暟鎹け璐�");
}
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("time", DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmss_F));
+ jsonObject.put("id", staNo);
+ jsonObject.put("scale", scale);
+ if (OutputQueue.SCALE.size() >= 32) {
+ OutputQueue.SCALE.poll();
+ }
+ OutputQueue.SCALE.offer(jsonObject);
}
}
}
@@ -71,6 +84,7 @@
@Override
public boolean connect() {
+
try {
close(); //1.涓诲姩閲婃斁杩炴帴 //2.鏌愪簺鏈嶅姟鍣ㄥ鎸囧畾ip鏈夐摼璺暟闄愬埗
socket = new Socket();
@@ -80,9 +94,13 @@
dataOutputStream = new DataOutputStream(socket.getOutputStream());
dataInputStream = new DataInputStream(socket.getInputStream());
// log.info("鏉$爜鎵弿浠繛鎺ユ垚鍔� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+ deviceErrorService.deleteDeviceError("scale", slave.getId());
} catch (Exception e) {
socket = null;
- log.error("鏉$爜鎵弿浠繛鎺ュけ璐ワ紒锛侊紒 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+ log.error("纾呯Г杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+ deviceErrorService.addDeviceError("scale", slave.getId(), "纾呯Г杩炴帴澶辫触");
return false;
}
return true;
@@ -92,26 +110,25 @@
public void close() {
try {
if (null != dataOutputStream) {
- dataOutputStream.close();
- }
- if (null != dataInputStream) {
- dataInputStream.close();
- }
+ dataOutputStream.close();
+ }
+ if (null != dataInputStream) {
+ dataInputStream.close();
+ }
// if (null != socket && !socket.isClosed()) {
// socket.close();
// }
- if (null != socket){
- socket.close();
- }
- socket = null;
+ if (null != socket) {
+ socket.close();
+ }
+ socket = null;
} catch (IOException e) {
log.error("SocketClient close Exception:" + e.getMessage());
}
}
public void write(byte[] msg, int len) throws IOException {
- if (null != dataInputStream)
- {
+ if (null != dataInputStream) {
dataOutputStream.write(msg, 0, len);
dataOutputStream.flush();
}
@@ -127,8 +144,8 @@
int len = dataInputStream.read(bytes);
byte[] tempBytes = null;
if (len > 0) {
- tempBytes = new byte[len];
- System.arraycopy(bytes, 0, tempBytes, 0, len);
+ tempBytes = new byte[len];
+ System.arraycopy(bytes, 0, tempBytes, 0, len);
}
return tempBytes;
}
--
Gitblit v1.9.1