|
|
@@ -2,6 +2,10 @@
|
|
|
|
|
|
namespace bizGhs\order\classes;
|
|
|
|
|
|
+use biz\stat\classes\StatItemClass;
|
|
|
+use bizGhs\product\classes\ProductClass;
|
|
|
+use bizGhs\stock\classes\StockRecordClass;
|
|
|
+use common\components\dict;
|
|
|
use Yii;
|
|
|
use bizGhs\base\classes\BaseClass;
|
|
|
|
|
|
@@ -12,34 +16,54 @@ class RefundOrderItemClass extends BaseClass
|
|
|
|
|
|
public static function addData($data)
|
|
|
{
|
|
|
-
|
|
|
- //退货加库存
|
|
|
- foreach ($productInfo as $k => $v) {
|
|
|
- $stockInfo = ProductClass::addStock($v['productId'], $v['bigNum'], $v['smallNum']);
|
|
|
- $productInfo[$k]['oldStock'] = $stockInfo['oldStock'];
|
|
|
- $productInfo[$k]['newStock'] = $stockInfo['newStock'];
|
|
|
+ $productId = $data['productId'] ?? 0;
|
|
|
+ $mainId = $data['mainId'] ?? 0;
|
|
|
+ $unitType = $data['xhUnitType'] ?? 0;
|
|
|
+ $num = $data['xhNum'] ?? 0;
|
|
|
+ $xhUnitPrice = $data['xhUnitPrice'] ?? 0;
|
|
|
+ $xhNum = $data['xhNum'] ?? 0;
|
|
|
+ $totalNum = $data['itemNum'] ?? 0;
|
|
|
+ $orderSn = $data['orderSn'] ?? '';
|
|
|
+
|
|
|
+ if ($unitType == dict::getDict('unitType', 'small')) {
|
|
|
+ $smallNum = $num;
|
|
|
+ $bigNum = 0;
|
|
|
+ } else {
|
|
|
+ $smallNum = 0;
|
|
|
+ $bigNum = $num;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- $batchData = RefundOrderClass::groupOrderItem($productInfo, $orderSn, $orderItemData);
|
|
|
- RefundOrderItemClass::batchAddOrderItem($batchData);
|
|
|
+ //退货加库存
|
|
|
+ $stockInfo = ProductClass::addStock($productId, $bigNum, $smallNum);
|
|
|
+ $oldStock = $stockInfo['oldStock'] ?? 0;
|
|
|
+ $newStock = $stockInfo['newStock'] ?? 0;
|
|
|
+ $data['itemStock'] = $oldStock;
|
|
|
+ $data['newStock'] = $newStock;
|
|
|
+ self::add($data);
|
|
|
|
|
|
//花材销量统计变动
|
|
|
- foreach ($batchData as $refundItemInfo) {
|
|
|
- StatItemClass::refundReplace($refundItemInfo);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- $orderData = RefundOrderClass::getOrderDetail($orderSn, $refund->shopId);
|
|
|
- $orderData['shopId'] = $data['shopId'];
|
|
|
-
|
|
|
- //增加库存变动记录
|
|
|
- if ($data['refundType'] == RefundOrderClass::REFUND_TYPE_MONEY_GOOD) {
|
|
|
- $orderData['relateName'] = $order->customName ?? '';
|
|
|
- StockRecordClass::addRecordByOrder($orderData, StockRecordClass::STOCK_RECORD_TYPE_REFUND);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
+ $refundStat = [
|
|
|
+ 'mainId' => $mainId,
|
|
|
+ 'productId' => $productId,
|
|
|
+ 'itemNum' => $xhNum,
|
|
|
+ 'itemPrice' => $xhUnitPrice,
|
|
|
+ ];
|
|
|
+ StatItemClass::refundReplace($refundStat);
|
|
|
+
|
|
|
+ //库存变动记录
|
|
|
+ $recordData = [];
|
|
|
+ $recordData['shopId'] = $data['shopId'];
|
|
|
+ $recordData['relateName'] = $order->customName ?? '';
|
|
|
+ $recordData['itemNum'] = $totalNum;
|
|
|
+ $recordData['sjId'] = $data['sjId'] ?? 0;
|
|
|
+ $recordData['shopId'] = $data['shopId'] ?? 0;
|
|
|
+ $recordData['mainId'] = $data['mainId'] ?? 0;
|
|
|
+ $recordData['orderSn'] = $orderSn;
|
|
|
+ $recordData['itemId'] = $data['itemId'] ?? 0;
|
|
|
+ $recordData['oldStock'] = $oldStock; //当时库存
|
|
|
+ $recordData['productId'] = $productId;
|
|
|
+ $recordData['newStock'] = $newStock;// 最新库存
|
|
|
+ StockRecordClass::ghsRefundAddRecord($recordData);
|
|
|
}
|
|
|
|
|
|
public static function batchAddOrderItem($data)
|