GhsClass.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <?php
  2. namespace bizHd\ghs\classes;
  3. use common\components\dict;
  4. use common\components\noticeUtil;
  5. use common\components\util;
  6. use Yii;
  7. use bizHd\base\classes\BaseClass;
  8. class GhsClass extends BaseClass
  9. {
  10. public static $baseFile = '\bizHd\ghs\models\Ghs';
  11. //供货商销售欠款金额增加 ssh 20220306
  12. public static function cgDebtAmountAdd($ghs, $order, $bookOrder = false)
  13. {
  14. $amount = $order->remainDebtPrice ?? 0;
  15. $balance = bcadd($ghs->debtAmount, $order->remainDebtPrice, 2);
  16. $ghs->debt = 2;
  17. $ghs->debtAmount = $balance;
  18. $ghs->save();
  19. $relateId = $order->id ?? 0;
  20. $orderSn = $order->orderSn ?? '';
  21. $ghsId = $ghs->id ?? 0;
  22. $capitalType = dict::getDict('capitalType', 'xhPurchase', 'id');
  23. $event = '购买花材,采购单号:' . $orderSn;
  24. if ($bookOrder) {
  25. $event = '预订单多退少补,单号' . $orderSn;
  26. }
  27. $change = [
  28. 'relateId' => $relateId,
  29. 'ghsId' => $ghsId,
  30. 'ptStyle' => dict::getDict('ptStyle', 'hd'),
  31. 'capitalType' => $capitalType,
  32. 'amount' => $amount,
  33. 'balance' => $balance,
  34. 'io' => 1,
  35. 'payWay' => $order->payWay,
  36. 'event' => $event,
  37. 'sjId' => $order->sjId ?? 0,
  38. 'shopId' => $order->shopId ?? 0,
  39. ];
  40. GhsDebtChangeClass::addChange($change);
  41. }
  42. //供货商结账欠款金额减少 ssh 20220306
  43. public static function clearDebtAmountReduce($ghs, $custom, $amount, $clear)
  44. {
  45. $remainAmount = bcsub($ghs->debtAmount, $amount, 2);
  46. if ($remainAmount < 0) {
  47. noticeUtil::push("结账没有成功,欠供货商总金额:{$ghs->debtAmount} 本次结账金额:{$amount} 供货商ID:{$ghs->id}", '15280215347');
  48. util::fail('结账没有成功');
  49. }
  50. $ghs->debtAmount = $remainAmount;
  51. $ghs->debt = $remainAmount > 0 ? 2 : 1;
  52. $ghs->save();
  53. $relateId = $clear->id ?? 0;
  54. $ghsId = $ghs->id ?? 0;
  55. $orderSn = $clear->orderSn ?? '';
  56. $capitalType = dict::getDict('capitalType', 'hdPurchaseClear', 'id');
  57. $change = [
  58. 'relateId' => $relateId,
  59. 'ghsId' => $ghsId,
  60. 'ptStyle' => dict::getDict('ptStyle', 'hd'),
  61. 'capitalType' => $capitalType,
  62. 'amount' => $amount,
  63. 'balance' => $remainAmount,
  64. 'io' => 0,
  65. 'payWay' => 1,
  66. 'event' => "结账,单号:{$orderSn}",
  67. 'sjId' => $custom->sjId ?? 0,
  68. 'shopId' => $custom->shopId ?? 0,
  69. ];
  70. GhsDebtChangeClass::addChange($change);
  71. }
  72. //供货商退款欠款金额减少 ssh 20220306
  73. public static function refundDebtAmountReduce($ghs, $refund, $cg)
  74. {
  75. $refundPrice = $refund->refundPrice ?? 0;
  76. $currentDebtAmount = bcsub($ghs->debtAmount, $refundPrice, 2);
  77. $ghs->debtAmount = $currentDebtAmount;
  78. $ghs->save();
  79. $relateId = $order->id ?? 0;
  80. $ghsId = $ghs->id ?? 0;
  81. $capitalType = dict::getDict('capitalType', 'cgRefund', 'id');
  82. $cgOrderSn = $cg->orderSn ?? '';
  83. $change = [
  84. 'relateId' => $relateId,
  85. 'ghsId' => $ghsId,
  86. 'ptStyle' => dict::getDict('ptStyle', 'hd'),
  87. 'capitalType' => $capitalType,
  88. 'amount' => $refundPrice,
  89. 'balance' => $currentDebtAmount,
  90. 'io' => 0,
  91. 'payWay' => 0,
  92. 'event' => "采购单:{$cgOrderSn} 退款",
  93. 'sjId' => $refund->sjId ?? 0,
  94. 'shopId' => $refund->shopId ?? 0,
  95. ];
  96. GhsDebtChangeClass::addChange($change);
  97. }
  98. //验证供货商 ssh 20220307
  99. public static function valid($ghs, $shopId)
  100. {
  101. if (empty($ghs)) {
  102. util::fail('没有找到供货商');
  103. }
  104. if ($ghs->ownShopId != $shopId) {
  105. util::fail('不是您的供货商');
  106. }
  107. return true;
  108. }
  109. }