TotalDebtChangeController.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <?php
  2. namespace console\controllers;
  3. use biz\shop\classes\MainClass;
  4. use yii\console\Controller;
  5. use biz\shop\classes\ShopClass;
  6. use bizGhs\custom\classes\CustomClass;
  7. use bizGhs\order\classes\OrderClass;
  8. use Yii;
  9. class TotalDebtChangeController extends Controller
  10. {
  11. // ./yii total-debt-change/ls
  12. public function actionLs()
  13. {
  14. $list = ShopClass::getAllByCondition(['ptStyle' => 1], null, '*', null, true);
  15. if (!empty($list)) {
  16. foreach ($list as $shop) {
  17. $shopId = $shop->id ?? 0;
  18. $customList = \bizHd\custom\classes\CustomClass::getAllByCondition(['shopId' => $shopId], null, '*', null, true);
  19. if (!empty($customList)) {
  20. foreach ($customList as $custom) {
  21. $customId = $custom->id ?? 0;
  22. $lsOrderDebt = 0;
  23. $lsOrderList = \bizHd\order\classes\OrderClass::getAllByCondition(['customId' => $customId], null, '*', null, true);
  24. if (!empty($lsOrderList)) {
  25. foreach ($lsOrderList as $lsOrder) {
  26. $remainDebtPrice = $lsOrder->remainDebtPrice ?? 0;
  27. $lsOrderDebt = bcadd($lsOrderDebt, $remainDebtPrice, 2);
  28. }
  29. }
  30. $custom->debtAmount = $lsOrderDebt;
  31. $custom->save();
  32. }
  33. }
  34. }
  35. }
  36. }
  37. // ./yii total-debt-change/init
  38. public function actionInit()
  39. {
  40. ini_set('memory_limit', '2045M');
  41. set_time_limit(0);
  42. $list = ShopClass::getAllByCondition(['ptStyle' => 2], null, '*', null, true);
  43. if (!empty($list)) {
  44. foreach ($list as $shop) {
  45. $shopId = $shop->id ?? 0;
  46. $mainId = $shop->mainId ?? 0;
  47. $sjName = $shop->merchantName ?? '';
  48. $shopName = $shop->shopName ?? '';
  49. $customList = CustomClass::getAllByCondition(['ownMainId' => $mainId], null, '*', null, true);
  50. $customDebt = 0;
  51. if (!empty($customList)) {
  52. foreach ($customList as $custom) {
  53. $debtAmount = $custom->debtAmount ?? 0;
  54. $customDebt = bcadd($customDebt, $debtAmount, 2);
  55. }
  56. }
  57. $orderDebt = 0;
  58. $orderList = OrderClass::getAllByCondition(['shopId' => $shopId], null, '*', null, true);
  59. if (!empty($orderList)) {
  60. foreach ($orderList as $order) {
  61. $remainDebtPrice = $order->remainDebtPrice ?? 0;
  62. $orderDebt = bcadd($remainDebtPrice, $orderDebt, 2);
  63. }
  64. }
  65. if (floatval($customDebt) != floatval($orderDebt)) {
  66. echo "门店:{$sjName} {$shopName} 订单和客户欠款不一致!!!!! \n";
  67. continue;
  68. } else {
  69. echo "门店:{$sjName} {$shopName} 总欠款{$customDebt} \n";
  70. }
  71. $lsShopId = $shop->lsShopId ?? 0;
  72. $lsOrderDebt = 0;
  73. $lsOrderList = \bizHd\order\classes\OrderClass::getAllByCondition(['shopId' => $lsShopId], null, '*', null, true);
  74. if (!empty($lsOrderList)) {
  75. foreach ($lsOrderList as $lsOrder) {
  76. $remainDebtPrice = $lsOrder->remainDebtPrice ?? 0;
  77. $lsOrderDebt = bcadd($lsOrderDebt, $remainDebtPrice, 2);
  78. }
  79. }
  80. $totalDebt = bcadd($customDebt, $lsOrderDebt, 2);
  81. $main = MainClass::getById($mainId, true);
  82. if (empty($main)) {
  83. echo "门店:{$sjName} {$shopName} 没有找到main信息!!!!!!!!!!!! \n";
  84. continue;
  85. }
  86. echo "门店:{$sjName} {$shopName} 批发欠款{$customDebt} 零售欠款{$lsOrderDebt} \n";
  87. $main->debt = $totalDebt;
  88. $main->save();
  89. }
  90. }
  91. }
  92. }