Browse Source

平均成本

shish 9 months ago
parent
commit
0925fc87da

+ 5 - 1
biz-ghs/order/classes/CheckOrderClass.php

@@ -367,7 +367,11 @@ class CheckOrderClass extends BaseClass
                         } else {
                             $totalCost = bcadd($changeCost, $totalCost, 2);
                             $totalStock = bcadd($changeNum, $totalStock, 2);
-                            $avCost = bcdiv($totalCost, $totalStock, 2);
+                            if($totalStock>0){
+                                $avCost = bcdiv($totalCost, $totalStock, 2);
+                            }else{
+                                $avCost = 0;
+                            }
                             $productData->avCost = $avCost;
                             $productData->totalCost = $totalCost;
                             $productData->totalStock = $totalStock;

+ 10 - 2
biz-ghs/product/classes/ProductClass.php

@@ -919,7 +919,11 @@ class ProductClass extends BaseClass
             $lastCost = bcadd($changeCost, $totalCost, 2);
             $totalStock = $productData->totalStock ?? 0;
             $lastStock = bcadd($itemNum, $totalStock, 2);
-            $avCost = bcdiv($lastCost, $lastStock, 2);
+            if($lastStock>0){
+                $avCost = bcdiv($lastCost, $lastStock, 2);
+            }else{
+                $avCost = 0;
+            }
             $productData->avCost = $avCost;
             $productData->totalCost = $lastCost;
             $productData->totalStock = $lastStock;
@@ -976,7 +980,11 @@ class ProductClass extends BaseClass
             $changeCost = bcmul($params['cost'], $itemNum, 2);
             $lastCost = bcsub($productData->totalCost, $changeCost, 2);
             $lastStock = bcsub($productData->totalStock, $itemNum, 2);
-            $avCost = bcdiv($lastCost, $lastStock, 2);
+            if($lastStock>0){
+                $avCost = bcdiv($lastCost, $lastStock, 2);
+            }else{
+                $avCost = 0;
+            }
             $productData->avCost = $avCost;
             $productData->totalCost = $lastCost;
             $productData->totalStock = $lastStock;