From 287170042ad762d32ca574a5ed692648ea8e002f Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 14 四月 2025 08:56:29 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 100 +++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 91 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index c6c9dd4..2527b59 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -37,6 +37,8 @@
private OrderDetlService orderDetlService;
@Autowired
private OrderService orderService;
+ @Autowired
+ private ManPakOutService manPakOutService;
public ReturnT<String> start(WrkMast wrkMast) {
// 4.鍏ュ簱瀹屾垚
@@ -181,6 +183,21 @@
}
} catch (Exception ignore){}
+ //鏇存柊鎷h揣鍗曞畬鎴愭暟閲�
+ EntityWrapper<ManPakOut> manPakOutEntityWrapper = new EntityWrapper<>();
+ manPakOutEntityWrapper.eq("doc_num",wrkDetl.getOrderNo());
+ manPakOutEntityWrapper.eq("matnr",wrkDetl.getMatnr());
+ ManPakOut manPakOut = manPakOutService.selectOne(manPakOutEntityWrapper);
+ if (!Cools.isEmpty(manPakOut)){
+ if (manPakOut.getCount() + wrkDetl.getAnfme() >= manPakOut.getAnfme()){
+ manPakOut.setStatus(1);
+ }
+ manPakOut.setCount(manPakOut.getCount() + wrkDetl.getAnfme());
+ if (!manPakOutService.update(manPakOut,manPakOutEntityWrapper)){
+ return FAIL.setMsg("鏇存柊鎷h揣鍗曞畬鎴愭暟閲忓け璐�");
+ }
+ }
+
}
// 淇敼搴撲綅鐘舵�� Q ====>> F
if (locMast.getLocSts().equals("Q")) {
@@ -196,6 +213,45 @@
}
break;
// 骞舵澘鍏ュ簱
+ case 55:
+ // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗�
+ List<WrkDetl> wrkDetls55 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+ if (wrkDetls55.isEmpty()) {
+// exceptionHandle("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo());
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+ }
+ // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏃犲簱瀛橈紝鏇炬柊澧�
+ for (WrkDetl wrkDetl:wrkDetls55) {
+
+ LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
+ locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", locDetl.getLocNo()));
+ locDetl = new LocDetl();
+ locDetl.sync(wrkDetl);
+ locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙�
+ locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺
+ locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
+ locDetl.setModiTime(now);
+ locDetl.setAppeTime(now);
+ if (!locDetlService.insert(locDetl)) {
+// exceptionHandle("骞舵澘鍏ュ簱 ===>> 鏂板搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr());
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 鏂板搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+ }
+ }
+ // 淇敼搴撲綅鐘舵�� Q ====>> F
+ if (locMast.getLocSts().equals("Q")) {
+ locMast.setLocSts("F");
+ locMast.setBarcode(wrkMast.getBarcode());
+ locMast.setIoTime(now);
+ locMast.setModiTime(now);
+ if (!locMastService.updateById(locMast)) {
+// exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+ }
+ }
+ break;
case 54:
// 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗�
List<WrkDetl> wrkDetls54 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
@@ -242,6 +298,7 @@
}
}
break;
+
// 鐩樼偣鍏ュ簱
case 57:
// 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗�
@@ -367,20 +424,45 @@
return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
}
}
- EntityWrapper<OrderDetl> orderDetlEntityWrapper = new EntityWrapper<>();
- orderDetlEntityWrapper.eq("order_no",wrkDetls101.get(0).getOrderNo());
- orderDetlEntityWrapper.eq("matnr",wrkDetls101.get(0).getMatnr());
- OrderDetl orderDetl = orderDetlService.selectOne(orderDetlEntityWrapper);
+ for (WrkDetl wrkDetl: wrkDetls101) {
+ if(Cools.isEmpty(wrkDetl)){
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 浠诲姟鏄庣粏涓虹┖; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+ }
+ if (!wrkDetl.getOrderNo().isEmpty()){
+ //鏇存柊璁㈠崟瀹屾垚鏁伴噺
+ EntityWrapper<OrderDetl> orderDetlEntityWrapper = new EntityWrapper<>();
+ orderDetlEntityWrapper.eq("order_no",wrkDetl.getOrderNo());
+ orderDetlEntityWrapper.eq("matnr",wrkDetl.getMatnr());
- OrderDetl orderDetl1 = new OrderDetl();
- orderDetl1.setQty(orderDetl.getQty() + wrkDetls101.get(0).getAnfme());
- orderDetl1.setUpdateTime(now);
- if (!orderDetlService.update(orderDetl1,orderDetlEntityWrapper)){
- return FAIL.setMsg("鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触");
+ OrderDetl orderDetl = orderDetlService.selectOne(orderDetlEntityWrapper);
+
+ OrderDetl orderDetl1 = new OrderDetl();
+ orderDetl1.setQty(orderDetl.getQty() + wrkDetl.getAnfme());
+ orderDetl1.setUpdateTime(now);
+ if (!orderDetlService.update(orderDetl1,orderDetlEntityWrapper)){
+ return FAIL.setMsg("鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触");
+ }
+ //鏇存柊绔嬪簱鎷h揣鍗曞畬鎴愭暟閲�
+ EntityWrapper<ManPakOut> manPakOutEntityWrapper = new EntityWrapper<>();
+ manPakOutEntityWrapper.eq("doc_num",wrkDetl.getOrderNo());
+ manPakOutEntityWrapper.eq("matnr",wrkDetl.getMatnr());
+ manPakOutEntityWrapper.eq("loc_no","绔嬪簱");
+ ManPakOut manPakOut = manPakOutService.selectOne(manPakOutEntityWrapper);
+ if (manPakOut.getCount() + wrkDetl.getAnfme() >= manPakOut.getAnfme()){
+ manPakOut.setStatus(1);
+ }
+ manPakOut.setCount(manPakOut.getCount() + wrkDetl.getAnfme());
+ if (!manPakOutService.update(manPakOut,manPakOutEntityWrapper)){
+ return FAIL.setMsg("鏇存柊鎷h揣鍗曞畬鎴愭暟閲忓け璐�");
+ }
+ }
}
+
+
Boolean finsihed = orderDetlService.checkAllDetlFinish(wrkDetls101.get(0).getOrderNo());
if (finsihed) {
Boolean mastFinished = wrkMastService.checkFinishByOrder(wrkDetls101.get(0).getOrderNo());
--
Gitblit v1.9.1