From b3898413dc9689729f149e69ba72a0469da61227 Mon Sep 17 00:00:00 2001 From: vladfo Date: Fri, 11 Oct 2024 12:28:33 +0300 Subject: [PATCH] =?utf8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?utf8?q?=D0=BA=D0=BE=D0=BB=D0=B8=D1=87=D0=B5=D1=81=D1=82=D0=B2=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/actions/motivation/TestSelfCostAction.php | 7 +++++++ erp24/services/MotivationService.php | 5 ++++- erp24/views/motivation/test-self-cost.php | 4 ++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/erp24/actions/motivation/TestSelfCostAction.php b/erp24/actions/motivation/TestSelfCostAction.php index b286e9b4..4f8eaa17 100644 --- a/erp24/actions/motivation/TestSelfCostAction.php +++ b/erp24/actions/motivation/TestSelfCostAction.php @@ -40,6 +40,7 @@ class TestSelfCostAction extends Action $data = []; $totalSum = 0.0; + $totalProductsSum = 0.0; if ($startDate && $endDate && $storeId) { $totalSum = MotivationService::getSelfCostSumByStore($startDate, $endDate, $storeId); @@ -47,6 +48,11 @@ class TestSelfCostAction extends Action // Получаем данные о продуктах и себестоимости $salesProducts = MotivationService::getSalesProductsDetails($startDate, $endDate, $storeId); $data = $salesProducts; + + // Вычисляем сумму всех товаров + foreach ($data as $item) { + $totalProductsSum += $item['price']*$item['quantity']; + } } return $this->controller->render('test-self-cost', [ @@ -54,6 +60,7 @@ class TestSelfCostAction extends Action 'model' => $model, 'data' => $data, 'totalSum' => $totalSum, + 'totalProductsSum' => $totalProductsSum, ]); } } \ No newline at end of file diff --git a/erp24/services/MotivationService.php b/erp24/services/MotivationService.php index 3b7bdad1..65534d7e 100644 --- a/erp24/services/MotivationService.php +++ b/erp24/services/MotivationService.php @@ -1962,10 +1962,12 @@ class MotivationService $salesProducts = SalesProducts::find() ->select(['check_id', 'product_id', 'quantity']) ->where(['check_id' => $salesIds]) + ->asArray() ->all(); - $productIds = array_unique(array_column($salesProducts, 'product_id')); + $productIds = array_column($salesProducts, 'product_id'); + $selfCosts = SelfCostProduct::find() ->select(['product_guid', 'price', 'date']) ->where(['store_id' => $storeId, 'product_guid' => $productIds]) @@ -2001,6 +2003,7 @@ class MotivationService 'product_name' => $productNamesMap[$productId] ?? 'Неизвестный товар', 'price' => $price, 'date' => $checkDate, + 'quantity' => $quantity, ]; } diff --git a/erp24/views/motivation/test-self-cost.php b/erp24/views/motivation/test-self-cost.php index 7c964e9b..52d323f9 100644 --- a/erp24/views/motivation/test-self-cost.php +++ b/erp24/views/motivation/test-self-cost.php @@ -8,6 +8,7 @@ use kartik\select2\Select2; /* @var $model \yii\base\DynamicModel */ /* @var $data array */ /* @var $totalSum float */ +/* @var $totalProductsSum float */ $this->title = 'Себестоимость товаров по магазинам'; ?> @@ -45,6 +46,7 @@ $this->title = 'Себестоимость товаров по магазина ID товара Название Цена + Кол-во Дата @@ -54,11 +56,13 @@ $this->title = 'Себестоимость товаров по магазина +

Общая стоимость:

+

Сумма всех товаров:

\ No newline at end of file -- 2.39.5