1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
public static function getStockByItemGroup(string $companyName, $grouped, $to = null)
{
$data = [];
$companyIds = $companyName != 'all' ? [$companyName] : array_keys(config('app.company_ids'));
foreach ($companyIds as $companyId) {
$result = self::selectRaw("group_id, dates_format(posting_date, '" . $grouped . "') as posting_date, items.unit_cost * sum(quantity) as cost");
if ($to) {
$result = $result->where('posting_date', '<=', $to);
}
$data[] = $result->where('stocks.company_id', $companyId)
->join('items', 'stocks.item_id', 'items.item_id')
->where('items.company_id', $companyId)
->groupBy('group_id', 'unit_cost', 'posting_date')
->orderBy('posting_date', 'asc')
->get();
}
return Arr::flatten($data);
} |
Partager