From c6bb34b26cc35ea305aee8da870a9e8883104f5c Mon Sep 17 00:00:00 2001 From: marina Date: Tue, 17 Jun 2025 10:47:14 +0300 Subject: [PATCH] =?utf8?q?ERP-360=20=D0=A1=D0=B1=D0=BE=D1=80=D0=BA=D0=B0?= =?utf8?q?=20=D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B8=D1=86=D1=8B=20=D0=B0?= =?utf8?q?=D0=B2=D1=82=D0=BE=D0=BF=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/controllers/AutoPlannogrammaController.php | 2 +- erp24/services/AutoPlannogrammaService.php | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/erp24/controllers/AutoPlannogrammaController.php b/erp24/controllers/AutoPlannogrammaController.php index a43f89c3..0be4834d 100644 --- a/erp24/controllers/AutoPlannogrammaController.php +++ b/erp24/controllers/AutoPlannogrammaController.php @@ -150,7 +150,7 @@ class AutoPlannogrammaController extends BaseController ]; } - $forecast = (new AutoPlannogrammaService())->getWeeklyBouquetProductsForecast($filters['month'], $filters['year']); + $forecast = (new AutoPlannogrammaService())->getWeeklyBouquetProductsForecast($filters['month'], $filters['year'], null, $filters['week']); var_dump($forecast);die(); foreach ($result as $productId => &$productData) { diff --git a/erp24/services/AutoPlannogrammaService.php b/erp24/services/AutoPlannogrammaService.php index ad28f695..17eff12b 100644 --- a/erp24/services/AutoPlannogrammaService.php +++ b/erp24/services/AutoPlannogrammaService.php @@ -2786,14 +2786,16 @@ class AutoPlannogrammaService return $pricesMap; } - public function getWeeklyBouquetProductsForecast($month, $year, $storeId = null) + public function getWeeklyBouquetProductsForecast($month, $year, $storeId = null, $weekNumber = null) { $matrixGroups = ArrayHelper::map( MatrixBouquetForecast::find()->select(['group'])->distinct()->asArray()->all(), 'group', 'group' ); + $date = $year . '-' . str_pad($month, 2, '0', STR_PAD_LEFT) . '-01'; + $result = StorePlanService::getBouquetSpiecesMonthGoalFromForecast($month, $year, $storeId, $matrixGroups); $weekShares = $this->getHistoricalSpeciesShareByWeek($date); $flatData = $result['flatData']; @@ -2824,6 +2826,10 @@ class AutoPlannogrammaService } foreach ($weekIndex[$key] as $weekShare) { + if ($weekNumber !== null && (int)$weekShare['week'] !== (int)$weekNumber) { + continue; // фильтрация по неделе + } + $weeklyForecasts[] = [ 'store_id' => $item['store_id'], 'category' => $item['category'], @@ -2840,8 +2846,7 @@ class AutoPlannogrammaService ]; } } - return $weeklyForecasts; + return $weeklyForecasts; } - } \ No newline at end of file -- 2.39.5