From aaa1668bb0e979402ed4dff0da80b090e1eb7788 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=B8=E7=86=9F=E5=90=B4=E5=BD=A6=E7=A5=96?= Date: Wed, 3 Dec 2025 00:49:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=BA=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WmsMessageServiceImpl.java | 16 +++++++--- .../impl/HandlingUnitSpecialServiceImpl.java | 32 ++++++++++++++++--- 2 files changed, 40 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/gaotao/modules/api/service/impl/WmsMessageServiceImpl.java b/src/main/java/com/gaotao/modules/api/service/impl/WmsMessageServiceImpl.java index 55ad28c..94740a3 100644 --- a/src/main/java/com/gaotao/modules/api/service/impl/WmsMessageServiceImpl.java +++ b/src/main/java/com/gaotao/modules/api/service/impl/WmsMessageServiceImpl.java @@ -1590,20 +1590,28 @@ public class WmsMessageServiceImpl implements WmsMessageService { try { // 调用IFS接口 - rqrq - String ifsResponse = ifsApiService.changeWdrNo(ifsDto); - log.info("IFS修改WDR成功 - rqrq,partNo={},batchNo={},fromWdr={},toWdr={},qty={}", + log.info("开始调用IFS changeWdrNo - rqrq,partNo={},batchNo={},fromWdr={},toWdr={},qty={}", firstHU.getPartNo(), firstHU.getBatchNo(), fromWdr, toWdr, totalQty); + String ifsResponse = ifsApiService.changeWdrNo(ifsDto); + log.info("IFS修改WDR成功 - rqrq,partNo={},batchNo={},响应={}", + firstHU.getPartNo(), firstHU.getBatchNo(), ifsResponse); ifsSuccessHUs.addAll(groupHUs); } catch (Exception e) { // IFS调用失败,记录失败的标签 - rqrq - log.warn("IFS修改WDR失败 - rqrq,partNo={},batchNo={},错误:{}", - firstHU.getPartNo(), firstHU.getBatchNo(), e.getMessage()); + log.error("IFS修改WDR失败 - rqrq,partNo={},batchNo={},locationId={},fromWdr={},toWdr={},错误类型={},错误信息:{}", + firstHU.getPartNo(), firstHU.getBatchNo(), firstHU.getLocationId(), + fromWdr, toWdr, e.getClass().getSimpleName(), e.getMessage()); for (HandlingUnit hu : groupHUs) { ifsFailedUnitIds.add(hu.getUnitId()); + log.warn("标签{}加入失败列表 - rqrq", hu.getUnitId()); } } } + // 记录最终的成功和失败列表 - rqrq + log.info("IFS调用汇总 - rqrq,成功标签数={},失败标签数={},失败列表={}", + ifsSuccessHUs.size(), ifsFailedUnitIds.size(), ifsFailedUnitIds); + // 如果没有成功的标签,直接返回 - rqrq if (ifsSuccessHUs.isEmpty()) { String failedMsg = "所有标签IFS修改WDR失败:" + String.join(", ", ifsFailedUnitIds); diff --git a/src/main/java/com/gaotao/modules/warehouse/service/impl/HandlingUnitSpecialServiceImpl.java b/src/main/java/com/gaotao/modules/warehouse/service/impl/HandlingUnitSpecialServiceImpl.java index 32a5727..97621c2 100644 --- a/src/main/java/com/gaotao/modules/warehouse/service/impl/HandlingUnitSpecialServiceImpl.java +++ b/src/main/java/com/gaotao/modules/warehouse/service/impl/HandlingUnitSpecialServiceImpl.java @@ -466,12 +466,32 @@ public class HandlingUnitSpecialServiceImpl extends ServiceImpl()); result.setFailedReasons(new ArrayList<>()); + } else if (processResult.contains("所有标签IFS修改WDR失败")) { + // 全部失败的情况(格式:所有标签IFS修改WDR失败:xxx, xxx)- rqrq + List failedUnitIds = new ArrayList<>(); + List failedReasons = new ArrayList<>(); + + int startIdx = processResult.indexOf(":"); + if (startIdx > 0) { + String failedPart = processResult.substring(startIdx + 1); + String[] failedIds = failedPart.split(", "); + for (String id : failedIds) { + failedUnitIds.add(id.trim()); + failedReasons.add("IFS修改WDR失败"); + } + } + + result.setSuccessCount(0); + result.setFailCount(failedUnitIds.isEmpty() ? handlingUnits.size() : failedUnitIds.size()); + result.setFailedUnitIds(failedUnitIds); + result.setFailedReasons(failedReasons); + + log.warn("全部标签IFS修改WDR失败 - rqrq,失败列表:{}", failedUnitIds); } else if (processResult.contains("IFS修改WDR失败")) { - // 解析失败的标签 - rqrq + // 部分失败的情况(格式:以下标签IFS修改WDR失败:xxx, xxx;成功处理X个标签)- rqrq List failedUnitIds = new ArrayList<>(); List failedReasons = new ArrayList<>(); - // 提取失败的标签ID - rqrq int startIdx = processResult.indexOf(":"); int endIdx = processResult.indexOf(";"); if (startIdx > 0 && endIdx > startIdx) { @@ -487,8 +507,10 @@ public class HandlingUnitSpecialServiceImpl extends ServiceImpl failedUnitIds = new ArrayList<>(); for (HandlingUnit hu : handlingUnits) { failedUnitIds.add(hu.getUnitId()); @@ -496,7 +518,9 @@ public class HandlingUnitSpecialServiceImpl extends ServiceImpl