From 1b31d14e361c01fcd4e5c2dcfe0b6fb3a63c92fc Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期五, 13 三月 2026 14:56:14 +0800
Subject: [PATCH] erp下发停止出库任务,wms取消wcs任务

---
 src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java |   37 ++++++++++++++++++++++---------------
 1 files changed, 22 insertions(+), 15 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 49454fa..c76c863 100644
--- a/src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java
+++ b/src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java
@@ -24,6 +24,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.io.IOException;
+import java.util.Collections;
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
@@ -181,17 +182,10 @@
                 if (!wrkMastService.updateById(mast)) {
                     throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
                 }
+                //wcs浠诲姟鍙栨秷鎺ュ彛
             } else if (params.getMsgType().equals("task_cancel")) {
-                if (mast.getIoType() != null && mast.getIoType() > 100 && mast.getWrkSts() < 14) {
-                    mast.setPauseMk("Y");
-//                    mast.setUpdMk("WCS_CANCELLED");
-//                    mast.setManuType("WCS_CANCELLED");
-                    mast.setModiTime(new Date());
-                    if (!wrkMastService.updateById(mast)) {
-                        throw new CoolException("task cancel update fail");
-                    }
-                }
-            }else if (params.getMsgType().equals("task_arrive")) {
+                workService.cancelWrkMast(String.valueOf(mast.getWrkNo()), 9955L);
+            } else if (params.getMsgType().equals("task_arrive")) {
                 //鍒拌揪鐩殑鍦�
                 //濡傛灉鍑哄簱浠诲姟鏄法鍖哄垯闇�瑕佺敓鎴愭柊鐨勫叆搴撲换鍔″叆搴�
                 if(!Cools.isEmpty(mast.getLocNo())){
@@ -219,13 +213,14 @@
     @Override
     public R pauseOutTasks(StopOutTaskParams params) {
         if (params == null || params.getTasks() == null || params.getTasks().isEmpty()) {
-            return R.ok("no tasks to stop");
+            return R.ok("鏃犱换鍔¢渶瑕佸彇娑�");
         }
         if (!Boolean.parseBoolean(String.valueOf(switchValue))) {
-            return R.ok("wcs switch off");
+            return R.ok("WCS寮�鍏冲叧闂�");
         }
         String response;
         try {
+            log.info("璋冪敤WCS鍙栨秷鍑哄簱浠诲姟, request={}", JSON.toJSONString(params));
             response = new HttpHandler.Builder()
                     .setUri(wcs_address)
                     .setPath(stopOutTask)
@@ -235,15 +230,27 @@
                     .build()
                     .doPost();
             JSONObject jsonObject = JSON.parseObject(response == null ? "{}" : response);
+            log.info("WCS鍙栨秷鍑哄簱浠诲姟杩斿洖, response={}", response);
             Integer code = jsonObject.getInteger("code");
             if (code == null || !Objects.equals(code, 200)) {
                 String msg = jsonObject.getString("msg");
-                throw new CoolException(Cools.isEmpty(msg) ? "WCS stop out task failed" : msg);
+                throw new CoolException(Cools.isEmpty(msg) ? "WCS鍙栨秷鍑哄簱浠诲姟澶辫触" : msg);
             }
+            JSONObject data = jsonObject.getJSONObject("data");
+            List<String> successList = data == null || data.getJSONArray("successList") == null
+                    ? Collections.emptyList()
+                    : data.getJSONArray("successList").toJavaList(String.class);
+            List<String> failList = data == null || data.getJSONArray("failList") == null
+                    ? Collections.emptyList()
+                    : data.getJSONArray("failList").toJavaList(String.class);
+            R result = R.ok(Cools.isEmpty(jsonObject.getString("msg")) ? "鎿嶄綔鎴愬姛" : jsonObject.getString("msg"));
+            result.put("data", data);
+            result.put("successList", successList);
+            result.put("failList", failList);
+            return result;
         } catch (IOException e) {
-            throw new CoolException("call WCS stop out task fail: " + e.getMessage());
+            throw new CoolException("璋冪敤WCS鍙栨秷鍑哄簱浠诲姟澶辫触: " + e.getMessage());
         }
-        return R.ok();
     }
 
 }

--
Gitblit v1.9.1