From 10778ff6207c31641187acb487d4b67c0de59b24 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期一, 02 二月 2026 10:38:51 +0800
Subject: [PATCH] agv增加一个新单号防重复 ,增加一个手动呼叫agv
---
src/main/java/com/zy/asrs/task/handler/AgvHandler.java | 37 ++++++++++++++++++++++++++++++-------
1 files changed, 30 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/handler/AgvHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvHandler.java
index d475681..65b194a 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvHandler.java
@@ -21,6 +21,7 @@
import com.zy.asrs.entity.WrkMastLog;
import com.zy.common.constant.ApiInterfaceConstant;
import com.zy.common.properties.AgvProperties;
+import com.zy.common.utils.AgvUtils;
import com.zy.common.utils.HttpHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
@@ -669,14 +670,26 @@
return result;
}
+
/**
* 鏋勯�犺姹傚唴瀹癸紙浠欏伐M4鏍煎紡锛�
*/
public String getRequest(Task task, String nameSpace) {
JSONObject object = new JSONObject();
- // taskId浣跨敤宸ヤ綔鍙凤紙wrk_no锛夛紝鏍煎紡锛歍 + 宸ヤ綔鍙�
- // 濡傛灉宸ヤ綔鍙蜂负绌猴紝鍒欎娇鐢ㄤ换鍔D浣滀负澶囬��
- String taskIdValue = (task.getWrkNo() != null) ? "T" + task.getWrkNo() : "T" + task.getId();
+ // taskId浣跨敤agvWrkNo瀛楁锛屽鏋滀负绌哄垯鐢熸垚鏂扮殑agvWrkNo
+ String taskIdValue = task.getAgvWrkNo();
+ if (taskIdValue == null || taskIdValue.isEmpty()) {
+ // 濡傛灉agvWrkNo涓虹┖锛岀敓鎴愭柊鐨刟gvWrkNo
+ if (task.getWrkNo() != null) {
+ taskIdValue = AgvUtils.generateAgvWrkNo(task.getWrkNo());
+ // 鏇存柊浠诲姟鐨刟gvWrkNo瀛楁
+ task.setAgvWrkNo(taskIdValue);
+ taskService.updateById(task);
+ } else {
+ // 濡傛灉宸ヤ綔鍙蜂篃涓虹┖锛屼娇鐢ㄤ换鍔D浣滀负澶囬�夛紙鍚戝悗鍏煎锛�
+ taskIdValue = "T" + task.getId();
+ }
+ }
object.put("taskId", taskIdValue);
// fromBin浣跨敤婧愬簱浣嶇紪鍙凤紙sourceLocNo锛夛紝濡傛灉涓虹┖鍒欎娇鐢ㄦ簮绔欑偣缂栧彿锛坰ourceStaNo锛変綔涓哄閫�
String fromBin = task.getSourceLocNo();
@@ -1042,8 +1055,12 @@
// todo 璁$畻agv鐩爣鏆傚瓨浣�
int endSite = 2004;
+ // 鐢熸垚AGV宸ヤ綔鍙�
+ String agvWrkNo = AgvUtils.generateAgvWrkNo(wrkMast.getWrkNo());
+
// 鎻掑叆agv浠诲姟
Task task = new Task(wrkMast.getWrkNo(), 7L, wrkMast.getIoType(), String.valueOf(wrkMast.getStaNo()), String.valueOf(endSite), null, wrkMast.getBarcode());
+ task.setAgvWrkNo(agvWrkNo); // 璁剧疆AGV宸ヤ綔鍙�
taskService.insert(task);
// 鏇存柊浠诲姟妗gv鎼繍鏍囪瘑
wrkMast.setCallAgv(2);
@@ -1102,10 +1119,16 @@
// 鏋勯�犲彇娑堜换鍔¤姹�
JSONObject cancelRequest = new JSONObject();
- // taskId浣跨敤宸ヤ綔鍙凤紙wrk_no锛夛紝鏍煎紡锛歍 + 宸ヤ綔鍙�
- // 濡傛灉宸ヤ綔鍙蜂负绌猴紝鍒欎娇鐢ㄤ换鍔D浣滀负澶囬��
- String taskIdValue = (task.getWrkNo() != null) ? "T" + task.getWrkNo() : "T" + task.getId();
- cancelRequest.put("taskId", taskIdValue);
+ // taskId浣跨敤agvWrkNo瀛楁锛屽鏋滀负绌哄垯浣跨敤宸ヤ綔鍙锋垨浠诲姟ID浣滀负澶囬��
+ String taskIdValue = task.getAgvWrkNo();
+ if (taskIdValue == null || taskIdValue.isEmpty()) {
+ if (task.getWrkNo() != null) {
+ taskIdValue = AgvUtils.generateAgvWrkNo(task.getWrkNo());
+ } else {
+ taskIdValue = "T" + task.getId();
+ }
+ }
+ cancelRequest.put("taskId", task.getAgvWrkNo());
cancelRequest.put("kind", kind);
String body = cancelRequest.toJSONString();
--
Gitblit v1.9.1