|
|
@@ -42,18 +42,23 @@ class PurchaseOrderClass extends BaseClass
|
|
|
$data['status'] = self::PURCHASE_ORDER_STATUS_COMPLETE;
|
|
|
$orderSn = orderSn::getGhsPurchaseSn();
|
|
|
$data['orderSn'] = $orderSn;
|
|
|
- $ghsItemInfo = $data['itemInfo']; // [{itemId:0,bigNum:0,smallNum:0,productId:1.0,itemPrice:1}]
|
|
|
+ $ghsItemInfo = $data['itemInfo']; // [{itemId:0,bigNum:0,smallNum:0,productId:1.0,itemPrice:1,weight:1}] //增加重量kg
|
|
|
$ghsItemInfo = self::mergeItemInfo($ghsItemInfo);
|
|
|
//计算出总共多少扎,多少支
|
|
|
$bigNum = 0; //总共多少扎
|
|
|
$smallNum = 0; //总共多少支
|
|
|
$totalItemPrice = 0;
|
|
|
-
|
|
|
+ //花材中总重量
|
|
|
+ $totalItemWeight = 0;
|
|
|
+ $ghsItemInfoMap = [];
|
|
|
if (!empty($ghsItemInfo)) {
|
|
|
foreach ($ghsItemInfo as $v) {
|
|
|
$bigNum += $v['bigNum'] ?? 0;
|
|
|
$smallNum += $v['smallNum'] ?? 0;
|
|
|
$totalItemPrice = bcadd($totalItemPrice, $v['itemPrice'], 2);
|
|
|
+ $ghsItemInfoMap[$v['productId']] = $v;
|
|
|
+ $weight = $v['weight']??0;
|
|
|
+ $totalItemWeight = bcadd($totalItemWeight,$weight,2);
|
|
|
}
|
|
|
}
|
|
|
$data['bigNum'] = $bigNum;
|
|
|
@@ -110,6 +115,9 @@ class PurchaseOrderClass extends BaseClass
|
|
|
//平均计算出每扎得运费:总运费/总扎数
|
|
|
$avgFreight = bcdiv($totalFreight, $totalItemNum, 2);
|
|
|
|
|
|
+ //计算每g的运费 总运费/总重量
|
|
|
+ $avgFreightByWeight = bcdiv($totalFreight, $totalItemWeight*1000, 2);
|
|
|
+
|
|
|
//现在暂时点击确定,完成 加库存
|
|
|
foreach ($batchData as $v) {
|
|
|
$itemId = $v['itemId'];
|
|
|
@@ -134,7 +142,13 @@ class PurchaseOrderClass extends BaseClass
|
|
|
$avgItemCost = bcdiv($v['itemPrice'], $v['itemNum'], 2);
|
|
|
}
|
|
|
// 每扎采购价+每扎运费 = 每扎成本价
|
|
|
- $avgCost = bcadd($avgItemCost, $avgFreight, 2);
|
|
|
+ //$avgCost = bcadd($avgItemCost, $avgFreight, 2);
|
|
|
+ //2021-06-11 修改每扎运费计算
|
|
|
+ $itemInfoTmp = json_decode($v['itemInfo'],true);
|
|
|
+ //花材的重量
|
|
|
+ $productWeight = $itemInfoTmp['itemWeight']??0;
|
|
|
+ $avgWeighFreight = bcmul($avgFreightByWeight,$productWeight*1000,2);
|
|
|
+ $avgCost = bcadd($avgItemCost, $avgWeighFreight, 2);
|
|
|
//修改 ghsItem 中的成本价
|
|
|
// ItemClass::changeCost($itemId,$sjId,$avgCost);
|
|
|
|
|
|
@@ -278,6 +292,8 @@ class PurchaseOrderClass extends BaseClass
|
|
|
'rank' => $rank,// 花材级别
|
|
|
'bigUnit' => $productData[$productId]['bigUnit'],//大单位名称 扎
|
|
|
'smallUnit' => $productData[$productId]['smallUnit'],//小单位名称 支
|
|
|
+ 'purchaseWeight' => $v['weight']??0, //采购重量
|
|
|
+ 'itemWeight'=>$productData[$productId]['weight']??0,
|
|
|
];
|
|
|
$tmp['itemInfo'] = json_encode($itemInfo);
|
|
|
$batchData[] = $tmp;
|
|
|
@@ -377,4 +393,4 @@ class PurchaseOrderClass extends BaseClass
|
|
|
|
|
|
}
|
|
|
|
|
|
-}
|
|
|
+}
|