SettleClass.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. namespace bizHd\order\classes;
  3. use bizHd\work\classes\WorkClass;
  4. use common\components\util;
  5. use Yii;
  6. use bizHd\base\classes\BaseClass;
  7. class SettleClass extends BaseClass
  8. {
  9. public static $baseFile = '\bizHd\order\models\Settle';
  10. //结清尾款 ssh 20220708
  11. public static function confirmSettle($order, $payWay, $staff)
  12. {
  13. $orderId = $order->id ?? 0;
  14. $settleId = $order->settleId ?? 0;
  15. if (!empty($settleId)) {
  16. util::fail('已经结过了');
  17. }
  18. $remainDebtPrice = $order->remainDebtPrice ?? 0;
  19. if ($remainDebtPrice <= 0) {
  20. util::fail('已经结过了哦');
  21. }
  22. $shopId = $order->shopId ?? 0;
  23. $customId = $order->customId ?? 0;
  24. $customName = $order->customName ?? '';
  25. $staffId = $staff->id ?? 0;
  26. $staffName = $staff->name ?? '';
  27. $settleData = [
  28. 'prePrice' => $remainDebtPrice,
  29. 'actPrice' => $remainDebtPrice,
  30. 'realPrice' => $remainDebtPrice,
  31. 'payWay' => $payWay,
  32. 'hdShopId' => $shopId,
  33. 'shopId' => $shopId,
  34. 'purchaseIds' => $orderId,
  35. 'saleIds' => $orderId,
  36. 'num' => 1,
  37. 'status' => 2,
  38. 'customId' => $customId,
  39. 'customName' => $customName,
  40. 'payTime' => date("Y-m-d H:i:s"),
  41. 'hdShopAdminId' => $staffId,
  42. 'hdShopName' => $staffName,
  43. ];
  44. $return = self::addData($settleData);
  45. $settleId = $return->id ?? 0;
  46. $order->settleId = $settleId;
  47. $order->debt = 0;
  48. $order->remainDebtPrice = 0;
  49. $order->save();
  50. //制作单上的尾款也去掉
  51. WorkClass::updateByCondition(['orderId' => $orderId], ['orderDebtPrice' => 0]);
  52. }
  53. public static function addData($data)
  54. {
  55. return self::add($data, true);
  56. }
  57. }