$data = [];
$totalSum = 0.0;
+ $totalProductsSum = 0.0;
if ($startDate && $endDate && $storeId) {
$totalSum = MotivationService::getSelfCostSumByStore($startDate, $endDate, $storeId);
// Получаем данные о продуктах и себестоимости
$salesProducts = MotivationService::getSalesProductsDetails($startDate, $endDate, $storeId);
$data = $salesProducts;
+
+ // Вычисляем сумму всех товаров
+ foreach ($data as $item) {
+ $totalProductsSum += $item['price']*$item['quantity'];
+ }
}
return $this->controller->render('test-self-cost', [
'model' => $model,
'data' => $data,
'totalSum' => $totalSum,
+ 'totalProductsSum' => $totalProductsSum,
]);
}
}
\ No newline at end of file
$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])
'product_name' => $productNamesMap[$productId] ?? 'Неизвестный товар',
'price' => $price,
'date' => $checkDate,
+ 'quantity' => $quantity,
];
}
/* @var $model \yii\base\DynamicModel */
/* @var $data array */
/* @var $totalSum float */
+/* @var $totalProductsSum float */
$this->title = 'Себестоимость товаров по магазинам';
?>
<th>ID товара</th>
<th>Название</th>
<th>Цена</th>
+ <th>Кол-во</th>
<th>Дата</th>
</tr>
</thead>
<td><?= Html::encode($item['product_id']) ?></td>
<td><?= Html::encode($item['product_name']) ?></td>
<td><?= Html::encode($item['price']) ?></td>
+ <td><?= Html::encode($item['quantity']) ?></td>
<td><?= Html::encode($item['date']) ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<h3>Общая стоимость: <?= Html::encode($totalSum) ?></h3>
+ <h3>Сумма всех товаров: <?= Html::encode($totalProductsSum) ?></h3>
<?php endif; ?>
</div>
\ No newline at end of file