Browse Source

更新库存

master
常熟吴彦祖 1 month ago
parent
commit
aaa1668bb0
  1. 16
      src/main/java/com/gaotao/modules/api/service/impl/WmsMessageServiceImpl.java
  2. 32
      src/main/java/com/gaotao/modules/warehouse/service/impl/HandlingUnitSpecialServiceImpl.java

16
src/main/java/com/gaotao/modules/api/service/impl/WmsMessageServiceImpl.java

@ -1590,20 +1590,28 @@ public class WmsMessageServiceImpl implements WmsMessageService {
try { try {
// 调用IFS接口 - rqrq // 调用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); 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); ifsSuccessHUs.addAll(groupHUs);
} catch (Exception e) { } catch (Exception e) {
// IFS调用失败记录失败的标签 - rqrq // 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) { for (HandlingUnit hu : groupHUs) {
ifsFailedUnitIds.add(hu.getUnitId()); ifsFailedUnitIds.add(hu.getUnitId());
log.warn("标签{}加入失败列表 - rqrq", hu.getUnitId());
} }
} }
} }
// 记录最终的成功和失败列表 - rqrq
log.info("IFS调用汇总 - rqrq,成功标签数={},失败标签数={},失败列表={}",
ifsSuccessHUs.size(), ifsFailedUnitIds.size(), ifsFailedUnitIds);
// 如果没有成功的标签直接返回 - rqrq // 如果没有成功的标签直接返回 - rqrq
if (ifsSuccessHUs.isEmpty()) { if (ifsSuccessHUs.isEmpty()) {
String failedMsg = "所有标签IFS修改WDR失败:" + String.join(", ", ifsFailedUnitIds); String failedMsg = "所有标签IFS修改WDR失败:" + String.join(", ", ifsFailedUnitIds);

32
src/main/java/com/gaotao/modules/warehouse/service/impl/HandlingUnitSpecialServiceImpl.java

@ -466,12 +466,32 @@ public class HandlingUnitSpecialServiceImpl extends ServiceImpl<HandlingUnitSpec
result.setFailCount(0); result.setFailCount(0);
result.setFailedUnitIds(new ArrayList<>()); result.setFailedUnitIds(new ArrayList<>());
result.setFailedReasons(new ArrayList<>()); result.setFailedReasons(new ArrayList<>());
} else if (processResult.contains("所有标签IFS修改WDR失败")) {
// 全部失败的情况格式所有标签IFS修改WDR失败xxx, xxx- rqrq
List<String> failedUnitIds = new ArrayList<>();
List<String> 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失败")) { } else if (processResult.contains("IFS修改WDR失败")) {
// 解析失败的标签 - rqrq
// 部分失败的情况格式以下标签IFS修改WDR失败xxx, xxx成功处理X个标签- rqrq
List<String> failedUnitIds = new ArrayList<>(); List<String> failedUnitIds = new ArrayList<>();
List<String> failedReasons = new ArrayList<>(); List<String> failedReasons = new ArrayList<>();
// 提取失败的标签ID - rqrq
int startIdx = processResult.indexOf(":"); int startIdx = processResult.indexOf(":");
int endIdx = processResult.indexOf(";"); int endIdx = processResult.indexOf(";");
if (startIdx > 0 && endIdx > startIdx) { if (startIdx > 0 && endIdx > startIdx) {
@ -487,8 +507,10 @@ public class HandlingUnitSpecialServiceImpl extends ServiceImpl<HandlingUnitSpec
result.setSuccessCount(handlingUnits.size() - failedUnitIds.size()); result.setSuccessCount(handlingUnits.size() - failedUnitIds.size());
result.setFailedUnitIds(failedUnitIds); result.setFailedUnitIds(failedUnitIds);
result.setFailedReasons(failedReasons); result.setFailedReasons(failedReasons);
log.warn("部分标签IFS修改WDR失败 - rqrq,失败列表:{}", failedUnitIds);
} else { } else {
// 全部失败 - rqrq
// 未知情况全部失败处理 - rqrq
List<String> failedUnitIds = new ArrayList<>(); List<String> failedUnitIds = new ArrayList<>();
for (HandlingUnit hu : handlingUnits) { for (HandlingUnit hu : handlingUnits) {
failedUnitIds.add(hu.getUnitId()); failedUnitIds.add(hu.getUnitId());
@ -496,7 +518,9 @@ public class HandlingUnitSpecialServiceImpl extends ServiceImpl<HandlingUnitSpec
result.setSuccessCount(0); result.setSuccessCount(0);
result.setFailCount(handlingUnits.size()); result.setFailCount(handlingUnits.size());
result.setFailedUnitIds(failedUnitIds); result.setFailedUnitIds(failedUnitIds);
result.setFailedReasons(Arrays.asList("IFS修改WDR失败"));
result.setFailedReasons(Arrays.asList("处理异常"));
log.error("WDR修改返回未知结果 - rqrq,返回内容:{}", processResult);
} }
result.setMessage(processResult); result.setMessage(processResult);

Loading…
Cancel
Save