From: vladfo Date: Thu, 10 Oct 2024 08:56:05 +0000 (+0300) Subject: Поменял запрос к таблице TimetableFact для получения уникальных записей по дате смены... X-Git-Tag: 1.6~35^2~6 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=affa5bd230369232fbf10be3e8e3eb8eb9911cdf;p=erp24_rep%2Fyii-erp24%2F.git Поменял запрос к таблице TimetableFact для получения уникальных записей по дате смены и сотруднику --- diff --git a/erp24/services/MotivationService.php b/erp24/services/MotivationService.php index 3ab5b416..aa10cae2 100644 --- a/erp24/services/MotivationService.php +++ b/erp24/services/MotivationService.php @@ -765,13 +765,13 @@ class MotivationService $motivation = Motivation::find()->where(['store_id' => $store_id, 'year' => $year, 'month' => $month])->one(); if ($motivation) { $timetableFactModels = TimetableFactModel::find()->select(['DISTINCT(admin_id) as admin_id'])->where(['store_id' => $store_id]) - ->andWhere(['between', 'date', $monthStart, $monthEnd])->all(); + ->andWhere(['between', 'date_shift', $monthStart, $monthEnd])->all(); $adminIds = ArrayHelper::getColumn($timetableFactModels, 'admin_id'); $result = 0; foreach ($adminIds as $admin_id) { $timetableFactModel = TimetableFactModel::find()->select(['COUNT(*) as total', 'admin_group_id'])->where(['store_id' => $store_id, 'admin_id' => $admin_id]) - ->andWhere(['between', 'date', $monthStart, $monthEnd])->groupBy(['admin_group_id'])->asArray()->one(); + ->andWhere(['between', 'date_shift', $monthStart, $monthEnd])->groupBy(['admin_group_id'])->asArray()->one(); $norma = 15; if ($timetableFactModel['admin_group_id'] != AdminGroup::GROUP_WORKERS) { @@ -801,8 +801,10 @@ class MotivationService // Делаем запрос к TimetableFactModel $records = TimetableFactModel::find() + ->select(['DISTINCT ON (date_shift, admin_id) *']) ->where(['store_id' => $storeId]) - ->andWhere(['between', 'date', $startDate, $endDate]) + ->andWhere(['between', 'date_shift', $startDate, $endDate]) + ->orderBy(['date_shift' => SORT_ASC, 'admin_id' => SORT_ASC, 'id' => SORT_ASC]) ->all(); return $records; diff --git a/erp24/views/motivation/run-sum-salary.php b/erp24/views/motivation/run-sum-salary.php index b6a95e0f..8de82d62 100644 --- a/erp24/views/motivation/run-sum-salary.php +++ b/erp24/views/motivation/run-sum-salary.php @@ -1,6 +1,9 @@ title = 'Запуск экшенов для расчета ФОТ'; - +