<?php
namespace App\Http\Controllers;
use App\Models\Transaction;
use Illuminate\Http\Request;
use Barryvdh\DomPDF\Facade\Pdf;
use DateTime;
use Illuminate\Support\Facades\Auth;
use App\Models\Company;
class ReportController extends Controller
{
public function index(Request $request)
{
$start_date = $request->input('awal');
$end_date = $request->input('akhir');
$data['title'] = 'E-Cash - Report';
// $monthYear = $request->month;
if (!empty($start_date) && !empty($end_date)) {
$report = Transaction::whereBetween('date', [$start_date, $end_date])
->orderBy('date')
->get();
// ... melakukan perhitungan saldo
$balance = 0;
foreach ($report as $item) {
if ($item->status == 1) {
$balance += $item->amount;
} else {
$balance -= $item->amount;
}
$item->balance = $balance;
}
$data['report'] = $report;
$data['balance'] = $balance;
$data['awal'] = $start_date;
$data['akhir'] = $end_date;
$data['report'] = $report;
$data['balance'] = $balance;
} else {
$data['report'] = null;
}
if (!Auth::user()) {
$data['ic'] = Transaction::where('status', 1)->sum('amount');
$data['oc'] = Transaction::where('status', 2)->sum('amount');
return view('report.index2', $data);
} else {
return view('report.index', $data);
}
}
public function print(Request $request)
{
$data['title'] = 'Print Report';
// $monthYear = $request->month;
// list($year, $month) = explode('-', $monthYear);
// $report = Transaction::whereYear('date', '=', $year)
// ->whereMonth('date', '=', $month)
// ->get();
// $balance = 0;
// foreach ($report as $item) {
// if ($item->status == 1) {
// $balance += $item->amount;
// } else {
// $balance -= $item->amount;
// }
// $item->balance = $balance;
// }
// $data['report'] = $report;
// $data['balance'] = $balance;
// $data['month'] = $month;
// $data['ic'] = Transaction::where('status', 1)->sum('amount');
// $data['oc'] = Transaction::where('status', 2)->sum('amount');
// $data['balance2'] = Transaction::first();
// $pdf = Pdf::loadView('report.print', $data);
// $pdf->setOption(['defaultFont' => 'sans-serif'])->setpaper('A4', 'potrait');
// return $pdf->download('Ekspor-Report.pdf');
$start_date = $request->input('awal');
$end_date = $request->input('akhir');
$report = Transaction::whereBetween('date', [$start_date, $end_date])
->orderBy('date')
->get();
$balance = 0;
foreach ($report as $item) {
if ($item->status == 1) {
$balance += $item->amount;
} else {
$balance -= $item->amount;
}
$item->balance = $balance;
}
$data['report'] = $report;
$data['balance'] = $balance;
$data['awal'] = $start_date;
$data['akhir'] = $end_date;
$data['ic'] = Transaction::where('status', 1)
->whereBetween('date', [$start_date, $end_date])
->sum('amount');
$data['oc'] = Transaction::where('status', 2)
->whereBetween('date', [$start_date, $end_date])
->sum('amount');
$data['balance2'] = Transaction::orderBy('date', 'asc')
->where('date', '<', $start_date)
->first();
$data['company'] = Company::first();
$pdf = Pdf::loadView('report.print', $data);
$pdf->setOption(['defaultFont' => 'sans-serif'])->setPaper('A4', 'portrait');
return $pdf->download('Exported-Report.pdf');
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]