|
|
@@ -145,10 +145,12 @@ class CheckOrderClass extends BaseClass
|
|
|
|
|
|
$addAmount = 0;
|
|
|
$subAmount = 0;
|
|
|
+ $ids = [];
|
|
|
if ($draft === false) {
|
|
|
//盘点完成完成,直接将库存中的数量改为当时盘点的数量
|
|
|
foreach ($batchData as $v) {
|
|
|
$productId = $v['productId'];
|
|
|
+ $ids[] = $productId;
|
|
|
//修改库存数量
|
|
|
$key = ProductClass::LOCK_STOCK . '_' . $productId;
|
|
|
$lock = util::lock($key);
|
|
|
@@ -189,6 +191,19 @@ class CheckOrderClass extends BaseClass
|
|
|
$subAmount = bcadd($subAmount, $amount, 2);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ $shop = ShopClass::getById($shopId, true);
|
|
|
+ $bookSn = $shop->bookSn ?? 0;
|
|
|
+ if (!empty($bookSn)) {
|
|
|
+ $bookItemRes = BookItemClass::getAllByCondition(['bookSn' => $bookSn, 'itemId' => ['in', $ids]], null, '*', null, true);
|
|
|
+ if (!empty($bookItemRes)) {
|
|
|
+ foreach ($bookItemRes as $bookItem) {
|
|
|
+ $name = $bookItem->name ?? '未命名';
|
|
|
+ util::fail($name . " 被预订,不能直接改库存");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if ($pdType == 'stockInPd' && !empty($mainId)) {
|
|
|
//如果是车销的入库花材盘点,则将记录过的花材清除
|
|
|
StockInDayClass::deleteByCondition(['mainId' => $mainId]);
|