Merge remote-tracking branch 'origin/master'

liweidong
李涛 4 days ago
commit 6c47a435f8
  1. 10
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StGlassCakeOutServiceImpl.java
  2. 6
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StGraphiteMoldOutServiceImpl.java

@ -204,6 +204,11 @@ public class StGlassCakeOutServiceImpl extends BaseServiceImpl<StGlassCakeOutMap
List<StRealtimeStock> allUsableStockList = stRealtimeStockMapper.selectMaxUsableStockByCakeAttr( List<StRealtimeStock> allUsableStockList = stRealtimeStockMapper.selectMaxUsableStockByCakeAttr(
isPrint, powderWeight, materialNo, thickness, goodsCode); isPrint, powderWeight, materialNo, thickness, goodsCode);
if (allUsableStockList == null || allUsableStockList.isEmpty()) {
System.out.println("玻璃饼[编码:" + goodsCode + "]库存不足,跳过生成!");
// 跳过当前这条,继续下一条玻璃饼
continue;
}
for (StRealtimeStock stock : allUsableStockList) { for (StRealtimeStock stock : allUsableStockList) {
double occupy = Optional.ofNullable(stock.getOccupyQuantity()).orElse(0D); double occupy = Optional.ofNullable(stock.getOccupyQuantity()).orElse(0D);
double usableQty = stock.getQuantity() - occupy; double usableQty = stock.getQuantity() - occupy;
@ -226,6 +231,11 @@ public class StGlassCakeOutServiceImpl extends BaseServiceImpl<StGlassCakeOutMap
continue; continue;
} }
if (candidateStockList.isEmpty()) {
System.out.println("玻璃饼[编码:" + goodsCode + "]库存不足,跳过生成!");
// 跳过当前这条,继续下一条玻璃饼
continue;
}
// ===================== 走到这里 = 库存足够,开始真正生成预出库 ===================== // ===================== 走到这里 = 库存足够,开始真正生成预出库 =====================
double remainingQty = requireQty; double remainingQty = requireQty;
for (StRealtimeStock maxStock : candidateStockList) { for (StRealtimeStock maxStock : candidateStockList) {

@ -74,6 +74,9 @@ public class StGraphiteMoldOutServiceImpl extends BaseServiceImpl<StGraphiteMold
double totalUsable = 0.0; double totalUsable = 0.0;
List<StRealtimeStock> allUsableStockList = stRealtimeStockMapper.selectMaxUsableStockByMoldAttr(goodsCode); List<StRealtimeStock> allUsableStockList = stRealtimeStockMapper.selectMaxUsableStockByMoldAttr(goodsCode);
if (allUsableStockList == null || allUsableStockList.isEmpty()) {
throw new ServiceException("石墨模【" + goodsCode + "】库存不足,无法生成!需求数量:" + requireQty);
}
for (StRealtimeStock stock : allUsableStockList) { for (StRealtimeStock stock : allUsableStockList) {
double occupy = Optional.ofNullable(stock.getOccupyQuantity()).orElse(0D); double occupy = Optional.ofNullable(stock.getOccupyQuantity()).orElse(0D);
double usableQty = stock.getQuantity() - occupy; double usableQty = stock.getQuantity() - occupy;
@ -92,6 +95,9 @@ public class StGraphiteMoldOutServiceImpl extends BaseServiceImpl<StGraphiteMold
// if (totalUsable < requireQty - 0.001) { // if (totalUsable < requireQty - 0.001) {
// throw new ServiceException("石墨模【" + goodsCode + "】库存不足,无法生成!需求数量:" + requireQty + ",可用库存:" + totalUsable); // throw new ServiceException("石墨模【" + goodsCode + "】库存不足,无法生成!需求数量:" + requireQty + ",可用库存:" + totalUsable);
// } // }
if (candidateStockList.isEmpty()) {
throw new ServiceException("石墨模【" + goodsCode + "】库存不足,无法生成!需求数量:" + requireQty);
}
double remainingQty = requireQty; double remainingQty = requireQty;
for (StRealtimeStock maxStock : candidateStockList) { for (StRealtimeStock maxStock : candidateStockList) {

Loading…
Cancel
Save