|
@@ -745,7 +745,11 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
|
|
|
OrderInfo orderInfo = orderMap.get(orderId);
|
|
|
|
|
|
- boolean lockStorageFlag = inventoryService.lockStorage(orderSkuList);
|
|
|
+ boolean lockStorageFlag;
|
|
|
+ // 先判断成品是否能锁定
|
|
|
+ if (!(lockStorageFlag = inventoryFinishedService.lockNoSourceStorage(orderSkuList))) {
|
|
|
+ lockStorageFlag = inventoryService.lockStorage(orderSkuList);
|
|
|
+ }
|
|
|
|
|
|
if (lockStorageFlag) {
|
|
|
orderInfo.setLockStorage(StatusConstant.YES);
|
|
@@ -764,7 +768,10 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
Map<Long, List<OrderSku>> existOrderSkuMap = context.getExistOrderSkuMap();
|
|
|
Map<Long, BomSpecBo> bomSpecBoMap = context.getBomSpecBoMap();
|
|
|
|
|
|
+ // 半成品解锁库存sku
|
|
|
List<OrderSku> unlockStorageOrderSkuList = new ArrayList<>();
|
|
|
+ // 成品解锁库存sku
|
|
|
+ List<OrderSku> unlockFinishedStorageOrderSkuList = new ArrayList<>();
|
|
|
|
|
|
for (OrderInfo orderInfo : updateOrderList) {
|
|
|
if (ObjectUtil.equal(orderInfo.getExceptionType(), OrderExceptionTypeEnum.NORMAL.getKey().toString())
|
|
@@ -785,11 +792,16 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
})
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
- unlockStorageOrderSkuList.addAll(orderSkuList);
|
|
|
+ if (Objects.equals(orderInfo.getStockType(), StatusConstant.YES)) {
|
|
|
+ unlockFinishedStorageOrderSkuList.addAll(orderSkuList);
|
|
|
+ } else {
|
|
|
+ unlockStorageOrderSkuList.addAll(orderSkuList);
|
|
|
+ }
|
|
|
orderInfo.setLockStorage(StatusConstant.NO);
|
|
|
}
|
|
|
|
|
|
inventoryService.unlockStorage(unlockStorageOrderSkuList);
|
|
|
+ inventoryFinishedService.unlockNoSourceStorage(unlockFinishedStorageOrderSkuList);
|
|
|
}
|
|
|
|
|
|
/**
|