mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/exchange-2.0.git
synced 2026-08-26 16:04:05 +00:00
69 lines
2.2 KiB
PHP
69 lines
2.2 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Currencies\Rates;
|
|
|
|
use App\Models\CurrencyRate;
|
|
use App\Models\CurrencyRateLog;
|
|
use Illuminate\Http\Request;
|
|
|
|
class RateHistoriesController
|
|
{
|
|
public function histories(Request $request)
|
|
{
|
|
$query = CurrencyRate::query();
|
|
|
|
// $query->when($request->filled('currency_id'), function ($query) use ($request) {
|
|
// return $query->where('currency_id', '=', $request->input('currency_id'));
|
|
// });
|
|
// $query->when($request->filled('service_id'), function ($query) use ($request) {
|
|
// return $query->where('service_id', '=', $request->input('service_id'));
|
|
// });
|
|
// $query->when($request->filled('payment_methid_type'), function ($query) use ($request) {
|
|
// return $query->where('payment_method_type', '=', $request->input('payment_methid_type'));
|
|
// });
|
|
|
|
$query->when(true, function ($query) {
|
|
return $query->where('currency_id', '=', 2);
|
|
});
|
|
$query->when(true, function ($query) {
|
|
return $query->where('service_id', '=', 1);
|
|
});
|
|
$query->when(true, function ($query) {
|
|
return $query->where('payment_method_type', '=', 1);
|
|
});
|
|
|
|
$currency_rate_id = $query->value('id');
|
|
|
|
$results = CurrencyRateLog::select('selling', \DB::raw("DATE_FORMAT(updated_at, '%d') as date"))
|
|
->where('currency_rate_id', $currency_rate_id)
|
|
->groupBy('date')->get();
|
|
|
|
$daysInMonth = collect(range(1, date('t')));
|
|
|
|
$merged = $daysInMonth->map(function ($day) use ($results) {
|
|
$result = $results->firstWhere('date', $day);
|
|
|
|
return $result ? $result->selling : '';
|
|
});
|
|
|
|
$labels = $daysInMonth->map(function ($day) {
|
|
return date('d', strtotime(date('Y-m')."-$day"));
|
|
});
|
|
|
|
$data = [
|
|
'labels' => $labels,
|
|
'datasets' => [
|
|
[
|
|
'label' => 'Day Wise Report',
|
|
'data' => $merged,
|
|
'fill' => false,
|
|
'borderColor' => 'rgb(75, 192, 192)',
|
|
'tension' => 0.1,
|
|
],
|
|
],
|
|
];
|
|
|
|
return view('pages.rate_histories', compact('data'));
|
|
}
|
|
}
|