From 130734fae9297d84be9ea6d50a8e8c1a7f3747ce Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期一, 21 四月 2025 16:04:15 +0800
Subject: [PATCH] 1
---
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 113 +++++++++++++++++++++++++++++++++++++
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 49 +++++++++-------
2 files changed, 140 insertions(+), 22 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index fffc622..912f718 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -1894,16 +1894,18 @@
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
}
// 宸ヤ綔妗f槑缁嗕繚瀛�
- for (WrkDetl wrk : wrkDetls) {
- WrkDetl wrkDetl = new WrkDetl();
- Synchro.Copy(wrk, wrkDetl);
- wrkDetl.setWrkNo(workNo);
- wrkDetl.setIoTime(new Date());
- wrkDetl.setAnfme(wrk.getAnfme());
- wrkDetl.setAppeTime(new Date());
- wrkDetl.setModiTime(new Date());
- if (!wrkDetlService.insert(wrkDetl)) {
- throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+ if (wrkDetls != null) {
+ for (WrkDetl wrk : wrkDetls) {
+ WrkDetl wrkDetl = new WrkDetl();
+ Synchro.Copy(wrk, wrkDetl);
+ wrkDetl.setWrkNo(workNo);
+ wrkDetl.setIoTime(new Date());
+ wrkDetl.setAnfme(wrk.getAnfme());
+ wrkDetl.setAppeTime(new Date());
+ wrkDetl.setModiTime(new Date());
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+ }
}
}
// 淇敼鐩爣搴撲綅鐘舵��
@@ -1939,10 +1941,10 @@
wrkMast.setIoPri(12D);
wrkMast.setCrnNo(7);
wrkMast.setLocNo(dto.getLocNo()); // 鐩爣搴撲綅
- wrkMast.setFullPlt("Y"); // 婊℃澘
+ wrkMast.setFullPlt(wrkDetls == null ? "N" : "Y"); // 婊℃澘
wrkMast.setPicking("N"); // 鎷f枡
wrkMast.setExitMk("N"); // 閫�鍑�
- wrkMast.setEmptyMk("Y"); // 绌烘澘
+ wrkMast.setEmptyMk(wrkDetls != null ? "N" : "Y"); // 绌烘澘
wrkMast.setBarcode(wrkMastold.getBarcode()); // 鎵樼洏鐮�
wrkMast.setLinkMis("N");
wrkMast.setAppeTime(new Date());
@@ -1952,16 +1954,18 @@
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
}
// 宸ヤ綔妗f槑缁嗕繚瀛�
- for (WrkDetl wrk : wrkDetls) {
- WrkDetl wrkDetl = new WrkDetl();
- Synchro.Copy(wrk, wrkDetl);
- wrkDetl.setWrkNo(workNo);
- wrkDetl.setIoTime(new Date());
- wrkDetl.setAnfme(wrk.getAnfme());
- wrkDetl.setAppeTime(new Date());
- wrkDetl.setModiTime(new Date());
- if (!wrkDetlService.insert(wrkDetl)) {
- throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+ if (wrkDetls != null) {
+ for (WrkDetl wrk : wrkDetls) {
+ WrkDetl wrkDetl = new WrkDetl();
+ Synchro.Copy(wrk, wrkDetl);
+ wrkDetl.setWrkNo(workNo);
+ wrkDetl.setIoTime(new Date());
+ wrkDetl.setAnfme(wrk.getAnfme());
+ wrkDetl.setAppeTime(new Date());
+ wrkDetl.setModiTime(new Date());
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+ }
}
}
// 淇敼鐩爣搴撲綅鐘舵��
@@ -1976,4 +1980,5 @@
}
}
+
}
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 800325a..42ba93d 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -53,6 +53,10 @@
// 14.鍑哄簱瀹屾垚
} else if (wrkMast.getWrkSts() == 14) {
return doOut(wrkMast);
+ } else if (wrkMast.getWrkSts() == 108) {
+ return doOut2_5(wrkMast);
+ } else if (wrkMast.getWrkSts() == 109) {
+ return doOut2_5(wrkMast);
}
return SUCCESS;
}
@@ -479,4 +483,113 @@
return SUCCESS;
}
+
+ private ReturnT<String> doOut2_5(WrkMast wrkMast) {
+ Date now = new Date();
+ LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
+ try {
+ if (null == locMast) {
+// exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("宸ヤ綔妗e簱浣嶅彿閿欒; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+ }
+ assert locMast != null;
+ switch (wrkMast.getIoType()) {
+ // 鍏ㄦ澘鍑哄簱
+ case 101:
+ List<WrkDetl> wrkDetls101 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+ if (wrkMast.getStaNo() == 1135) {
+ //閭i渶瑕佺敓鎴愪竴鏉″洓椤瑰簱鐨勫叆搴撲换鍔�
+ workService.toSxk(wrkMast, wrkDetls101, (short) 1);
+ } else if (wrkMast.getStaNo() == 1031) {
+ //閭i渶瑕佺敓鎴愪竴鏉″洓椤瑰簱鐨勫叆搴撲换鍔�
+ workService.toCrn(wrkMast, wrkDetls101, (short) 1);
+ }
+ // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗�
+ if (wrkDetls101.isEmpty()) {
+// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo());
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+ }
+ for (WrkDetl wrkDetl : wrkDetls101) {
+ // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
+ OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+ if (orderDetl == null) {
+ orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
+ }
+ try {
+ if (!Cools.isEmpty(orderDetl)) {
+ if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+ orderDetl.getBatch(), wrkDetl.getAnfme())) {
+// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
+// wrkMast.getWrkNo(), wrkMast.getLocNo());
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+ }
+ }
+ } catch (Exception ignore) {
+ }
+ }
+ // 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁�
+ if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) {
+// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鍒犻櫎搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鍒犻櫎搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+ }
+ // 淇敼婧愬簱浣嶇姸鎬� R ===>> O
+ if (locMast.getLocSts().equals("R")) {
+ locMast.setLocSts("O");
+ locMast.setBarcode("");
+ locMast.setModiTime(now);
+ locMast.setIoTime(now);
+ if (!locMastService.updateById(locMast)) {
+// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+ }
+ }
+ break;
+ // 绌烘澘鍑哄簱
+ case 110:
+ if (wrkMast.getStaNo() == 1135) {
+ //閭i渶瑕佺敓鎴愪竴鏉″洓椤瑰簱鐨勫叆搴撲换鍔�
+ workService.toSxk(wrkMast, null, (short) 1);
+ } else if (wrkMast.getStaNo() == 1031) {
+ //閭i渶瑕佺敓鎴愪竴鏉″洓椤瑰簱鐨勫叆搴撲换鍔�
+ workService.toCrn(wrkMast, null, (short) 1);
+ }
+ // 淇敼搴撲綅鐘舵�� R ===>> O
+ if (locMast.getLocSts().equals("R")) {
+ locMast.setLocSts("O");
+ locMast.setBarcode("");
+ locMast.setModiTime(now);
+ locMast.setIoTime(now);
+ if (!locMastService.updateById(locMast)) {
+// exceptionHandle("绌烘澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("绌烘澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+ }
+ }
+ break;
+ default:
+ break;
+ }
+ // 淇敼宸ヤ綔涓绘。鐘舵��
+ wrkMast.setWrkSts(15L);
+ wrkMast.setModiTime(now);
+ if (!wrkMastService.updateById(wrkMast)) {
+// exceptionHandle("鏇存柊鍑哄簱瀹屾垚鐘舵�佸け璐�;[workNo={0}]", wrkMast.getWrkNo());
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("鏇存柊鍑哄簱瀹屾垚鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+ }
+ } catch (Exception e) {
+ log.error("fail", e);
+ e.printStackTrace();
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg(e.getMessage());
+ }
+ return SUCCESS;
+ }
+
+
}
--
Gitblit v1.9.1