From 635c92468df74c81b066d98f812af1f03166aa90 Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期一, 17 十一月 2025 09:04:53 +0800
Subject: [PATCH] 堆垛机移库任务等待确认调整
---
src/main/java/com/zy/core/thread/SiemensCrnThread.java | 24 ++++++++++++++++++++++--
1 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index 79b8568..cc12a8f 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -10,8 +10,10 @@
import com.core.common.SpringUtils;
import com.zy.asrs.entity.BasCrnOpt;
import com.zy.asrs.entity.BasCrnp;
+import com.zy.asrs.entity.DeviceDataLog;
import com.zy.asrs.service.BasCrnOptService;
import com.zy.asrs.service.BasCrnpService;
+import com.zy.asrs.service.DeviceDataLogService;
import com.zy.common.utils.News;
import com.zy.core.CrnThread;
import com.zy.core.cache.MessageQueue;
@@ -27,6 +29,7 @@
import lombok.extern.slf4j.Slf4j;
import java.text.MessageFormat;
+import java.util.Base64;
import java.util.Date;
/**
@@ -75,6 +78,7 @@
// 鍐欏叆鏁版嵁 1鍙峰伐浣�
case 2:
CrnCommand data = (CrnCommand) task.getData();
+ crnProtocol.setLastCommandTime(System.currentTimeMillis());
if (data.getPltType() == null || data.getPltType() == 1) {
write(data);
} else if (data.getPltType() == 2) {
@@ -225,7 +229,7 @@
OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId()));
// 澶嶄綅淇″彿
- if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) {
+ if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusType().equals(CrnStatusType.WAITING) && crnProtocol.getTaskNo() != null && crnProtocol.getTaskNo() != 0) {
// if (crnProtocol.getTaskNo() == 0){
// News.error("鍫嗗灈鏈哄伐浣�1宸ヤ綔鍙蜂负0锛屼笉浜堢‘璁わ紝宸ヤ綅1{}",crnProtocol.getLoaded() == 1 ? "鏈夌墿" : "鏃犵墿");
// return;
@@ -248,7 +252,7 @@
}
// 澶嶄綅淇″彿
- if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusTypeTwo().equals(CrnStatusType.WAITING)) {
+ else if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusTypeTwo().equals(CrnStatusType.WAITING) && crnProtocol.getTaskNoTwo() != null && crnProtocol.getTaskNoTwo() != 0) {
// if (crnProtocol.getTaskNoTwo() == 0){
// News.error("鍫嗗灈鏈哄伐浣�2宸ヤ綔鍙蜂负0锛屼笉浜堢‘璁わ紝宸ヤ綅2{}",crnProtocol.getLoadedTwo() == 1 ? "鏈夌墿" : "鏃犵墿");
// return;
@@ -270,6 +274,22 @@
}
}
+ if (System.currentTimeMillis() - crnProtocol.getDeviceDataLog() > 200) {
+ //閲囬泦鏃堕棿瓒呰繃5s锛屼繚瀛樹竴娆℃暟鎹褰�
+ //淇濆瓨鏁版嵁璁板綍
+ DeviceDataLogService deviceDataLogService = SpringUtils.getBean(DeviceDataLogService.class);
+ DeviceDataLog deviceDataLog = new DeviceDataLog();
+ deviceDataLog.setOriginData(Base64.getEncoder().encodeToString(result.Content));
+ deviceDataLog.setWcsData(JSON.toJSONString(crnProtocol));
+ deviceDataLog.setType("crn");
+ deviceDataLog.setDeviceNo(crnProtocol.getCrnNo());
+ deviceDataLog.setCreateTime(new Date());
+ deviceDataLogService.insert(deviceDataLog);
+
+ //鏇存柊閲囬泦鏃堕棿
+ crnProtocol.setDeviceDataLog(System.currentTimeMillis());
+ }
+
try {
// 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class);
--
Gitblit v1.9.1