GhsController.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace console\controllers;
  3. use biz\shop\models\Shop;
  4. use bizGhs\ghs\classes\GhsClass;
  5. use bizGhs\ghs\classes\GhsDebtRecordClass;
  6. use bizGhs\order\classes\PurchaseOrderClass;
  7. use common\components\dict;
  8. use common\components\noticeUtil;
  9. use common\components\util;
  10. use yii\console\Controller;
  11. use Yii;
  12. class GhsController extends Controller
  13. {
  14. //供货商欠款跟踪 ssh 20240629 重要脚本
  15. public function actionAdjustDebt()
  16. {
  17. ini_set('memory_limit', '2045M');
  18. set_time_limit(0);
  19. $query = new \yii\db\Query();
  20. $query->from(Shop::tableName());
  21. $query->where(['ptStyle' => 2]);
  22. foreach ($query->batch(10) as $batch) {
  23. foreach ($batch as $shop) {
  24. $sjName = $shop['merchantName'] ?? '';
  25. $shopName = $shop['shopName'] ?? '';
  26. $name = $sjName . ' ' . $shopName;
  27. $where = ['ownShopId' => $shop['id']];
  28. $ghsList = GhsClass::getAllByCondition($where, null, '*', null, true);
  29. if (!empty($ghsList)) {
  30. foreach ($ghsList as $ghs) {
  31. $ghsName = $ghs->name ?? '';
  32. $ghsId = $ghs->id ?? 0;
  33. $totalDebtAmount = PurchaseOrderClass::sum(['ghsId' => $ghsId, 'status' => 4, 'debt' => PurchaseOrderClass::DEBT_YES], 'actPrice');
  34. $totalDebtAmount = empty($totalDebtAmount) ? 0 : $totalDebtAmount;
  35. $ghsDebtAmount = $ghs->debtAmount ?? 0;
  36. if (floatval($totalDebtAmount) != floatval($ghsDebtAmount)) {
  37. noticeUtil::push("{$name}的供货商{$ghsName}({$ghsId})应付金额不一致。登记金额:{$ghsDebtAmount} 汇总金额:{$totalDebtAmount}", '15280215347');
  38. }
  39. }
  40. }
  41. }
  42. }
  43. }
  44. }