fix: close shadow activity on legacy failures

This commit is contained in:
zgw
2026-09-03 16:46:54 +08:00
parent ffd3cc04f3
commit af7e00c9a0
4 changed files with 76 additions and 9 deletions

View File

@@ -420,10 +420,14 @@ public class ToWmsServiceImpl implements IToWmsService {
try {
shadowCompletion = shadowObservationGateway.observeInbound(taskNo, inJob.getTrayCode());
} catch (RuntimeException exception) {
log.warn("Inbound shadow submission failed open for task {}: {}",
taskNo, exception.getMessage());
// Shadow admission is best-effort; Legacy continues unchanged.
}
try {
mydoJobMapper.allotInJobSpace(map);
} catch (RuntimeException | Error legacyFailure) {
shadowCompletion.fail(legacyFailure);
throw legacyFailure;
}
mydoJobMapper.allotInJobSpace(map);
String legacyResultCode = map.get("v_result").toString();
if (!"10".equals(legacyResultCode)) {
shadowCompletion.complete(legacyResultCode, null);

View File

@@ -202,7 +202,12 @@ public class OutStockoutServiceImpl implements IOutStockoutService
map.put("v_resultmsg", null);
OutboundShadowCompletion shadowCompletion =
observeProjectOutboundShadow(detail.getStockoutDetailId());
outStockoutMapper.autoAllot(map);
try {
outStockoutMapper.autoAllot(map);
} catch (RuntimeException | Error legacyFailure) {
shadowCompletion.fail(legacyFailure);
throw legacyFailure;
}
shadowCompletion.complete(map.get("v_result"));
if (!"10".equals(map.get("v_result"))){
stringBuilder.append(",").append(detail.getStockoutDetailId()+map.get("v_resultmsg"));
@@ -232,7 +237,12 @@ public class OutStockoutServiceImpl implements IOutStockoutService
map.put("v_stock_id", stock);
OutboundShadowCompletion shadowCompletion =
observeExactStockOutboundShadow(stockoutDetailId, stock);
outStockoutMapper.manualAllot(map);
try {
outStockoutMapper.manualAllot(map);
} catch (RuntimeException | Error legacyFailure) {
shadowCompletion.fail(legacyFailure);
throw legacyFailure;
}
shadowCompletion.complete(map.get("v_result"));
//toWcsService.pushOutMydoJob();
if (!"10".equals(map.get("v_result"))){
@@ -249,8 +259,6 @@ public class OutStockoutServiceImpl implements IOutStockoutService
try {
return shadowObservationGateway.observeProjectOutbound(stockoutDetailId);
} catch (RuntimeException exception) {
log.warn("Project outbound shadow submission failed open for detail {}: {}",
stockoutDetailId, exception.getMessage());
return OutboundShadowCompletion.rejected();
}
}
@@ -259,8 +267,6 @@ public class OutStockoutServiceImpl implements IOutStockoutService
try {
return shadowObservationGateway.observeExactStockOutbound(stockoutDetailId, stockId);
} catch (RuntimeException exception) {
log.warn("Exact-stock shadow submission failed open for detail {} stock {}: {}",
stockoutDetailId, stockId, exception.getMessage());
return OutboundShadowCompletion.rejected();
}
}