From 8896a0841940bac10c17b9a02f8d1cd76dd52084 Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期五, 16 一月 2026 14:19:51 +0800
Subject: [PATCH] 出库查询及任务档流程优化
---
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 51 ++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 48 insertions(+), 3 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 f722e01..003e018 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -114,7 +114,6 @@
}
// 閬嶅巻宸ヤ綔鏄庣粏锛屾洿鏂板簱瀛樻槑缁嗗拰鍏ュ簱閫氱煡妗�
for (WrkDetl wrkDetl : wrkDetls) {
-
LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand()
, wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
if (null != locDetl) {
@@ -140,8 +139,34 @@
}
//鍒ゆ柇鍖归厤缂栫爜涓嶄负绌猴紝涓斾换鍔$紪鐮佸寘鍚�-2锛岀‘璁や负鏈変笂缁勪换鍔�
- if (!Objects.isNull(wrkMast.getWrkCode()) && wrkMast.getWrkCode().contains("-2")) {
- //涓嶉渶瑕佹洿鏂板崟鎹俊鎭紙瀛愪换鍔℃棤鍗曟嵁
+ if (!Objects.isNull(wrkMast.getWrkCode())) {
+ //TODO 鑾峰彇101鍑哄簱 涓讳换鍔℃。鎬绘暟閲� - 瀛愪换鍔℃。鐨勫疄闄呮暟閲� = 褰撳墠浣滀笟瀹屾垚鏁伴噺
+ WrkDetl selectOne = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+
+ Double v = Math.round((selectOne.getStockQty() - selectOne.getAnfme()) * 10000) / 10000.0;
+
+ OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), null, null, null, null,
+ null, null, null);
+
+ if (!Objects.isNull(orderDetlPakout)) {
+ orderDetlPakout.setQty(v);
+ if (!orderDetlPakoutService.updateById(orderDetlPakout)) {
+ throw new CoolException("鍗曟嵁瀹屾垚鏁伴噺淇敼澶辫触锛侊紒");
+ }
+ }
+ int indexOf = wrkMast.getWrkCode().indexOf("-1");
+ if (indexOf != -1) {
+ String wrkNo = wrkMast.getWrkCode().substring(0, indexOf);
+ WrkMast mast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", wrkNo));
+ if (Objects.isNull(mast)) {
+
+ throw new CoolException("鏁版嵁閿欒锛屼富浠诲姟妗d笉瀛樺湪鎴栧凡鍒犻櫎锛侊紒");
+ }
+ mast.setWrkCode(null);
+ if (!wrkMastService.updateById(mast)) {
+ throw new CoolException("鍘熶换鍔℃。鍒犻櫎澶辫触锛侊紒");
+ }
+ }
} else {
//姝e父鍗曟嵁鎵嶅瓨瀛樺叆搴撳崟锛屼綔鍏ュ簱鍗曟嵁淇℃伅鏇存柊
// 鏇存柊璁㈠崟瀹屾垚鏁伴噺
@@ -443,6 +468,26 @@
return FAIL.setMsg(e.getMessage());
}
+ /***/
+ if (!Objects.isNull(wrkMast.getWrkCode())) {
+ LocMast lcmst = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getSourceLocNo()));
+ lcmst.setLocSts(LocStsType.LOC_STS_TYPE_O.type);
+ if (!locMastService.updateById(lcmst)) {
+ throw new CoolException("搴撲綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+ }
+
+ LocAroundBind bLocNo = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", wrkMast.getSourceLocNo()));
+ if (Objects.isNull(bLocNo)) {
+ throw new CoolException("宸ヤ綅涓嶅瓨鍦� 锛侊紒");
+ }
+ bLocNo.setLocType(LocStsType.LOC_STS_TYPE_O.type);
+ if (!locAroundBindService.updateById(bLocNo)) {
+ throw new CoolException("宸ヤ綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+ }
+
+ locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()));
+ }
+
return SUCCESS;
}
--
Gitblit v1.9.1