<?php

namespace App\Http\Controllers;

use App\Models\TransaksiModel;
use Carbon\Carbon;
use Illuminate\Http\Request;

class LaporanController extends Controller
{
    function index(){
        $dataNonTunai = TransaksiModel::all();
    
        // Mengambil semua transaksi dengan metode bayar "Tunai"
        $transaksiTunai = TransaksiModel::where('metode_bayar', 'Tunai')->get();
    
        // Menghitung total ppn untuk transaksi dengan metode bayar "Tunai" dan kode_pesanan yang unik
        $TotalPpnTunai = $transaksiTunai->groupBy('kode_pesanan')->reduce(function ($carry, $group) {
            return $carry + $group->first()->ppn;
        }, 0);
    
        // Mengambil semua transaksi dengan metode bayar non-tunai
        $transaksiNonTunai = TransaksiModel::whereIn('metode_bayar', [
            'Debit BCA', 'Debit Mandiri', 'Debit BNI', 'Debit BRI', 
            'Debit CIMB NIAGA', 'GOPAY', 'OVO', 'QRIS', 'Transfer'
        ])->get();
    
        // Menghitung total ppn untuk transaksi dengan metode bayar non-tunai dan kode_pesanan yang unik
        $TotalPpnNonTunai = $transaksiNonTunai->groupBy('kode_pesanan')->reduce(function ($carry, $group) {
            return $carry + $group->first()->ppn;
        }, 0);
    
        return view('Laporan/index', compact('dataNonTunai', 'TotalPpnTunai', 'TotalPpnNonTunai'));
    }

    function laporanHarian() {
        
        $tanggalHariIni = Carbon::today(); // Mendapatkan tanggal hari ini
        
        // Mengambil transaksi non-tunai hanya untuk tanggal hari ini
        $dataTransaksi = TransaksiModel::whereIn('metode_bayar', [
            'Debit BCA', 'Debit Mandiri', 'Debit BNI', 'Debit BRI', 
            'Debit CIMB NIAGA', 'GOPAY', 'OVO', 'QRIS', 'Transfer'
        ])->whereDate('created_at', $tanggalHariIni)->get();
    
        return view('laporan/LaporanHarian', ['dataTransaksi' => $dataTransaksi]);
    }
}
