From 029ffbf20db7196d4f460bc741fd5f36a80689ae Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期四, 15 一月 2026 19:55:45 +0800
Subject: [PATCH] 空板回库称重再校验
---
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 51 +++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 43 insertions(+), 8 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 93576dc..f76c634 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -6,10 +6,7 @@
import com.zy.asrs.entity.*;
import com.zy.asrs.enums.LocStsType;
import com.zy.asrs.service.*;
-import com.zy.asrs.service.impl.BasStationServiceImpl;
-import com.zy.asrs.service.impl.LocCacheServiceImpl;
-import com.zy.asrs.service.impl.OrderPakinServiceImpl;
-import com.zy.asrs.service.impl.TaskDetlServiceImpl;
+import com.zy.asrs.service.impl.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import lombok.extern.slf4j.Slf4j;
@@ -58,6 +55,8 @@
private BasStationServiceImpl basStationService;
@Autowired
private WorkService workService;
+ @Autowired
+ private LocAroundBindService locAroundBindService;
public ReturnT<String> start(WrkMast wrkMast) {
// 4.鍏ュ簱瀹屾垚
@@ -115,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) {
@@ -129,7 +127,11 @@
locDetl = new LocDetl();
locDetl.sync(wrkDetl);
locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙�
- locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺
+ if (!Objects.isNull(wrkMast.getWrkCode())) {
+ locDetl.setAnfme(wrkDetl.getRealQty());
+ } else {
+ locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺
+ }
locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
locDetl.setModiTime(now);
locDetl.setAppeTime(now);
@@ -141,8 +143,9 @@
}
//鍒ゆ柇鍖归厤缂栫爜涓嶄负绌猴紝涓斾换鍔$紪鐮佸寘鍚�-2锛岀‘璁や负鏈変笂缁勪换鍔�
- if (!Objects.isNull(wrkMast.getWrkCode()) && wrkMast.getWrkCode().contains("-2")) {
+ if (!Objects.isNull(wrkMast.getWrkCode())) {
//涓嶉渶瑕佹洿鏂板崟鎹俊鎭紙瀛愪换鍔℃棤鍗曟嵁
+
} else {
//姝e父鍗曟嵁鎵嶅瓨瀛樺叆搴撳崟锛屼綔鍏ュ簱鍗曟嵁淇℃伅鏇存柊
// 鏇存柊璁㈠崟瀹屾垚鏁伴噺
@@ -444,6 +447,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;
}
@@ -489,7 +512,8 @@
}
- private ReturnT<String> doOut(WrkMast wrkMast) {
+ @Transactional(rollbackFor = Exception.class)
+ public ReturnT<String> doOut(WrkMast wrkMast) {
Date now = new Date();
LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
try {
@@ -507,7 +531,18 @@
if (!Objects.isNull(wrkMast.getWrkCode())) {
//TODO 绉诲簱
// workService.locMove(wrkMast.getSourceLocNo(), wrkMast.getLocNo(), wrkMast.getAppeUser());
+
movLoc(wrkMast);
+
+ //淇敼宸ヤ綅搴撴��
+ LocAroundBind bLocNo = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", wrkMast.getLocNo()));
+ if (Objects.isNull(bLocNo)) {
+ throw new CoolException("鏁版嵁閿欒锛� 鐩爣宸ヤ綅涓嶅瓨鍦紒锛�");
+ }
+ bLocNo.setLocType(LocStsType.LOC_STS_TYPE_F.type);
+ if (!locAroundBindService.updateById(bLocNo)) {
+ throw new CoolException("宸ヤ綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+ }
} else {
// // 鍑哄簱纭淇″彿浣�
// if (Cools.isEmpty(wrkMast.getInvWh()) || wrkMast.getInvWh().equals("N")) {
--
Gitblit v1.9.1