From f57107a13910c3cb75ef6b783fefec063356a40a Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期三, 29 四月 2026 13:38:42 +0800
Subject: [PATCH] 移库wcs上报wms修改状态修复
---
src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java | 50 +++++++++++++++++++++++++++++++++-----------------
1 files changed, 33 insertions(+), 17 deletions(-)
diff --git a/src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java b/src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java
index 1614a15..4adb768 100644
--- a/src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java
+++ b/src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java
@@ -689,7 +689,7 @@
if (Objects.isNull(mast)) {
// pakoutOrderPause 涓鏃讹紝WMS 鍦� WCS 纭鍙栨秷鍚庝細绔嬪嵆鏈湴鍙栨秷骞跺綊妗d换鍔°��
// 濡傛灉 WCS 鍚庣画鍙堣ˉ鍙� task_cancel 鍥炶皟锛屾鏃跺綋鍓嶅伐浣滄。宸蹭笉瀛樺湪锛屾寜骞傜瓑鎴愬姛澶勭悊銆�
- if ("task".equalsIgnoreCase(params.getNotifyType()) && "task_cancel".equalsIgnoreCase(params.getMsgType())) {
+ if (isTaskCancelCallback(params)) {
return R.ok();
}
throw new CoolException("浠诲姟妗d笉瀛樺湪锛侊紒");
@@ -727,29 +727,45 @@
throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
}
}
- } else if ("task".equalsIgnoreCase(params.getNotifyType())) {
+ } else if (isTaskCompleteCallback(params)) {
//浠诲姟
- if ("task_complete".equalsIgnoreCase(params.getMsgType())) {
-
- if (mast.getIoType() == 1 || mast.getIoType() == 2 || mast.getIoType() == 11 || mast.getIoType() == CHANGE_LOC_IO_TYPE) {
- mast.setWrkSts(4L);
- } else if (isOutboundTask(mast) && canMarkOutboundTaskComplete(mast)) {
- mast.setWrkSts(14L);
- if(Cools.isEmpty(mast.getStaNo())){
- mast.setOveMk("Y");
- }
+ if (isInboundOrMoveTask(mast)) {
+ mast.setWrkSts(4L);
+ } else if (isOutboundTask(mast) && canMarkOutboundTaskComplete(mast)) {
+ mast.setWrkSts(14L);
+ if(Cools.isEmpty(mast.getStaNo())){
+ mast.setOveMk("Y");
}
- if (!wrkMastService.updateById(mast)) {
- throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
- }
- //wcs浠诲姟鍙栨秷鎺ュ彛
- } else if ("task_cancel".equalsIgnoreCase(params.getMsgType())) {
- workService.cancelWrkMast(String.valueOf(mast.getWrkNo()), 9955L);
}
+ if (!wrkMastService.updateById(mast)) {
+ throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+ }
+ } else if (isTaskCancelCallback(params)) {
+ //wcs浠诲姟鍙栨秷鎺ュ彛
+ workService.cancelWrkMast(String.valueOf(mast.getWrkNo()), 9955L);
}
return R.ok();
}
+ private boolean isTaskCompleteCallback(ReceviceTaskParams params) {
+ return params != null && "task_complete".equalsIgnoreCase(params.getMsgType());
+ }
+
+ private boolean isTaskCancelCallback(ReceviceTaskParams params) {
+ return params != null && "task_cancel".equalsIgnoreCase(params.getMsgType());
+ }
+
+ private boolean isInboundOrMoveTask(WrkMast mast) {
+ if (mast == null || mast.getIoType() == null) {
+ return false;
+ }
+ Integer ioType = mast.getIoType();
+ return Objects.equals(ioType, 1)
+ || Objects.equals(ioType, 2)
+ || Objects.equals(ioType, 11)
+ || Objects.equals(ioType, CHANGE_LOC_IO_TYPE);
+ }
+
private boolean isOutboundCrnTaskRun(ReceviceTaskParams params) {
return params != null
&& "Crn".equalsIgnoreCase(params.getNotifyType())
--
Gitblit v1.9.1