فهرست منبع

调拨 和 价格管理

shish 3 سال پیش
والد
کامیت
1f5dc407b2
2فایلهای تغییر یافته به همراه27 افزوده شده و 9 حذف شده
  1. 25 9
      biz-ghs/order/classes/StockInOrderClass.php
  2. 2 0
      biz-ghs/order/classes/StockOutOrderClass.php

+ 25 - 9
biz-ghs/order/classes/StockInOrderClass.php

@@ -107,7 +107,9 @@ class StockInOrderClass extends BaseClass
                 $tmp['itemId'] = $itemId;
                 $tmp['itemStock'] = $itemData[$itemId]['stock'] ?? 0;//当时库存
                 $tmp['itemNum'] = $v['itemNum'];
-                $tmp['itemPrice'] = $v['itemPrice']; //售卖的价格
+                $tmp['itemPrice'] = $v['itemPrice'] ?? 0;
+                $tmp['price'] = $v['price'] ?? 0;
+                $tmp['skPrice'] = $v['skPrice'] ?? 0;
                 $ratio = $itemData[$itemId]['ratio'] ?? 0;
                 $formatStock = ProductClass::formatStock($tmp['itemStock'], $ratio);
                 $itemInfo = [
@@ -161,17 +163,31 @@ class StockInOrderClass extends BaseClass
         }
         $totalCost = $orderData['price'] ?? 0;
         foreach ($itemInfo as $k => $v) {
-            $stockInfo = ProductClass::addStockByItemNum($v['productId'], $v['itemNum']);
+            $currentItemId = $v['productId'] ?? 0;
+            $currentCost = $v['itemPrice'] ?? 0;
+            $currentHdPrice = $v['price'] ?? 0;
+            $currentSkPrice = $v['skPrice'] ?? 0;
+            if ($carSale == 1) {
+                //如果是车销,只同步成本价 ssh 20221113
+                ProductClass::updateById($currentItemId, ['cost' => $currentCost]);
+            } else {
+                //如果当前花材没有库存,则成本和价格都传导过来
+                $currentInfo = ProductClass::getById($currentItemId, true);
+                if (isset($currentInfo->stock) && floatval($currentInfo->stock) == 0) {
+                    $upData = ['cost' => $currentCost];
+                    if ($currentHdPrice > 0) {
+                        $upData['price'] = $currentHdPrice;
+                    }
+                    if ($currentSkPrice > 0) {
+                        $upData['skPrice'] = $currentSkPrice;
+                    }
+                    ProductClass::updateById($currentItemId, $upData);
+                }
+            }
+            $stockInfo = ProductClass::addStockByItemNum($currentItemId, $v['itemNum']);
             $itemInfo[$k]['oldStock'] = $stockInfo['oldStock'];
             $itemInfo[$k]['itemStock'] = $stockInfo['oldStock'];
             $itemInfo[$k]['newStock'] = $stockInfo['newStock'];
-
-            if ($carSale == 1) {
-                //调拨入库之后,如果门店是车销,则成本也同步 ssh 20221113
-                $currentCost = $v['itemPrice'] ?? 0;
-                ProductClass::updateById($v['productId'], ['cost' => $currentCost]);
-            }
-
         }
 
         //流水记录

+ 2 - 0
biz-ghs/order/classes/StockOutOrderClass.php

@@ -253,6 +253,8 @@ class StockOutOrderClass extends BaseClass
             $tmp['newStock'] = $v['newStock'];//当时库存
             $tmp['itemNum'] = ProductClass::mergeItemNum($v['bigNum'], $v['smallNum'], $unitNum);// 数量
             $tmp['itemPrice'] = $productData[$productId]['cost'] ?? 0; //当时成本价
+            $tmp['price'] = $productData[$productId]['price'] ?? 0; //当时花店价
+            $tmp['skPrice'] = $productData[$productId]['skPrice'] ?? 0; //当时散客价
             $stockFormat = ProductClass::formatStock($tmp['itemStock'], $unitNum); // 库存总单位数量转大小单位的数量
             $itemInfo = [
                 'itemName' => $productData[$productId]['name'] ?? '',//花材名称