From e2ff3f3d7c4579ff4e7a8ab954d566b624f998c6 Mon Sep 17 00:00:00 2001 From: Vladimir Fomichev Date: Wed, 11 Jun 2025 17:08:08 +0300 Subject: [PATCH] =?utf8?q?=D0=92=D0=BE=D0=B7=D0=B2=D1=80=D0=B0=D1=89=D0=B0?= =?utf8?q?=D0=B5=D0=BC=20=D0=BA=D0=BE=D0=BD=D1=81=D1=82=D0=B0=D0=BD=D1=82?= =?utf8?q?=D1=83=20=D0=B8=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?utf8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/controllers/AutoPlannogrammaController.php | 4 ++-- erp24/services/AutoPlannogrammaService.php | 10 ++++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/erp24/controllers/AutoPlannogrammaController.php b/erp24/controllers/AutoPlannogrammaController.php index a56c5301..2bfec0d8 100644 --- a/erp24/controllers/AutoPlannogrammaController.php +++ b/erp24/controllers/AutoPlannogrammaController.php @@ -1444,7 +1444,7 @@ class AutoPlannogrammaController extends BaseController [$monthSpeciesGoal['species']] = $monthSpeciesGoal['goal'] ; } - $weeksShareResult = $service->getHistoricalWeeklySpeciesShare($filters['plan_date'], $filters, null, 'writeOffs'); + $weeksShareResult = $service->getHistoricalWeeklySpeciesShare($model->month, $filters, null, 'writeOffs'); $weeksData = $service->calculateWeeklySpeciesGoals($weeksShareResult['weeksData'], $monthSpeciesGoals) ; $datePlan = $filters['plan_date']; @@ -1646,7 +1646,7 @@ class AutoPlannogrammaController extends BaseController } - $weeksShareResult = $service->getHistoricalWeeklySpeciesShare($filters['plan_date'], $filters, null, 'writeOffs'); + $weeksShareResult = $service->getHistoricalWeeklySpeciesShare($model->month, $filters, null, 'writeOffs'); $weeksData = $service->calculateWeeklySpeciesGoals($weeksShareResult, $monthSpeciesGoals) ; $datePlan = $filters['plan_date']; diff --git a/erp24/services/AutoPlannogrammaService.php b/erp24/services/AutoPlannogrammaService.php index 95abe7c9..829b2b3e 100644 --- a/erp24/services/AutoPlannogrammaService.php +++ b/erp24/services/AutoPlannogrammaService.php @@ -29,7 +29,7 @@ class AutoPlannogrammaService public const TYPE_WRITE_OFFS = 'writeOffs'; // Тип операции: списания private const CATEGORY_LOOKBACK_MONTHS = 3; // Период для анализа категорий (месяцы) private const LOOKBACK_MONTHS = 2; // Отступаемый шаг от плановой даты перед расчетами - private const HELIUM_GUID = '2b72702a-792f-11e8-9edd-1c6f659fb563'; + public const HELIUM_GUID = '2b72702a-792f-11e8-9edd-1c6f659fb563'; /** * Получение списка видимых магазинов @@ -1302,7 +1302,7 @@ class AutoPlannogrammaService ?array $productFilter = null, string $type = 'sales' ): array { - [$yearStr, $monthStr, $day] = explode('-', $monthYear); + [$monthStr, $yearStr] = explode('-', $monthYear); $month = (int)$monthStr; $year = (int)$yearStr; $yearData = []; @@ -2110,6 +2110,8 @@ class AutoPlannogrammaService $priceDynamics = PricesDynamic::find() ->andWhere(['region_id' => $region]) ->andWhere(['product_id' => array_values(ArrayHelper::getColumn($nomenclatures, 'id'))]) + ->andWhere(['<=', 'date_from', $monthEnd]) + ->andWhere(['>=', 'date_to', $monthStart]) ->orderBy(['date_from' => SORT_DESC]) ->all(); @@ -2750,7 +2752,7 @@ class AutoPlannogrammaService if (isset($heliumGuid) && $productId === $heliumGuid) { if ($multiRegion) { if (!isset($pricesMap[$productId][$regionId])) { - $pricesMap[$productId][$regionId] = [$price]; + $pricesMap[$productId][$regionId] = $price; } else { $pricesMap[$productId][$regionId] = min( $pricesMap[$productId][$regionId], @@ -2759,7 +2761,7 @@ class AutoPlannogrammaService } } else { if (!isset($pricesMap[$productId])) { - $pricesMap[$productId] = [$price]; + $pricesMap[$productId] = $price; } else { $pricesMap[$productId] = min( $pricesMap[$productId], -- 2.39.5