From 92c572e50893a93a810bbe6adb6d3cdbfc225073 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期二, 20 五月 2025 14:17:33 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/core/thread/ScaleThread.java | 84 ++++++++++++++++++++++++++++++-----------
1 files changed, 61 insertions(+), 23 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/ScaleThread.java b/src/main/java/com/zy/core/thread/ScaleThread.java
index 0dcae31..e630268 100644
--- a/src/main/java/com/zy/core/thread/ScaleThread.java
+++ b/src/main/java/com/zy/core/thread/ScaleThread.java
@@ -7,9 +7,13 @@
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.service.BasDevpService;
import com.zy.asrs.service.DeviceErrorService;
+import com.zy.core.DevpThread;
import com.zy.core.Slave;
import com.zy.core.ThreadHandler;
import com.zy.core.cache.OutputQueue;
+import com.zy.core.cache.SlaveConnection;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.model.protocol.StaProtocol;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
@@ -49,29 +53,53 @@
byte[] read = read(8, 100);
if (null != read) {
String s = new String(read);
- if (!Cools.isEmpty(s) && s.startsWith("=")) {
- scale = Double.parseDouble(s.substring(1));
+ if (!Cools.isEmpty(s) && s.startsWith("\u0002+")) {
+// if (!Cools.isEmpty(s) && s.startsWith("=")) {
+ scale = Double.parseDouble(s.substring(1))/100;
+// System.out.println("scale:"+scale+ "ip:"+slave.getIp());
+// String substring = s.substring(1);
+// String s1 = new StringBuilder(substring).reverse().toString();//閫嗗簭
+// scale = Double.parseDouble(s1);
//灏嗙О閲嶉噸閲忓啓鍏ヨ澶囧熀纭�鏁版嵁涓殑gross_wt瀛楁
- 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)) {
- basDevp.setGrossWt(scale);
- if (null != basDevpService && !basDevpService.updateById(basDevp)) {
- throw new Exception("鏇存柊鏁版嵁搴撴暟鎹け璐�");
+// if(scale > 20) {
+ try{
+ // 鑾峰彇绔欎俊鎭�
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, slave.getDevpPlcId());
+ StaProtocol staProtocol = devpThread.getStation().get(slave.getStaNo());
+ if (staProtocol != null) {
+ devpThread.setGrossWt(staProtocol.getSiteId(), scale);
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("time", DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmss_F));
+ jsonObject.put("id", slave.getStaNo());
+ jsonObject.put("scale", scale);
+ if (OutputQueue.SCALE.size() >= 32) {
+ OutputQueue.SCALE.poll();
+ }
+ OutputQueue.SCALE.offer(jsonObject);
}
- 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);
+ } catch (Exception e){
+ log.error("绉伴噸妯″潡寮傚父"+e .getMessage());
}
- }
+// BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class);
+// BasDevp basDevp = basDevpService.selectById(slave.getStaNo());
+// 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", slave.getStaNo());
+// jsonObject.put("scale", scale);
+// if (OutputQueue.SCALE.size() >= 32) {
+// OutputQueue.SCALE.poll();
+// }
+// OutputQueue.SCALE.offer(jsonObject);
+//
+// }
+// }
}
}
Thread.sleep(100);
@@ -94,13 +122,23 @@
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());
+ try{
+ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+ deviceErrorService.deleteDeviceError("devp", slave.getId());
+ } catch (Exception e){
+ log.error("e:"+e.getMessage());
+ }
} catch (Exception e) {
socket = null;
log.error("纾呯Г杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
- DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
- deviceErrorService.addDeviceError("scale", slave.getId(), "纾呯Г杩炴帴澶辫触");
+// DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+// deviceErrorService.addDeviceError("scale", slave.getId(), "纾呯Г杩炴帴澶辫触");
+ try{
+ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+ deviceErrorService.deleteDeviceError("devp", slave.getId());
+ } catch (Exception e1){
+ log.error("e:"+e1.getMessage());
+ }
return false;
}
return true;
--
Gitblit v1.9.1