瀏覽代碼

调拨出库和入库

shish 9 月之前
父節點
當前提交
3f8da8d573
共有 2 個文件被更改,包括 12 次插入4 次删除
  1. 3 1
      biz-ghs/order/classes/StockInOrderClass.php
  2. 9 3
      biz-ghs/order/classes/StockOutOrderClass.php

+ 3 - 1
biz-ghs/order/classes/StockInOrderClass.php

@@ -27,6 +27,7 @@ use bizGhs\base\classes\BaseClass;
 class StockInOrderClass extends BaseClass
 {
     use OrderTrait;
+
     const STATUS_WAIT = 1; //待入库
     const STATUS_COMPLETE = 2; //已入库
     const STATUS_CANCEL = 3; //取消入库
@@ -177,6 +178,7 @@ class StockInOrderClass extends BaseClass
         if (empty($itemInfo)) {
             util::fail("订单异常");
         }
+
         $totalCost = $orderData['price'] ?? 0;
         foreach ($itemInfo as $k => $v) {
             $currentItemId = $v['productId'] ?? 0;
@@ -238,7 +240,7 @@ class StockInOrderClass extends BaseClass
                 }
             }
 
-            $stockInfo = ProductClass::addStockByItemNum($currentItemId, $v['itemNum']);
+            $stockInfo = ProductClass::addStockByItemNum($currentItemId, $v['itemNum'], ['cost' => $currentCost]);
             $itemInfo[$k]['oldStock'] = $stockInfo['oldStock'];
             $itemInfo[$k]['itemStock'] = $stockInfo['oldStock'];
             $itemInfo[$k]['newStock'] = $stockInfo['newStock'];

+ 9 - 3
biz-ghs/order/classes/StockOutOrderClass.php

@@ -51,10 +51,16 @@ class StockOutOrderClass extends BaseClass
         $outShopId = $data['outShopId'] ?? 0;
         $outMainId = $data['outMainId'] ?? 0;
 
+        $ids = array_column($ghsItemInfo, 'productId');
+        $productList = ProductClass::getAllByCondition(['id' => ['in', $ids]], null, 'id,avCost', 'id');
+
         $order = self::add($data, true);
         //先减库存,若取消出库则加回来
         foreach ($ghsItemInfo as $k => $v) {
-            $stockInfo = ProductClass::decreaseStock($v['productId'], $v['bigNum'], $v['smallNum'], true, false);
+            $productId = $v['productId'] ?? 0;
+            $product = $productList[$productId] ?? [];
+            $avCost = $product['avCost'] ?? 0;
+            $stockInfo = ProductClass::decreaseStock($v['productId'], $v['bigNum'], $v['smallNum'], true, false, ['cost' => $avCost]);
             $ghsItemInfo[$k]['oldStock'] = $stockInfo['oldStock'];
             $ghsItemInfo[$k]['newStock'] = $stockInfo['newStock'];
         }
@@ -255,11 +261,11 @@ class StockOutOrderClass extends BaseClass
             $tmp['itemStock'] = $v['oldStock'];//当时库存
             $tmp['newStock'] = $v['newStock'];//当时库存
             $tmp['itemNum'] = ProductClass::mergeItemNum($v['bigNum'], $v['smallNum'], $unitNum);// 数量
-            $tmp['itemPrice'] = $productData[$productId]['cost'] ?? 0; //当时成本价
+            $tmp['itemPrice'] = $productData[$productId]['avCost'] ?? 0; //平均成本
             $tmp['price'] = $productData[$productId]['price'] ?? 0; //当时批发价
             $tmp['skPrice'] = $productData[$productId]['skPrice'] ?? 0; //当时零售价
             $tmp['hjPrice'] = $productData[$productId]['hjPrice'] ?? 0; //当时会员价
-            $tmp['cost'] = $productData[$productId]['cost'] ?? 0; //当时成本价
+            $tmp['cost'] = $productData[$productId]['avCost'] ?? 0; //平均成本
             $stockFormat = ProductClass::formatStock($tmp['itemStock'], $unitNum); // 库存总单位数量转大小单位的数量
             $itemInfo = [
                 'itemName' => $productData[$productId]['name'] ?? '',//花材名称