From: Vladimir Fomichev Date: Wed, 11 Jun 2025 08:03:52 +0000 (+0300) Subject: Перенос и переименование гуида гелия X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=20120f7ffc2ae6dfe24898831c9d48a19a1ec127;p=erp24_rep%2Fyii-erp24%2F.git Перенос и переименование гуида гелия --- diff --git a/erp24/services/AutoPlannogrammaService.php b/erp24/services/AutoPlannogrammaService.php index ce8d7f7a..80425e0f 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; // Отступаемый шаг от плановой даты перед расчетами - const SPECIAL_PRODUCT = '2b72702a-792f-11e8-9edd-1c6f659fb563'; + /** * Получение списка видимых магазинов @@ -1510,7 +1510,7 @@ class AutoPlannogrammaService : BouquetComposition::REGION_NN; } - $pricesMap = self::buildPricesMap($productsIds, self::SPECIAL_PRODUCT, $region); + $pricesMap = self::buildPricesMap($productsIds, $region); foreach ($pricesMap as $id => $price) { if ($goal == 0 || (float)$price == 0) { @@ -1746,7 +1746,7 @@ class AutoPlannogrammaService : BouquetComposition::REGION_NN; } - $pricesMap = self::buildPricesMap(array_keys($productSalesShare), self::SPECIAL_PRODUCT, $region); + $pricesMap = self::buildPricesMap(array_keys($productSalesShare), $region); foreach ($productSalesShare as $productId => $data) { $share = $data['share'] ?? 0.0; @@ -1919,7 +1919,7 @@ class AutoPlannogrammaService ->all(); $products = ArrayHelper::getColumn($productShares, 'product_id'); - $pricesMap = self::buildPricesMap($products, self::SPECIAL_PRODUCT); + $pricesMap = self::buildPricesMap($products); foreach ($productShares as $shareItem) { $storeId = $shareItem['store_id']; @@ -2711,15 +2711,14 @@ class AutoPlannogrammaService * Строит карту цен за последние 20 дней. * * @param array $productIds Список product_id для выборки - * @param string $specialProductId GUID товара, для которого нужен min * @param int|null $regionId Если указан — один регион, иначе — несколько * @return array */ public static function buildPricesMap( - array $productIds, - string $specialProductId, - ?int $regionId = null + array $productIds, + ?int $regionId = null ): array { + $heliumGuid = '2b72702a-792f-11e8-9edd-1c6f659fb563'; $periodEnd = (new \DateTime())->format('Y-m-d H:i:s'); $periodStart = (new \DateTime())->modify('-20 days')->format('Y-m-d H:i:s'); @@ -2747,7 +2746,7 @@ class AutoPlannogrammaService ? $priceRecord['region_id'] : null; - if ($productId === $specialProductId) { + if (isset($heliumGuid) && $productId === $heliumGuid) { if ($multiRegion) { if (!isset($pricesMap[$productId][$regionId])) { $pricesMap[$productId][$regionId] = [$price];