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;
}
$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', '']])
$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
/** @var $adminIds array */
/** @var $paymentsPerAdmin array */
/** @var $paymentsCntPerAdmin array */
+/** @var $adminGuidPerId array */
+/** @var $productAdminNamePerGuid array */
?>
<tbody>
<?php foreach ($adminIds as $adminId): ?>
<tr>
- <td><?= $admins[$adminId] ?? '#' . $adminId ?></td>
- <td style="text-align: right;"><?= number_format($paymentsPerAdmin[$adminId], 0, '', ' ') ?></td>
- <td style="text-align: right;"><?= number_format($paymentsPerAdmin[$adminId] / $paymentsCntPerAdmin[$adminId], 0, '',' ') ?></td>
+ <td><?= $admins[$adminId] ?? $productAdminNamePerGuid[$adminGuidPerId[$adminId]] . '(#' . $adminId . ')' ?></td>
+ <td style="text-align: right;"><?= number_format($paymentsPerAdmin[$adminGuidPerId[$adminId]], 0, '', ' ') ?></td>
+ <td style="text-align: right;"><?= number_format($paymentsPerAdmin[$adminGuidPerId[$adminId]] / $paymentsCntPerAdmin[$adminGuidPerId[$adminId]], 0, '',' ') ?></td>
</tr>
<?php endforeach; ?>
</tbody>