fix: keep shadow work off legacy threads
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
package com.ruoyi.out.outStockout.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.ruoyi.algorithm.shadow.OutboundShadowObservation;
|
||||
import com.ruoyi.algorithm.shadow.OutboundShadowCompletion;
|
||||
import com.ruoyi.algorithm.shadow.ShadowObservationGateway;
|
||||
import com.ruoyi.api.service.IToWcsService;
|
||||
import com.ruoyi.bas.basJobId.service.IBasJobIdService;
|
||||
@@ -188,10 +188,10 @@ public class OutStockoutServiceImpl implements IOutStockoutService
|
||||
map.put("v_stockout_detail_id", detail.getStockoutDetailId());
|
||||
map.put("v_result", null);
|
||||
map.put("v_resultmsg", null);
|
||||
OutboundShadowObservation shadowObservation =
|
||||
planProjectOutboundShadow(detail.getStockoutDetailId());
|
||||
OutboundShadowCompletion shadowCompletion =
|
||||
observeProjectOutboundShadow(detail.getStockoutDetailId());
|
||||
outStockoutMapper.autoAllot(map);
|
||||
compareOutboundShadow(shadowObservation, map.get("v_result"));
|
||||
shadowCompletion.complete(map.get("v_result"));
|
||||
if (!"10".equals(map.get("v_result"))){
|
||||
stringBuilder.append(",").append(detail.getStockoutDetailId()+map.get("v_resultmsg"));
|
||||
}
|
||||
@@ -218,10 +218,10 @@ public class OutStockoutServiceImpl implements IOutStockoutService
|
||||
for (String stock : stockList) {
|
||||
map.put("v_stockout_detail_id", stockoutDetailId);
|
||||
map.put("v_stock_id", stock);
|
||||
OutboundShadowObservation shadowObservation =
|
||||
planExactStockOutboundShadow(stockoutDetailId, stock);
|
||||
OutboundShadowCompletion shadowCompletion =
|
||||
observeExactStockOutboundShadow(stockoutDetailId, stock);
|
||||
outStockoutMapper.manualAllot(map);
|
||||
compareOutboundShadow(shadowObservation, map.get("v_result"));
|
||||
shadowCompletion.complete(map.get("v_result"));
|
||||
//toWcsService.pushOutMydoJob();
|
||||
if (!"10".equals(map.get("v_result"))){
|
||||
stringBuilder.append(",").append(stockoutDetailId+map.get("v_resultString"));
|
||||
@@ -233,32 +233,23 @@ public class OutStockoutServiceImpl implements IOutStockoutService
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
private OutboundShadowObservation planProjectOutboundShadow(String stockoutDetailId) {
|
||||
private OutboundShadowCompletion observeProjectOutboundShadow(String stockoutDetailId) {
|
||||
try {
|
||||
return shadowObservationGateway.planProjectOutbound(stockoutDetailId);
|
||||
return shadowObservationGateway.observeProjectOutbound(stockoutDetailId);
|
||||
} catch (RuntimeException exception) {
|
||||
log.warn("Project outbound shadow observation failed open for detail {}: {}",
|
||||
log.warn("Project outbound shadow submission failed open for detail {}: {}",
|
||||
stockoutDetailId, exception.getMessage());
|
||||
return OutboundShadowObservation.empty();
|
||||
return OutboundShadowCompletion.rejected();
|
||||
}
|
||||
}
|
||||
|
||||
private OutboundShadowObservation planExactStockOutboundShadow(String stockoutDetailId, String stockId) {
|
||||
private OutboundShadowCompletion observeExactStockOutboundShadow(String stockoutDetailId, String stockId) {
|
||||
try {
|
||||
return shadowObservationGateway.planExactStockOutbound(stockoutDetailId, stockId);
|
||||
return shadowObservationGateway.observeExactStockOutbound(stockoutDetailId, stockId);
|
||||
} catch (RuntimeException exception) {
|
||||
log.warn("Exact-stock shadow observation failed open for detail {} stock {}: {}",
|
||||
log.warn("Exact-stock shadow submission failed open for detail {} stock {}: {}",
|
||||
stockoutDetailId, stockId, exception.getMessage());
|
||||
return OutboundShadowObservation.empty();
|
||||
}
|
||||
}
|
||||
|
||||
private void compareOutboundShadow(OutboundShadowObservation observation, String legacyResultCode) {
|
||||
try {
|
||||
shadowObservationGateway.compareOutbound(observation, legacyResultCode);
|
||||
} catch (RuntimeException exception) {
|
||||
log.warn("Outbound shadow comparison failed open for request {}: {}",
|
||||
observation == null ? null : observation.requestId(), exception.getMessage());
|
||||
return OutboundShadowCompletion.rejected();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user