diff --git a/Http/Controllers/DailySalePaymentReportModuleController.php b/Http/Controllers/DailySalePaymentReportModuleController.php index d9a70f4..95651f1 100644 --- a/Http/Controllers/DailySalePaymentReportModuleController.php +++ b/Http/Controllers/DailySalePaymentReportModuleController.php @@ -18,36 +18,12 @@ class DailySalePaymentReportModuleController extends Controller { $report_date = $request->input('report_date', Carbon::today()->toDateString()); - // Helper function (Closure) to calculate payment breakdown from a collection of payments - $calculatePayments = function ($payments) { - $breakdown = [ - 'cash' => 0, - 'card1' => 0, - 'card2' => 0, - 'card3' => 0, - 'online_transfer' => 0, - 'link_pay' => 0 - ]; - foreach ($payments as $payment) { - $method = strtolower(trim($payment->paying_method)); - if ($method == 'cash') { - $breakdown['cash'] += $payment->total_amount; - } elseif ($method == 'card 1' || $method == 'card1') { - $breakdown['card1'] += $payment->total_amount; - } elseif ($method == 'card 2' || $method == 'card2') { - $breakdown['card2'] += $payment->total_amount; - } elseif ($method == 'card 3' || $method == 'card3') { - $breakdown['card3'] += $payment->total_amount; - } elseif (str_contains($method, 'online')) { - $breakdown['online_transfer'] += $payment->total_amount; - } elseif (str_contains($method, 'link')) { - $breakdown['link_pay'] += $payment->total_amount; - } - } - return $breakdown; - }; + // Fetch dynamic payment options using DB facade since the model is missing in this branch + $paymentOptions = DB::table('payment_options')->where('is_active', 1) + ->orderBy('id') + ->get(['id', 'name']); + - // --- TABLE 1: Daily Sales --- $sales = DB::table('sales') ->leftJoin('users', 'sales.user_id', '=', 'users.id') ->leftJoin('customers', 'sales.customer_id', '=', 'customers.id') @@ -68,25 +44,27 @@ class DailySalePaymentReportModuleController extends Controller $payments = DB::table('payments') ->where('sale_id', $sale->id) ->whereDate('created_at', $report_date) - ->select('paying_method', DB::raw('SUM(amount) as total_amount')) - ->groupBy('paying_method') + ->select('payment_option_id', DB::raw('SUM(amount) as total_amount')) + ->groupBy('payment_option_id') ->get(); - $breakdown = $calculatePayments($payments); + $methodTotals = []; + foreach ($payments as $payment) { + $methodTotals[$payment->payment_option_id] = $payment->total_amount; + } - $sales_data[] = (object) array_merge([ + $sales_data[] = (object) [ 'date' => Carbon::parse($sale->date)->format('Y-m-d'), 'reference_no' => $sale->reference_no, 'cashier' => $sale->cashier ?? 'N/A', 'customer' => $sale->customer ?? 'N/A', 'grand_total' => $sale->grand_total, - 'due_amount' => $sale->due_amount - ], $breakdown); + 'due_amount' => $sale->due_amount, + 'methods' => $methodTotals + ]; } - - - return view('dailysalepaymentreportmodule::index', compact('sales_data', 'report_date')); + return view('dailysalepaymentreportmodule::index', compact('sales_data', 'report_date', 'paymentOptions')); } /** diff --git a/Resources/views/index.blade.php b/Resources/views/index.blade.php index 556184b..2ba8cca 100644 --- a/Resources/views/index.blade.php +++ b/Resources/views/index.blade.php @@ -80,26 +80,21 @@