TotalDebtChangeController.php 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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/init
  12. public function actionInit()
  13. {
  14. ini_set('memory_limit', '2045M');
  15. set_time_limit(0);
  16. $list = ShopClass::getAllByCondition(['ptStyle' => 2], null, '*', null, true);
  17. if (!empty($list)) {
  18. foreach ($list as $shop) {
  19. $shopId = $shop->id ?? 0;
  20. $mainId = $shop->mainId ?? 0;
  21. $sjName = $shop->merchantName ?? '';
  22. $shopName = $shop->shopName ?? '';
  23. $customList = CustomClass::getAllByCondition(['ownMainId' => $mainId], null, '*', null, true);
  24. $customDebt = 0;
  25. if (!empty($customList)) {
  26. foreach ($customList as $custom) {
  27. $debtAmount = $custom->debtAmount ?? 0;
  28. $customDebt = bcadd($customDebt, $debtAmount, 2);
  29. }
  30. }
  31. $orderDebt = 0;
  32. $orderList = OrderClass::getAllByCondition(['shopId' => $shopId], null, '*', null, true);
  33. if (!empty($orderList)) {
  34. foreach ($orderList as $order) {
  35. $remainDebtPrice = $order->remainDebtPrice ?? 0;
  36. $orderDebt = bcadd($remainDebtPrice, $orderDebt, 2);
  37. }
  38. }
  39. if (floatval($customDebt) != floatval($orderDebt)) {
  40. echo "门店:{$sjName} {$shopName} 订单和客户欠款不一致!!!!! \n";
  41. continue;
  42. } else {
  43. echo "门店:{$sjName} {$shopName} 总欠款{$customDebt} \n";
  44. }
  45. $lsShopId = $shop->lsShopId ?? 0;
  46. $lsOrderDebt = 0;
  47. $lsOrderList = \bizHd\order\classes\OrderClass::getAllByCondition(['shopId' => $lsShopId], null, '*', null, true);
  48. if (!empty($lsOrderList)) {
  49. foreach ($lsOrderList as $lsOrder) {
  50. $remainDebtPrice = $lsOrder->remainDebtPrice ?? 0;
  51. $lsOrderDebt = bcadd($lsOrderDebt, $remainDebtPrice, 2);
  52. }
  53. }
  54. $totalDebt = bcadd($customDebt, $lsOrderDebt, 2);
  55. $main = MainClass::getById($mainId, true);
  56. if (empty($main)) {
  57. echo "门店:{$sjName} {$shopName} 没有找到main信息!!!!!!!!!!!! \n";
  58. continue;
  59. }
  60. echo "门店:{$sjName} {$shopName} 批发欠款{$customDebt} 零售欠款{$lsOrderDebt} \n";
  61. $main->debt = $totalDebt;
  62. $main->save();
  63. }
  64. }
  65. }
  66. }