Kaynağa Gözat

平均成本问题

shish 8 ay önce
ebeveyn
işleme
dae20c599f
1 değiştirilmiş dosya ile 5 ekleme ve 3 silme
  1. 5 3
      biz-ghs/product/classes/ProductClass.php

+ 5 - 3
biz-ghs/product/classes/ProductClass.php

@@ -978,7 +978,7 @@ class ProductClass extends BaseClass
         $ratio = $productData->ratio;
         //转成小数,更新库存
         $itemNum = self::mergeItemNum($itemNumBundle, $itemNumPiece, $ratio);
-
+        $newStock = bcsub($productData->stock, $itemNum, 2);
         $avCost = 0;
         $newItemStock = 0;
         $newItemCost = 0;
@@ -1005,13 +1005,15 @@ class ProductClass extends BaseClass
                 $newItemStock = 0;
                 $newItemCost = 0;
             }
-            $productData->avCost = $avCost;
+            //如果减库存之后,还有剩余库存,则变更新的平均成本。如果没有库存不再变更平均成本。如没有库存了还变更,会造成全部调拨出库时,保存的成本是0,重要!!!!!!!!!!
+            if($newStock>0){
+                $productData->avCost = $avCost;
+            }
             $productData->totalCost = $newItemCost;
             $productData->totalStock = $newItemStock;
             $productData->save();
         }
 
-        $newStock = bcsub($productData->stock, $itemNum, 2);
         if ($checkStock && $newStock < 0) {
             //需要判断库存是否充足
             util::unlock($key);