|
|
@@ -4,6 +4,7 @@ namespace bizGhs\order\classes;
|
|
|
|
|
|
use bizGhs\admin\classes\AdminClass;
|
|
|
use bizGhs\base\classes\BaseClass;
|
|
|
+use bizGhs\item\classes\ItemClass;
|
|
|
use bizGhs\merchant\classes\SupplierClass;
|
|
|
use bizGhs\order\traits\OrderTrait;
|
|
|
use bizGhs\stock\services\StockRecordService;
|
|
|
@@ -64,6 +65,14 @@ class PurchaseOrderClass extends BaseClass
|
|
|
$data['orderPrice'] = $orderPrice;
|
|
|
|
|
|
|
|
|
+ //总运费
|
|
|
+ $totalFreight = bcadd($packingCharge,$shortCharge,2);
|
|
|
+ $totalFreight = bcadd($totalFreight,$longCharge,2);
|
|
|
+ $totalFreight = bcadd($totalFreight,$pickCharge,2);
|
|
|
+ $totalFreight = bcadd($totalFreight,$localCharge,2);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
$connection = Yii::$app->db;
|
|
|
$transaction = $connection->beginTransaction();
|
|
|
|
|
|
@@ -74,6 +83,16 @@ class PurchaseOrderClass extends BaseClass
|
|
|
$batchData = self::groupOrderItem($ghsItemInfo,$orderSn);
|
|
|
//写入详情表
|
|
|
PurchaseOrderItemClass::batchAddOrderItem($batchData);
|
|
|
+
|
|
|
+ //总共多少扎(总扎数)
|
|
|
+ $totalItemNum = 0;
|
|
|
+ foreach ($batchData as $v){
|
|
|
+ $totalItemNum = bcadd($totalItemNum,$v['itemNum'],2);
|
|
|
+ }
|
|
|
+ //平均计算出每扎得运费:总运费/总扎数
|
|
|
+ $avgFreight = bcdiv($totalFreight,$totalItemNum,2);
|
|
|
+
|
|
|
+
|
|
|
//现在暂时点击确定,完成 加库存
|
|
|
foreach ($batchData as $v){
|
|
|
$itemId = $v['itemId'];
|
|
|
@@ -90,6 +109,18 @@ class PurchaseOrderClass extends BaseClass
|
|
|
StockRecordService::addPurchaseOrderRecord($record);
|
|
|
//加库存
|
|
|
ProductClass::addStockByItemNum($productId,$v['itemNum']);
|
|
|
+ //
|
|
|
+ //每扎的采购价
|
|
|
+ //总的采购价/扎数
|
|
|
+ $avgItemCost = 0;
|
|
|
+ if($v['itemNum']>0){
|
|
|
+ $avgItemCost = bcdiv($v['itemPrice'],$v['itemNum'],2);
|
|
|
+ }
|
|
|
+ // 每扎采购价+每扎运费 = 每扎成本价
|
|
|
+ $avgCost = bcadd($avgItemCost,$avgFreight,2);
|
|
|
+ //修改 ghsItem 中的成本价
|
|
|
+ ItemClass::changeCost($itemId,$merchantId,$avgCost);
|
|
|
+
|
|
|
}
|
|
|
$transaction->commit();
|
|
|
return $order;
|