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/OpenServiceImpl.java | 55 +++++++++++++++++++------------------------------------
1 files changed, 19 insertions(+), 36 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index e984af6..47ea86e 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -377,53 +377,35 @@
if (param == null || Cools.isEmpty(param.getOrderId())) {
throw new CoolException("orderNo is empty");
}
- Order order = orderService.selectByNo(param.getOrderId());
- if (order == null) {
- order = OrderInAndOutUtil.selectByNo(Boolean.FALSE, param.getOrderId());
- }
- if (order == null) {
- throw new CoolException("order not found: " + param.getOrderId());
- }
List<WrkMast> activeTasks = findActiveOutboundTasks(param.getOrderId());
+ Map<String, Object> result = new HashMap<>();
+ result.put("orderNo", param.getOrderId());
+ result.put("taskCount", activeTasks.size());
if (activeTasks.isEmpty()) {
- return R.ok("no active out tasks");
+ result.put("confirmedCount", 0);
+ return R.ok("no active out tasks").add(result);
}
Date now = new Date();
- int pausedCount = 0;
- List<WrkMast> issuedTasks = new ArrayList<>();
+ int confirmedCount = 0;
for (WrkMast wrkMast : activeTasks) {
- if (wrkMast == null || "Y".equalsIgnoreCase(wrkMast.getPauseMk())) {
+ if (wrkMast == null || "Y".equalsIgnoreCase(wrkMast.getPdcType())) {
continue;
}
- wrkMast.setPauseMk("Y");
- wrkMast.setUpdMk(needNotifyWcsStop(wrkMast) ? "WCS_STOP_REQUESTED" : "WMS_PAUSED");
- wrkMast.setManuType("ERP_PAUSE");
+ wrkMast.setPdcType("Y");
+// wrkMast.setUpdMk("ERP_CONFIRMED");
+// wrkMast.setManuType("ERP_CONFIRM_OUT");
wrkMast.setModiTime(now);
wrkMast.setModiUser(9527L);
if (!wrkMastService.updateById(wrkMast)) {
- throw new CoolException("pause out task failed: " + wrkMast.getWrkNo());
+ throw new CoolException("confirm out task failed: " + wrkMast.getWrkNo());
}
- pausedCount++;
- if (needNotifyWcsStop(wrkMast)) {
- issuedTasks.add(wrkMast);
- }
+ confirmedCount++;
}
- if (pausedCount == 0) {
- return R.ok("tasks already paused");
- }
-
- if (!issuedTasks.isEmpty()) {
- wcsApiService.pauseOutTasks(buildStopOutTaskParams(param, issuedTasks));
- }
-
- Map<String, Object> result = new HashMap<>();
- result.put("orderNo", param.getOrderId());
- result.put("pausedCount", pausedCount);
- result.put("wcsStopCount", issuedTasks.size());
- return R.ok("pause out success").add(result);
+ result.put("confirmedCount", confirmedCount);
+ return R.ok(confirmedCount == 0 ? "tasks already confirmed" : "erp confirm out success").add(result);
}
@Override
@@ -440,8 +422,8 @@
}
if (Objects.equals(param.getExecute(), 2)) {
OpenOrderPakoutPauseParam pauseParam = new OpenOrderPakoutPauseParam();
-// pauseParam.getOrderId(param.getOrderId());
-// pauseParam.setReason("OPEN_API_PAUSE");
+ pauseParam.setOrderId(param.getOrderId());
+// pauseParam.setReason("OPEN_API_CONFIRM_OUT");
return pakoutOrderPause(pauseParam);
}
throw new CoolException("execute only supports 1 or 2");
@@ -461,8 +443,8 @@
}
List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
.in("wrk_no", wrkNos)
- .in("io_type", Arrays.asList(101, 103, 107, 108, 110))
- .lt("wrk_sts", 14L));
+ .in("io_type", Arrays.asList(101, 103, 104, 107, 108, 110))
+ .eq("wrk_sts", 11L));
if (wrkMasts == null || wrkMasts.isEmpty()) {
return Collections.emptyList();
}
@@ -1336,6 +1318,7 @@
wrkMast.setExitMk("N"); // 閫�鍑�
wrkMast.setEmptyMk("N"); // 绌烘澘
wrkMast.setLinkMis("N");
+ wrkMast.setPdcType("N");
wrkMast.setUserNo(param.getOrderId());//璁㈠崟鍙�
wrkMast.setPltType(param.getSeq());//鍑哄簱椤哄簭锛屼粠1寮�濮�
wrkMast.setTakeNone("0"); //0闈炶嚜鍔�
--
Gitblit v1.9.1