]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Дневной отчет
authorVladimir Fomichev <vladimir.fomichev@erp-flowers.ru>
Tue, 2 Dec 2025 07:14:47 +0000 (10:14 +0300)
committerVladimir Fomichev <vladimir.fomichev@erp-flowers.ru>
Tue, 2 Dec 2025 07:14:47 +0000 (10:14 +0300)
erp24/actions/grade/IndexAction.php
erp24/api3/core/services/ReportService.php
erp24/views/grade/index.php

index 653ba7ff1fad582a9d98c930bd9d438bc0f3fc34..5e82ef29a52c80ce540b7bd03d2a57f2209fb784 100755 (executable)
@@ -56,7 +56,15 @@ class IndexAction extends Action
 
         $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
index fbf95dfa454b3a890d0dcb7daf0883f37abeccdd..7e405a36a06c5b600735cf6d7c0fc0588ce5eee6 100644 (file)
@@ -1695,6 +1695,7 @@ class ReportService
                         "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,
@@ -1769,6 +1770,7 @@ class ReportService
                 $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,
index 39c0096faa8b50d4c31b5329ca270d60fcc36652..b01c6e3473c6b6777957906b16ccff859b9da74a 100755 (executable)
@@ -2,7 +2,6 @@
 
 use yii\helpers\Html;
 use yii\widgets\ActiveForm;
-
 use kartik\select2\Select2;
 
 /** @var array $admins */
@@ -10,6 +9,7 @@ use kartik\select2\Select2;
 /** @var array $adminGroups */
 /** @var array $stores */
 /** @var array $adminChats */
+/** @var array $specialGroups */
 
 ?>
 
@@ -77,7 +77,14 @@ use kartik\select2\Select2;
 </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>