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/service/impl/AgvWorkServiceImpl.java | 53 +++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 45 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
index c9b9325..d53164d 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -495,6 +495,10 @@
if (Cools.isEmpty(agvBasDevp)) {
throw new CoolException("鏆傛棤" + station + "绔欑偣");
}
+ AgvBasDevp agvBasDevp2 = agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>().eq("barcode", containerCode).ne("dev_no", agvBasDevp.getDevNo()));
+ if (!Cools.isEmpty(agvBasDevp2)) {
+ throw new CoolException(station + "绔欑偣缁戝畾璇ヨ揣鏋讹紝鏃犳硶鍏ュ簱");
+ }
int br = 0;
if (containerType == 21 && agvBasDevp.getFloor() == 2) {
containerType = 20;
@@ -645,6 +649,15 @@
if (Cools.isEmpty(agvBasDevp)) {
throw new CoolException("鏆傛棤" + station + "绔欑偣");
}
+
+ AgvBasDevp agvBasDevp2 = agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>().eq("barcode", containerCode).ne("dev_no", agvBasDevp.getDevNo()));
+ if (!Cools.isEmpty(agvBasDevp2)) {
+ throw new CoolException(station + "绔欑偣缁戝畾璇ヨ揣鏋讹紝鏃犳硶鍏ュ簱");
+ }
+ if (Cools.isEmpty(agvBasDevp)) {
+ throw new CoolException("鏆傛棤" + station + "绔欑偣");
+ }
+
int br = 0;
if (containerType == 21 && agvBasDevp.getFloor() == 2) {
containerType = 20;
@@ -752,9 +765,9 @@
String ctnNo = null;
// 鎵撴爣璁帮紝鑻ュ簱浣嶄笉澶燂紝鍏ュ簱鍒板埆鐨勬ゼ灞傦紝閭d箞闇�瑕佽法灞傜Щ搴�
if (!Cools.isEmpty(code)) {
- if (agvLocMast.getLev1() == 1 && !code.equals(AsrsConstants.SANCHANG)) {
- ctnNo = "1";
- } else if (agvLocMast.getLev1() == 2 && !code.equals(AsrsConstants.ERCHANG)) {
+ if (agvLocMast.getLev1() == 1 && code.equals(AsrsConstants.ERCHANG)) {
+ ctnNo = "2";
+ } else if (agvLocMast.getLev1() == 2 && code.equals(AsrsConstants.SANCHANG)) {
ctnNo = "1";
}
}
@@ -800,6 +813,10 @@
AgvBasDevp agvBasDevp = agvBasDevpService.selectById(station);
if (Cools.isEmpty(agvBasDevp)) {
throw new CoolException("鏆傛棤" + station + "绔欑偣");
+ }
+ AgvBasDevp agvBasDevp2 = agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>().eq("barcode", containerCode).ne("dev_no", agvBasDevp.getDevNo()));
+ if (!Cools.isEmpty(agvBasDevp2)) {
+ throw new CoolException(station + "绔欑偣缁戝畾璇ヨ揣鏋讹紝鏃犳硶鍏ュ簱");
}
int br = 0;
if (containerType == 21 && agvBasDevp.getFloor() == 2) {
@@ -1008,7 +1025,7 @@
List<AgvLocDetl> locDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", param.getLocNo()));
List<LocDetlAdjustParam.LocDetlAdjust> list = param.getList();
-
+ String barcode = null;
// 淇敼鏁伴噺
Iterator<AgvLocDetl> iterator = locDetls.iterator();
while (iterator.hasNext()) {
@@ -1095,6 +1112,7 @@
locDetl.setThreeCode(adjust.getThreeCode());
locDetl.setDeadTime(adjust.getDeadTime());
locDetl.setSuppCode(adjust.getSuppCode());
+ barcode = adjust.getSuppCode();
if (!agvLocDetlService.insert(locDetl)) {
throw new CoolException("娣诲姞" + locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "搴忓垪鐮佸簱瀛樻槑缁嗗け璐�");
}
@@ -1127,6 +1145,7 @@
if (locMast.getLocSts().equals("D") || locMast.getLocSts().equals("O")) {
if (count > 0) {
locMast.setLocSts("F");
+ locMast.setBarcode(barcode);
}
}
locMast.setModiUser(userId);
@@ -1239,6 +1258,9 @@
String devNo = wrkMast.getSourceLocNo();
//鐩爣搴撲綅
String locNo = wrkMast.getLocNo();
+ if (!Cools.isEmpty(locNo)) {
+ agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
+ }
agvLocMastService.updateLocStsByLocNo(locNo, "O", "", null);
if (wrkMast.getIoType() == 58) {
agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo, "F", wrkMast.getBarcode(), wrkMast.getWhsType().shortValue());
@@ -1385,6 +1407,14 @@
if (!orderDetlService.update(orderDetl, new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code", agvLocDetl.getThreeCode()))) {
throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�" + agvLocDetl.getOrderNo() + agvLocDetl.getMatnr());
}
+ } else {
+ orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("matnr", agvLocDetl.getMatnr()).eq("three_code", agvLocDetl.getThreeCode()).eq("source", 33).ge("qty", agvLocDetl.getAnfme()));
+ if (orderDetl != null) {
+ orderDetl.setQty(orderDetl.getQty() - agvLocDetl.getAnfme());
+ if (!orderDetlService.update(orderDetl, new EntityWrapper<OrderDetl>().eq("order_no", orderDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code", agvLocDetl.getThreeCode()))) {
+ //throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�" + agvLocDetl.getOrderNo() + agvLocDetl.getMatnr());
+ }
+ }
}
// FlowLog flowLog = new FlowLog();
// flowLog.setFid(String.valueOf(flowId));
@@ -1525,9 +1555,13 @@
throw new CoolException("鍒犻櫎澶辫触锛岃鑱旂郴绠$悊鍛�");
}
- if (type == 2) {
- //璋冪敤agv鍙栨秷浠诲姟鎺ュ彛
- agvWrkMastService.callCancelTask(wrkMast.getWrkNo());
+ if (type == 2 || type == 5) {
+ try {
+ //璋冪敤agv鍙栨秷浠诲姟鎺ュ彛
+ agvWrkMastService.callCancelTask(wrkMast.getWrkNo());
+ } catch (Exception e) {
+ log.info("璋冪敤agv鍙栨秷浠诲姟鎺ュ彛澶辫触");
+ }
}
}
}
@@ -1591,7 +1625,10 @@
}
OrderDetl orderDetl = orderDetlService.selectItem(orderNo, mat.getMatnr(), batch, csocode);
if (orderDetl == null) {
- throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+ orderDetl = orderDetlService.selectItem(orderNo, mat.getMatnr(), null, csocode);
+ if (orderDetl == null) {
+ throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+ }
}
AgvWrkDetl wrkDetl = new AgvWrkDetl();
wrkDetl.sync(mat);
--
Gitblit v1.9.1