Browse Source

自动分拣

master
常熟吴彦祖 2 months ago
parent
commit
2e2692b06e
  1. 98
      src/main/java/com/gaotao/modules/other/service/impl/InventoryMoveServiceImpl.java

98
src/main/java/com/gaotao/modules/other/service/impl/InventoryMoveServiceImpl.java

@ -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;
// }
//校验库存预留结束

Loading…
Cancel
Save