From 67df8f7c070aad8ae90f2e53123aecc059e255c2 Mon Sep 17 00:00:00 2001 From: Alexander Smirnov Date: Fri, 31 May 2024 21:50:37 +0300 Subject: [PATCH] fix part 007 --- .../EmployeeSalesReportController.php | 28 ++++++++++++++----- erp24/views/employee-sales-report/index.php | 8 ++++-- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/erp24/controllers/EmployeeSalesReportController.php b/erp24/controllers/EmployeeSalesReportController.php index bf7500fe..30a13f02 100644 --- a/erp24/controllers/EmployeeSalesReportController.php +++ b/erp24/controllers/EmployeeSalesReportController.php @@ -8,6 +8,8 @@ use yii\helpers\ArrayHelper; use yii\web\Controller; use yii_app\records\Admin; use yii_app\records\CityStore; +use yii_app\records\ExportImportTable; +use yii_app\records\Products1c; use yii_app\records\Sales; use yii_app\records\StoreDynamic; @@ -43,7 +45,7 @@ class EmployeeSalesReportController extends Controller { } $salesQuery = Sales::find() - ->select(['id', 'summ', 'admin_id']) + ->select(['id', 'summ', 'seller_id']) ->where(['operation' => Sales::OPERATION_SALE]) ->andWhere(['>', 'admin_id', 0]) ->andWhere(['order_id' => ['0', '']]) @@ -83,19 +85,31 @@ class EmployeeSalesReportController extends Controller { $paymentsPerAdmin = []; $paymentsCntPerAdmin = []; foreach ($sales as $sale) { + /** @var $sale Sales */ if (!in_array($sale->id, $returnIds)) { - $paymentsPerAdmin[$sale->admin_id] = ($paymentsPerAdmin[$sale->admin_id] ?? 0) + $sale->summ; - $paymentsCntPerAdmin[$sale->admin_id] = ($paymentsCntPerAdmin[$sale->admin_id] ?? 0) + 1; + $paymentsPerAdmin[$sale->seller_id] = ($paymentsPerAdmin[$sale->seller_id] ?? 0) + $sale->summ; + $paymentsCntPerAdmin[$sale->seller_id] = ($paymentsCntPerAdmin[$sale->seller_id] ?? 0) + 1; } } - $admins = Admin::find()->select(['id', 'name'])->where(['id' => array_keys($paymentsPerAdmin)])->all(); + $eit = ExportImportTable::find()->select(['entity_id', 'export_val']) + ->where(['entity' => 'admin', 'export_id' => '1', 'export_val' => array_keys($paymentsPerAdmin)])->all(); + + $adminGuidPerId = ArrayHelper::map($eit,'entity_id' , 'export_val'); + $adminIds = ArrayHelper::getColumn($eit, "entity_id"); + + $productsAdmins = Products1c::find()->select(['id', 'name'])->where([ + 'tip' => 'admin', 'id' => array_keys($paymentsPerAdmin)])->all(); + $productAdminNamePerGuid = ArrayHelper::map($productsAdmins, 'id', 'name'); + + $admins = Admin::find()->select(['id', 'name'])->where(['id' => $adminIds])->all(); $admins = ArrayHelper::map($admins, 'id', 'name'); - $adminIds = array_keys($paymentsPerAdmin); - usort($adminIds, function($a, $b) use ($paymentsPerAdmin, $model) { return ($model->sorting == 0 ? -1 : 1) * ($paymentsPerAdmin[$a] - $paymentsPerAdmin[$b]); }); + usort($adminIds, function($a, $b) use ($adminGuidPerId, $paymentsPerAdmin, $model) { + return ($model->sorting == 0 ? -1 : 1) * ($paymentsPerAdmin[$adminGuidPerId[$a]] - $paymentsPerAdmin[$adminGuidPerId[$b]]); + }); return $this->render('index', compact('model', 'clusters', 'stores', 'admins', 'adminIds', - 'paymentsPerAdmin', 'paymentsCntPerAdmin')); + 'paymentsPerAdmin', 'paymentsCntPerAdmin', 'adminGuidPerId', 'productAdminNamePerGuid')); } } \ No newline at end of file diff --git a/erp24/views/employee-sales-report/index.php b/erp24/views/employee-sales-report/index.php index 33c45066..74def0f4 100644 --- a/erp24/views/employee-sales-report/index.php +++ b/erp24/views/employee-sales-report/index.php @@ -13,6 +13,8 @@ use dosamigos\datetimepicker\DateTimePicker; /** @var $adminIds array */ /** @var $paymentsPerAdmin array */ /** @var $paymentsCntPerAdmin array */ +/** @var $adminGuidPerId array */ +/** @var $productAdminNamePerGuid array */ ?> @@ -74,9 +76,9 @@ use dosamigos\datetimepicker\DateTimePicker; - - - + + + -- 2.39.5