From 5701eb6693c654d53f1bba460eb3a417d495b344 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期三, 11 六月 2025 17:31:53 +0800
Subject: [PATCH] bug修复;下发任务给rcs携带货架码
---
src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java | 66 ++++++++++++++++++++++++--------
1 files changed, 49 insertions(+), 17 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
index b96533b..da5bdc5 100644
--- a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
@@ -1,6 +1,7 @@
package com.zy.asrs.task.handler;
+import com.baomidou.mybatisplus.enums.SqlLike;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.exception.CoolException;
@@ -155,7 +156,8 @@
//璐ф灦缂栫爜
mast.setBarcode(agvLocMast.getBarcode());
//璐ф灦绫诲瀷
- mast.setWhsType(30);
+ mast.setWhsType(Integer.parseInt(agvLocMast.getBarcode().substring(0, 2)));
+
// 鐩爣妤煎眰
mast.setPauseMk(agvLocMast.getLocType3().toString());
@@ -191,10 +193,19 @@
return SUCCESS;
}
+
private ReturnT<String> doAutoMove2(AgvWrkMast agvWrkMast) {
Date now = new Date();
- //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
- AgvLocMast locMast = agvCommonService.getLocNo(3, agvWrkMast.getCrnNo(), false, true);
+ String barcode = agvWrkMast.getBarcode();
+ AgvLocMast locMast;
+ if (Integer.parseInt(barcode.substring(0, 2)) == 31) {
+ //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
+ locMast = agvCommonService.getLocByLocRule(6, 2, 1);
+ } else {
+ //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
+ locMast = agvCommonService.getLocNo(3, agvWrkMast.getCrnNo(), false, true);
+ }
+
if (Cools.isEmpty(locMast)) {
log.info("鏆傛棤搴撲綅");
return FAIL;
@@ -250,7 +261,7 @@
}
if (Cools.isEmpty(devpNo)) {
- log.info("鏆傛棤绌洪棽鎺ラ┏浣�");
+ //log.info("鏆傛棤绌洪棽鎺ラ┏浣�");
return FAIL;
//throw new CoolException("鏆傛棤绌洪棽鎺ラ┏浣�");
}
@@ -315,7 +326,8 @@
//璐ф灦缂栫爜
mast.setBarcode(agvLocMast.getBarcode());
//璐ф灦绫诲瀷
- mast.setWhsType(30);
+ mast.setWhsType(Integer.parseInt(agvLocMast.getBarcode().substring(0, 2)));
+
mast.setAppeUser(9527L);
mast.setAppeTime(now);
@@ -416,7 +428,7 @@
} else if (agvLocMast.getFloor() == 1 && agvLocMast.getLev1() == 2) {
floor = "02F1";
}
- List<AgvWrkMast> agvWrkMasts = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("io_type", 109).like("source_loc_no", floor).or().eq("io_type", 113));
+ List<AgvWrkMast> agvWrkMasts = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("io_type", 109).like("barcode", "30", SqlLike.RIGHT).like("source_loc_no", floor).or().eq("io_type", 113));
if (agvWrkMasts.size() >= 5) {
//log.error("鏆傚仠鍥炴祦");
return FAIL;
@@ -429,6 +441,20 @@
wrkSts = 21L;
ioType = 109;
} else {
+ try {
+ List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(new EntityWrapper<AgvLocMast>().eq("loc_sts", "O").eq("loc_type1", 3).eq("lev1", 1).eq("floor", 1));
+ int num = 20;
+ Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "LOC_3_NUM_RETURN"));
+ if (config != null && !Cools.isEmpty(config.getValue())) {
+ num = Integer.parseInt(config.getValue());
+ }
+ if (agvLocMasts == null || agvLocMasts.size() < num) {
+ log.error("<搴撲綅涓嶈冻>" + num + "<搴撲綅涓嶈冻>");
+ return FAIL;
+ }
+ } catch (Exception e) {
+
+ }
//妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
locMast = agvCommonService.getLocNo(3, 1, true, true);
locNo = locMast.getLocNo();
@@ -452,7 +478,8 @@
//璐ф灦缂栫爜
mast.setBarcode(agvLocMast.getBarcode());
//璐ф灦绫诲瀷
- mast.setWhsType(30);
+ mast.setWhsType(Integer.parseInt(agvLocMast.getBarcode().substring(0, 2)));
+
mast.setAppeUser(9527L);
mast.setAppeTime(now);
@@ -493,9 +520,9 @@
} else if (agvLocMast.getFloor() == 2) {
floor = "F2";
}
- List<AgvWrkMast> agvWrkMasts = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("io_type", 109).like("source_loc_no", floor).or().eq("io_type", 113));
+ List<AgvWrkMast> agvWrkMasts = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("io_type", 109).like("barcode", "31", SqlLike.RIGHT).like("source_loc_no", floor).or().eq("io_type", 113));
Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "RETURN_6_MAX"));
- if (config == null && !Cools.isEmpty(config.getValue())) {
+ if (config != null && !Cools.isEmpty(config.getValue())) {
if (agvWrkMasts.size() >= Integer.parseInt(config.getValue())) {
return FAIL;
}
@@ -536,13 +563,14 @@
//璐ф灦缂栫爜
mast.setBarcode(agvLocMast.getBarcode());
//璐ф灦绫诲瀷
- mast.setWhsType(30);
+ mast.setWhsType(Integer.parseInt(agvLocMast.getBarcode().substring(0, 2)));
+
mast.setAppeUser(9527L);
mast.setAppeTime(now);
mast.setModiUser(9527L);
mast.setModiTime(now);
- mast.setLogErrMemo("autoEmptyBack4");
+ mast.setLogErrMemo("autoEmptyBackSiqi");
if (!agvWrkMastService.insertByIncrease(mast)) {
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
}
@@ -577,7 +605,8 @@
//璐ф灦缂栫爜
mast.setBarcode(agvBasDevp.getBarcode());
//璐ф灦绫诲瀷
- mast.setWhsType(30);
+ mast.setWhsType(Integer.parseInt(agvBasDevp.getBarcode().substring(0, 2)));
+
mast.setAppeUser(9527L);
mast.setAppeTime(now);
mast.setModiUser(9527L);
@@ -634,7 +663,8 @@
//璐ф灦缂栫爜
mast.setBarcode(agvBasDevp.getBarcode());
//璐ф灦绫诲瀷
- mast.setWhsType(30);
+ mast.setWhsType(Integer.parseInt(agvBasDevp.getBarcode().substring(0, 2)));
+
mast.setAppeUser(9527L);
mast.setAppeTime(now);
mast.setModiUser(9527L);
@@ -689,7 +719,8 @@
//璐ф灦缂栫爜
mast.setBarcode(agvLocMast.getBarcode());
//璐ф灦绫诲瀷
- mast.setWhsType(30);
+ mast.setWhsType(Integer.parseInt(agvLocMast.getBarcode().substring(0, 2)));
+
mast.setAppeUser(9527L);
mast.setAppeTime(now);
@@ -747,9 +778,9 @@
AgvLocMast LocMast;
if (agvLocMast.getLev1() == 1) {
//妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
- LocMast = agvCommonService.getLocByLocRule(3, 1, 2);
+ LocMast = agvCommonService.getLocByLocRule2(3, 1, 2);
} else {
- LocMast = agvCommonService.getLocByLocRule(3, 1, 1);
+ LocMast = agvCommonService.getLocByLocRule2(3, 1, 1);
}
List<AgvWrkMast> agvWrkMasts = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("io_type", 12));
if (agvWrkMasts.size() >= maxTansk) {
@@ -771,7 +802,8 @@
//璐ф灦缂栫爜
mast.setBarcode(agvLocMast.getBarcode());
//璐ф灦绫诲瀷
- mast.setWhsType(30);
+ mast.setWhsType(Integer.parseInt(agvLocMast.getBarcode().substring(0, 2)));
+
mast.setAppeUser(9527L);
mast.setAppeTime(now);
--
Gitblit v1.9.1