From 9c0dbc95b469f9f28184afa83fedaaba7a0b8d49 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期四, 12 三月 2026 13:51:43 +0800
Subject: [PATCH] erp出库作业完善 1.出库任务下发给wcs之前会先卡住,等erp发立即出库时再给wcs下发(补丁,后需要删掉) 2.给wcs自动下发出库任务 3.新增出库任务完成后上报erp接口(三次上报失败后直接转历史档这个地方有点问题)
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 44 +++++++++++++++++++++++++++++++++++---------
1 files changed, 35 insertions(+), 9 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 7ae931d..449a143 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -367,6 +367,7 @@
wrkMast.setExitMk("N"); // 閫�鍑�
wrkMast.setEmptyMk("N"); // 绌烘澘
wrkMast.setLinkMis("N");
+ wrkMast.setPdcType("N");
wrkMast.setBarcode(locMast.getBarcode());
wrkMast.setTakeNone("0"); //0闈炶嚜鍔�
@@ -692,7 +693,12 @@
// 鍒ゆ柇鏄惁鏄洏鐐瑰崟
String orderNo = taskDto.getLocDtos().get(0).getOrderNo();
OrderPakout orderPakout = orderPakOutService.selectByNo(orderNo);
- int ioType = orderPakout.getDocType() == 8 ? 107 : (taskDto.isAll() ? 101 : 103);
+ Order order = orderPakout == null ? orderService.selectByNo(orderNo) : null;
+ if (orderPakout == null && order == null) {
+ throw new CoolException("璁㈠崟涓嶅瓨鍦細" + orderNo);
+ }
+ Long docType = orderPakout != null ? orderPakout.getDocType() : order.getDocType();
+ int ioType = Objects.equals(docType, 8L) ? 107 : (taskDto.isAll() ? 101 : 103);
StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo());
List<LocMast> list = locMastMapper.selectList(
new EntityWrapper<LocMast>()
@@ -744,6 +750,7 @@
wrkMast.setExitMk("N"); // 閫�鍑�
wrkMast.setEmptyMk("N"); // 绌烘澘
wrkMast.setLinkMis("N");
+ wrkMast.setPdcType("N");
wrkMast.setBarcode(locMast.getBarcode());
wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
wrkMast.setAppeTime(now);
@@ -755,9 +762,14 @@
// 鐢熸垚宸ヤ綔妗f槑缁�
for (LocDto locDto : taskDto.getLocDtos()) {
if (locDto.getAnfme()==null || locDto.getAnfme() <= 0.0D) { continue; }
-// OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
- OrderDetl orderDetl = OrderInAndOutUtil.selectItem(Boolean.FALSE, locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch(),locDto.getBrand()
+ OrderDetl orderDetl = orderPakout != null
+ ? OrderInAndOutUtil.selectItem(Boolean.FALSE, locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch(),locDto.getBrand()
+ ,locDto.getStandby1(),locDto.getStandby2(),locDto.getStandby3(),locDto.getBoxType1(),locDto.getBoxType2(),locDto.getBoxType3())
+ : orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch(),locDto.getBrand()
,locDto.getStandby1(),locDto.getStandby2(),locDto.getStandby3(),locDto.getBoxType1(),locDto.getBoxType2(),locDto.getBoxType3());
+ if (orderDetl == null) {
+ throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦細" + locDto.getOrderNo() + ", " + locDto.getMatnr());
+ }
// if (orderDetl == null) {
//// orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
// orderDetl = OrderInAndOutUtil.selectItem(Boolean.FALSE, locDto.getOrderNo(), locDto.getMatnr(), null);
@@ -792,11 +804,22 @@
// throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
// }
// orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
- OrderInAndOutUtil.increaseWorkQty(Boolean.FALSE,orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(),
- orderDetl.getBrand(),orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),
- orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3()
- , locDto.getAnfme());
- OrderInAndOutUtil.updateOrder(Boolean.FALSE,orderDetl.getOrderId(), 2L, userId);
+ if (orderPakout != null) {
+ OrderInAndOutUtil.increaseWorkQty(Boolean.FALSE,orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(),
+ orderDetl.getBrand(),orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),
+ orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3()
+ , locDto.getAnfme());
+ OrderInAndOutUtil.updateOrder(Boolean.FALSE,orderDetl.getOrderId(), 2L, userId);
+ } else {
+ if (!orderDetlService.increaseWorkQty(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(),
+ orderDetl.getBrand(), orderDetl.getStandby1(), orderDetl.getStandby2(), orderDetl.getStandby3(),
+ orderDetl.getBoxType1(), orderDetl.getBoxType2(), orderDetl.getBoxType3(), locDto.getAnfme())) {
+ throw new CoolException("淇敼璁㈠崟鏄庣粏浣滀笟鏁伴噺澶辫触");
+ }
+ if (!orderService.updateSettle(orderDetl.getOrderId(), 2L, userId)) {
+ throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�");
+ }
+ }
}
//淇敼agv澶囨枡鍖虹姸鎬�
if(locMastRgv.getLocSts().equals("O")){
@@ -963,6 +986,7 @@
wrkMast.setExitMk("N"); // 閫�鍑�
wrkMast.setEmptyMk("Y"); // 绌烘澘
wrkMast.setLinkMis("N");
+ wrkMast.setPdcType("N");
wrkMast.setAppeUser(userId);
wrkMast.setAppeTime(now);
wrkMast.setModiUser(userId);
@@ -1025,6 +1049,7 @@
wrkMast.setExitMk("N"); // 閫�鍑�
wrkMast.setEmptyMk("Y"); // 绌烘澘
wrkMast.setLinkMis("N");
+ wrkMast.setPdcType("N");
wrkMast.setAppeUser(1L);
wrkMast.setAppeTime(now);
wrkMast.setModiUser(1L);
@@ -1660,7 +1685,7 @@
}
LocTypeDto locTypeDto = new LocTypeDto();
locTypeDto.setLocType1((short) 1);
- return wcsController.startupFullPutStore(301, list.get(0).getZpallet(), locTypeDto, list);
+ return wcsController.startupFullPutStore(301, list.get(0).getZpallet(), locTypeDto, list, null);
}
@Override
@@ -1786,3 +1811,4 @@
}
}
+
--
Gitblit v1.9.1