|
|
|
@ -373,13 +373,13 @@ public class InventoryMoveServiceImpl implements InventoryMoveService { |
|
|
|
group.partNo, group.lotBatchNo, group.sourceLocationNo)); |
|
|
|
continue; |
|
|
|
} |
|
|
|
BigDecimal reservedQty = new BigDecimal(matchedStock.getQtyReserved()); |
|
|
|
if(reservedQty.compareTo(new BigDecimal(0))>0){ |
|
|
|
insufficientStockErrors.add(String.format( |
|
|
|
"物料%s批次%s在库位%s在ifs中被预留:%s", |
|
|
|
group.partNo, group.lotBatchNo, group.sourceLocationNo, |
|
|
|
matchedStock.getQtyReserved())); |
|
|
|
} |
|
|
|
// BigDecimal reservedQty = new BigDecimal(matchedStock.getQtyReserved()); |
|
|
|
// if(reservedQty.compareTo(new BigDecimal(0))>0){ |
|
|
|
// insufficientStockErrors.add(String.format( |
|
|
|
// "物料%s批次%s在库位%s在ifs中被预留:%s", |
|
|
|
// group.partNo, group.lotBatchNo, group.sourceLocationNo, |
|
|
|
// matchedStock.getQtyReserved())); |
|
|
|
// } |
|
|
|
// 计算可用库存(在库数量 - 预留数量) |
|
|
|
BigDecimal availableQty = matchedStock.getAvailableQty(); |
|
|
|
|
|
|
|
@ -494,48 +494,48 @@ public class InventoryMoveServiceImpl implements InventoryMoveService { |
|
|
|
|
|
|
|
|
|
|
|
// 获取该站点指定物料的库存信息 |
|
|
|
List<IfsInventoryPartInStock> inventoryList=new ArrayList<>(); |
|
|
|
try { |
|
|
|
inventoryList = ifsApiService.getInventoryPartInStock(group.site, group.partNo); |
|
|
|
} catch (JsonProcessingException e) { |
|
|
|
throw new RuntimeException(e); |
|
|
|
} |
|
|
|
|
|
|
|
log.info("获取站点{}物料{}的库存信息,共{}条记录", group.site, group.partNo, inventoryList.size()); |
|
|
|
|
|
|
|
IfsInventoryPartInStock matchedStock = findMatchingStock(inventoryList, group); |
|
|
|
boolean failedFlag=false; |
|
|
|
if (matchedStock == null) { |
|
|
|
failedFlag=true; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (matchedStock != null) { |
|
|
|
BigDecimal reservedQty = new BigDecimal(matchedStock.getQtyReserved()); |
|
|
|
if(reservedQty.compareTo(new BigDecimal(0))>0){ |
|
|
|
failedFlag=true; |
|
|
|
} |
|
|
|
} |
|
|
|
if(failedFlag){ |
|
|
|
log.warn("IFS移库同步失败 - 物料: {}, 批次: {}, 在库位:{}的库存被预留,无法移库", |
|
|
|
group.partNo, group.lotBatchNo,group.sourceLocationNo); |
|
|
|
// 记录到错误日志表 - rqrq |
|
|
|
ifsCallErrorLogService.logIfsError( |
|
|
|
group.site, |
|
|
|
"MoveInventoryPart", |
|
|
|
"库存移库(栈板)", |
|
|
|
group.partNo, |
|
|
|
group.lotBatchNo, |
|
|
|
group.sourceLocationNo, |
|
|
|
group.destLocationNo, |
|
|
|
group.totalQty, |
|
|
|
group.expiredDate, |
|
|
|
"ifs库存被预留或者查不到库存,无法移库", |
|
|
|
"ifs库存被预留或者查不到库存,无法移库", |
|
|
|
"ifs库存被预留或者查不到库存,无法移库" |
|
|
|
); |
|
|
|
return; |
|
|
|
} |
|
|
|
// List<IfsInventoryPartInStock> inventoryList=new ArrayList<>(); |
|
|
|
// try { |
|
|
|
// inventoryList = ifsApiService.getInventoryPartInStock(group.site, group.partNo); |
|
|
|
// } catch (JsonProcessingException e) { |
|
|
|
// throw new RuntimeException(e); |
|
|
|
// } |
|
|
|
// |
|
|
|
// log.info("获取站点{}物料{}的库存信息,共{}条记录", group.site, group.partNo, inventoryList.size()); |
|
|
|
// |
|
|
|
// IfsInventoryPartInStock matchedStock = findMatchingStock(inventoryList, group); |
|
|
|
// boolean failedFlag=false; |
|
|
|
// if (matchedStock == null) { |
|
|
|
// failedFlag=true; |
|
|
|
// } |
|
|
|
// |
|
|
|
// |
|
|
|
// if (matchedStock != null) { |
|
|
|
// BigDecimal reservedQty = new BigDecimal(matchedStock.getQtyReserved()); |
|
|
|
// if(reservedQty.compareTo(new BigDecimal(0))>0){ |
|
|
|
// failedFlag=true; |
|
|
|
// } |
|
|
|
// } |
|
|
|
// if(failedFlag){ |
|
|
|
// log.warn("IFS移库同步失败 - 物料: {}, 批次: {}, 在库位:{}的库存被预留,无法移库", |
|
|
|
// group.partNo, group.lotBatchNo,group.sourceLocationNo); |
|
|
|
// // 记录到错误日志表 - rqrq |
|
|
|
// ifsCallErrorLogService.logIfsError( |
|
|
|
// group.site, |
|
|
|
// "MoveInventoryPart", |
|
|
|
// "库存移库(栈板)", |
|
|
|
// group.partNo, |
|
|
|
// group.lotBatchNo, |
|
|
|
// group.sourceLocationNo, |
|
|
|
// group.destLocationNo, |
|
|
|
// group.totalQty, |
|
|
|
// group.expiredDate, |
|
|
|
// "ifs库存被预留或者查不到库存,无法移库", |
|
|
|
// "ifs库存被预留或者查不到库存,无法移库", |
|
|
|
// "ifs库存被预留或者查不到库存,无法移库" |
|
|
|
// ); |
|
|
|
// return; |
|
|
|
// } |
|
|
|
|
|
|
|
//校验库存预留结束 |
|
|
|
|
|
|
|
|