shish преди 2 години
родител
ревизия
010449333c
променени са 1 файла, в които са добавени 15 реда и са изтрити 0 реда
  1. 15 0
      biz-ghs/order/classes/CheckOrderClass.php

+ 15 - 0
biz-ghs/order/classes/CheckOrderClass.php

@@ -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]);