From e84b6c48322a84e1e1404a39f6bab8568a4cdd09 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期二, 03 九月 2024 13:19:52 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 107 insertions(+), 12 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
index 0a596ab..c8b1273 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -388,6 +388,20 @@
public String handControlLocMove(LocMoveParam param, Long userId) {
String fl = String.valueOf(param.getFloor());
short floor =(short)Integer.parseInt(fl.substring(0, 1));
+ switch (param.getFloor()) {
+ case "1F01":
+ floor = 1;
+ break;
+ case "1F02":
+ floor = 4;
+ break;
+ case "2F":
+ floor = 2;
+ break;
+ case "3F":
+ floor = 3;
+ break;
+ }
Integer ioType = 0;
AgvLocMast agvLocMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", param.getLocNo()));
if (Cools.isEmpty(agvLocMast)) {
@@ -405,17 +419,21 @@
}
} else {
if (agvLocMast.getFloor() != floor) {
-// if (floor==1 && agvLocMast.getFloor()!=1){
-// ioType = 121;
-// }else {
- if (agvLocMast.getFloor() == 1) {
- throw new CoolException("褰撳墠搴撲綅璇烽�夋嫨璋冩嫧鍗曡皟鎷紒");
+ if (agvLocMast.getFloor() == 1 && (floor == 2 || floor == 3)) {
+ throw new CoolException("褰撳墠搴撲綅璇烽�夋嫨璋冩嫧鍗曡皟鎷紒");
+ } else {
+ ioType = 12;
+ }
+ } else {
+ if (agvLocMast.getFloor() == 1) {
+ if (agvLocMast.getLev1() == 1 && floor == 1) {
+ ioType = 11;
} else {
ioType = 12;
}
-// }
- } else {
- ioType = 11;
+ } else {
+ ioType = 11;
+ }
}
}
Date now = new Date();
@@ -425,7 +443,21 @@
throw new CoolException("褰撳墠"+agvLocMast.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�");
}
//妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
- AgvLocMast locMast = agvCommonService.getLocNo(agvLocMast.getLocType1(),floor,false,true);
+ AgvLocMast locMast = null;
+ if (floor == 1) {
+ locMast = agvCommonService.getLocNo(agvLocMast.getLocType1(),floor,true,false);
+ } else {
+ locMast = agvCommonService.getLocNo(agvLocMast.getLocType1(),floor,false,false);
+ }
+
+ // 鐩爣妤煎眰鍘� 鍚稿2妤�
+ if (floor == 4) {
+ if (locMast.getLev1() == 1) {
+ throw new CoolException("鍚稿涓�妤兼病鏈夌┖搴撲綅鍙互绉诲簱锛�");
+ }
+
+ }
+
if (Cools.isEmpty(locMast)) {
throw new CoolException("褰撳墠妤煎眰娌℃湁绌哄簱浣�");
}
@@ -455,6 +487,7 @@
mast.setAppeTime(now);
mast.setModiUser(userId);
mast.setModiTime(now);
+ mast.setLogErrMemo("handControlLocMove");
if (!agvWrkMastService.insertByIncrease(mast)) {
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
}
@@ -479,7 +512,7 @@
}
// 濡傛灉褰撳墠浠诲姟鏄澹充簩涓夋ゼ鍥為��涓�妤肩殑 鍥炴粴璋冩嫧鍗�
- if (ioType == 12 && locMast.getFloor() == 1) {
+ if (ioType == 12 && locMast.getFloor() == 1 && floor != 4 && agvLocMast.getFloor() != 1) {
List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", agvLocMast.getLocNo()));
for (AgvLocDetl agvLocDetl : agvLocDetls) {
OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("three_code", agvLocDetl.getThreeCode()).eq("matnr", agvLocDetl.getMatnr()).eq("order_no", "DB" + agvLocDetl.getOrderNo()));
@@ -644,7 +677,7 @@
return "ok";
}
/*
- * 绔欑偣鍥為��
+ * 杞墜鍔ㄥ洖娴�
*/
@Override
@Transactional
@@ -659,6 +692,68 @@
}
return "ok";
}
+
+ /*
+ * 纭鍔犲伐瀹屾垚
+ */
+ @Override
+ @Transactional
+ public String processed(AgvMobileStartPakin param, Long userId) {
+ Date now = new Date();
+ AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", param.getBarcode()).eq("loc_no", param.getDevNo()));
+ if (Cools.isEmpty(agvWrkMast)) {
+ throw new CoolException("鏆傛棤褰撳墠璐ф灦鐨勫伐浣滄。");
+ }
+ if (agvWrkMast.getWrkSts() != 205) {
+ throw new CoolException("褰撳墠浠诲姟鏈畬鎴愶紝璇风‘璁�");
+ }
+ //鐢熸垚AGV宸ヤ綔鍘嗗彶妗� + 鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗�
+ agvWrkMastLogService.save(agvWrkMast);
+ agvWrkDetlLogService.save(agvWrkMast.getWrkNo());
+ String sourceLocNo = agvWrkMast.getSourceLocNo();
+ AgvLocMast newLocMast = agvCommonService.getLocNo(3, 1,false,false);
+ agvWrkMast.setSourceLocNo(agvWrkMast.getLocNo());
+ agvWrkMast.setLocNo(newLocMast.getLocNo());
+ agvWrkMast.setIoType(57);
+ agvWrkMast.setWrkSts(201L);
+ agvWrkMast.setModiUser(userId);
+ agvWrkMast.setModiTime(now);
+
+
+
+ if (!agvWrkMastService.update(agvWrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no",agvWrkMast.getWrkNo()))) {
+ throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�");
+ }
+
+ // 鏇存柊婧愮珯鐐� + 鐩爣搴撲綅鐘舵�� + 鍘嗗彶婧愬簱浣�
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"R",param.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ agvLocMastService.updateLocStsByLocNo(newLocMast.getLocNo(),"S",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ agvLocMastService.updateLocStsByLocNo(sourceLocNo,"O","",(short)30);
+ agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no",sourceLocNo));
+
+ List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("supp_code",param.getBarcode()));
+ agvWrkDetls.forEach(agvWrkDetl -> {
+ for (AgvWrkDetl wrkDetl : param.getWrkDetls()) {
+ if (wrkDetl.getMatnr().equals(agvWrkDetl.getMatnr()) && wrkDetl.getThreeCode().equals(agvWrkDetl.getThreeCode())) {
+ agvWrkDetl.setAnfme(wrkDetl.getAnfme());
+ break;
+ }
+ }
+ agvWrkDetl.setProcessSts(2);
+ agvWrkDetl.setOrderNo(agvWrkDetl.getOrderNo().substring(2));
+ agvWrkDetl.setModiUser(userId);
+ agvWrkDetl.setModiTime(now);
+ if (!agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>()
+ .eq("matnr",agvWrkDetl.getMatnr())
+ .eq("three_code",agvWrkDetl.getThreeCode())
+ .eq("supp_code",param.getBarcode()))) {
+ throw new CoolException("鏇存柊宸ヤ綔鏄庣粏澶辫触");
+ }
+ });
+ return "ok";
+ }
+
+
/*
* 绔欑偣鍥為��
@@ -753,7 +848,7 @@
wrkMast.setAppeTime(now);
wrkMast.setModiUser(userId);
wrkMast.setModiTime(now);
-
+ wrkMast.setLogErrMemo("doBack");
if (!agvWrkMastService.insertByIncrease(wrkMast)) {
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
}
--
Gitblit v1.9.1