$adminChats = ArrayHelper::map(AdminChats::find()->select(['admin_id'])->where(['state' => 2])->all(), 'admin_id', 'admin_id');
+ // Определяем специальные группы для подсветки строк
+ $specialGroups = AdminGroup::getWorkersGroups();
+ // Ищем группу "Работники магазинов" по имени
+ $workersGroup = AdminGroup::find()->where(['name' => AdminGroup::GROUP_STORE_WORKERS_NAME])->one();
+ if ($workersGroup) {
+ $specialGroups[] = $workersGroup->id;
+ }
+
return $this->controller->render('/grade/index',
- compact('searchModel', 'admins', 'adminGroups', 'stores', 'adminChats'));
+ compact('searchModel', 'admins', 'adminGroups', 'stores', 'adminChats', 'specialGroups'));
}
}
\ No newline at end of file
"employee_positions_on_shift" => $storeEmployeePositionsOnShift,
"employee_skills_score" => $employeeSkillsScore,
"employee_skills_score_is_estimated" => $skillsScoreIsEstimated,
+ "employee_count_on_shift" => $employeeCount[$store_id] ?? 0,
];
$stores [] = [
'id' => $store_id,
$total["bonus_user_count"] / $total["sale_quantity"] * 100
) : 0;
$total["employee_positions_on_shift"] = $employeePositionsOnShift;
+ $total["employee_count_on_shift"] = count($allDayEmployees);
$report = [
"date" => $day,
use yii\helpers\Html;
use yii\widgets\ActiveForm;
-
use kartik\select2\Select2;
/** @var array $admins */
/** @var array $adminGroups */
/** @var array $stores */
/** @var array $adminChats */
+/** @var array $specialGroups */
?>
</div>
<?php foreach ($admins as $admin): ?>
- <div class="row border">
+ <?php
+ // Проверяем, принадлежит ли сотрудник специальной группе и не установлен ли employee_position_id
+ $isSpecialGroup = in_array((int)$admin->group_id, $specialGroups);
+ $hasNoPosition = empty($admin->employee_position_id);
+ $shouldHighlight = $isSpecialGroup && $hasNoPosition;
+ $rowStyle = $shouldHighlight ? 'background-color: #FFF4E6;' : '';
+ ?>
+ <div class="row border" style="<?= $rowStyle ?>">
<div class="col-2">
<?= $this->render('/pages/admin-info', ['admin' => $admin]) ?>
</div>