CgRefundItemClass.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace bizGhs\cg\classes;
  3. use bizGhs\base\classes\BaseClass;
  4. use common\components\util;
  5. use Yii;
  6. use bizGhs\product\classes\ProductClass;
  7. use bizGhs\stock\classes\StockRecordClass;
  8. class CgRefundItemClass extends BaseClass
  9. {
  10. public static $baseFile = '\bizGhs\cg\models\CgRefundItem';
  11. public static function addData($data, $order)
  12. {
  13. $productId = $data['itemId'] ?? 0;
  14. $smallNum = 0;
  15. $bigNum = $data['num'] ?? 0;
  16. $refundSn = $data['refundSn'] ?? '';
  17. $ptItemId = $data['ptItemId'] ?? 0;
  18. $name = $data['name'] ?? '';
  19. $unitCost = $data['unitCost'] ?? 0;
  20. $mainId = $order->mainId ?? 0;
  21. $shopId = $order->shopId ?? 0;
  22. $sjId = $order->sjId ?? 0;
  23. $ghsName = $order->ghsName ?? '';
  24. $stockInfo = ProductClass::decreaseStock($productId, $bigNum, $smallNum, false, true, ['cost' => $unitCost]);
  25. $oldStock = $stockInfo['oldStock'] ?? 0;
  26. $newStock = $stockInfo['newStock'] ?? 0;
  27. if ($newStock < 0) {
  28. util::fail("退货失败,{$name}库存不足" . $bigNum);
  29. }
  30. $recordData = [];
  31. $recordData['itemNum'] = $bigNum;
  32. $recordData['ptStyle'] = 2;
  33. $recordData['sjId'] = $sjId;
  34. $recordData['shopId'] = $shopId;
  35. $recordData['mainId'] = $mainId;
  36. $recordData['orderSn'] = $refundSn;
  37. $recordData['itemId'] = $ptItemId;
  38. $recordData['oldStock'] = $oldStock; //当时库存
  39. $recordData['productId'] = $productId;
  40. $recordData['newStock'] = $newStock;// 最新库存
  41. $recordData['relateName'] = $ghsName;
  42. $recordData['avCost'] = $stockInfo['avCost'] ?? 0;
  43. $recordData['totalCost'] = $stockInfo['totalCost'] ?? 0;
  44. $recordData['totalStock'] = $stockInfo['totalStock'] ?? 0;
  45. $recordData['changeCost'] = $stockInfo['changeCost'] ?? 0;
  46. $recordData['unitCost'] = $stockInfo['unitCost'] ?? 0;
  47. StockRecordClass::ghsCgApplyRefundAddRecord($recordData);
  48. self::add($data);
  49. }
  50. }