From abfc5f4c9c8fd11b871fef7387dd134b6bf836d7 Mon Sep 17 00:00:00 2001 From: fomichev Date: Thu, 22 May 2025 18:36:22 +0300 Subject: [PATCH] =?utf8?q?=D1=80=D0=B0=D1=81=D1=87=D0=B5=D1=82=20=D0=BF?= =?utf8?q?=D0=B5=D1=80=D0=B2=D0=BE=D0=B3=D0=BE=20=D1=8D=D1=82=D0=B0=D0=BF?= =?utf8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../AutoPlannogrammaController.php | 67 +++++++++++++++++++ erp24/controllers/CategoryPlanController.php | 2 +- 2 files changed, 68 insertions(+), 1 deletion(-) diff --git a/erp24/controllers/AutoPlannogrammaController.php b/erp24/controllers/AutoPlannogrammaController.php index 48ecc5eb..bee0c851 100644 --- a/erp24/controllers/AutoPlannogrammaController.php +++ b/erp24/controllers/AutoPlannogrammaController.php @@ -660,6 +660,73 @@ class AutoPlannogrammaController extends BaseController ]); } + public function action81() + { + $request = Yii::$app->request; + + $filters = [ + 'category' => $request->get('category'), + 'subcategory' => $request->get('subcategory') ?? null, + 'species' => $request->get('species') ?? null, + 'store_id' => $request->get('store_id') ?? [], + 'year' => $request->get('year'), + 'month' => $request->get('month'), + 'type' => $request->get('type'), + ]; + + $dataProvider = new ArrayDataProvider([ + 'allModels' => [], + 'pagination' => ['pageSize' => 100], + ]); + + + // Обработка даты на год и месяц + if (!empty($filters['year']) && !empty($filters['month'])) { + $filters['plan_date'] = $filters['year'] . '-' . str_pad($filters['month'], 2, '0', STR_PAD_LEFT) . '-01'; + //var_dump($filters); die(); + $service = new AutoPlannogrammaService(); + $data = $service->calculateSpeciesForecastForProductsWithoutHistory($filters['plan_date'], $filters); + + $result = StorePlanService::calculateHistoricalShare( + $filters['store_id'], + $filters['month'], + $filters['year'], + $filters['category'], + $filters['subcategory'], + $filters['species'] + ); + // var_dump($result); die(); + + $productSalesShare = StorePlanService::calculateProductSalesShare( + $filters['store_id'], + $filters['month'], + $result['with_history'] + ); + + + var_dump( $productSalesShare); die(); + $flatData = array_filter($data, function ($row) use ($filters) { + foreach ($filters as $key => $value) { + if (empty($value)) continue; + if (!isset($row[$key])) continue; + + if (stripos((string)$row[$key], (string)$value) === false) { + return false; + } + } + return true; + }); + + $dataProvider = new ArrayDataProvider([ + 'allModels' => $flatData, + 'pagination' => ['pageSize' => 100], + ]); + } + return $this->render('8', [ + 'dataProvider' => $dataProvider, + 'filters' => $filters, + ]); + } public function action9() { diff --git a/erp24/controllers/CategoryPlanController.php b/erp24/controllers/CategoryPlanController.php index d5989dc7..9a368a5f 100644 --- a/erp24/controllers/CategoryPlanController.php +++ b/erp24/controllers/CategoryPlanController.php @@ -347,7 +347,7 @@ class CategoryPlanController extends Controller { $subcategory, $species ); - + // var_dump($result); die(); $weightedResults = StorePlanService::calculateWeightedSalesForProductsWithoutHistory( $storeId, $selectedMonth, -- 2.39.5