{{--
--}}
@csrf
{{-- Cetak Download xls --}}
@foreach ($kodeAkun as $item) @php $totalDebit = 0; $totalKredit = 0; $saldoAkhir = 0; $saldoAwalDebit2 = 0; $saldoAwalKredit2 = 0; $saldoAwalDebit = 0; $saldoAwalKredit = 0; @endphp {{--
Buku Besar : {{ $item->nama . ' - ' . $item->kode_akun }}
--}}
@php // count jumlah transaksi masing2 kode rekening sebelum tanggal dari $cekTransaksi = \App\Models\Jurnal::where('tanggal', '<', $dari) ->where('kode', $item->kode_akun) ->orWhere('lawan', $item->kode_akun) ->count(); // cek apakah ada transaksi sebelum tanggal dari // untuk ngambil saldo awal sebelum tanggal dari if ($cekTransaksi > 0) { // cek apakah rekening terdapat di field kode di table jurnal $isFieldKode = \App\Models\Jurnal::where('kode', $item->kode_akun) ->where('tanggal', '<', $dari) ->count(); if ($isFieldKode > 0) { $saldoAwalDebit = \App\Models\Jurnal::select(\DB::raw('SUM(nominal) AS nominal')) ->where('kode', $item->kode_akun) ->where('tipe', 'Debit') ->where('tanggal', '<', $dari) ->get()[0]->nominal; $saldoAwalKredit = \App\Models\Jurnal::select(\DB::raw('SUM(nominal) AS nominal')) ->where('kode', $item->kode_akun) ->where('tipe', 'Kredit') ->where('tanggal', '<', $dari) ->get()[0]->nominal; // cek apakah rekening juga terdapat di field lawan di table jurnal $isFieldLawan = \App\Models\Jurnal::where('lawan', $item->kode_akun) ->where('tanggal', '<', $dari) ->count(); if ($isFieldLawan > 0) { $saldoAwalDebit2 = \App\Models\Jurnal::select(\DB::raw('SUM(nominal) AS nominal')) ->where('lawan', $item->kode_akun) ->where('tipe', 'Kredit') ->where('tanggal', '<', $dari) ->get()[0]->nominal; $saldoAwalKredit2 = \App\Models\Jurnal::select(\DB::raw('SUM(nominal) AS nominal')) ->where('lawan', $item->kode_akun) ->where('tipe', 'Debit') ->where('tanggal', '<', $dari) ->get()[0]->nominal; } } else { //rekening tsb tidak terdapat di field kode dan hanya terdapat di field lawan $saldoAwalDebit = \App\Models\Jurnal::select(\DB::raw('SUM(nominal) AS nominal')) ->where('lawan', $item->kode_akun) ->where('tipe', 'Kredit') ->where('tanggal', '<', $dari) ->get()[0]->nominal; $saldoAwalKredit = \App\Models\Jurnal::select(\DB::raw('SUM(nominal) AS nominal')) ->where('lawan', $item->kode_akun) ->where('tipe', 'Debit') ->where('tanggal', '<', $dari) ->get()[0]->nominal; } // hitung saldoAwal dari rekening if ($item->kodeInduk->tipe == 'Debit') { $saldoAkhir = ($saldoAwalDebit + $saldoAwalDebit2) - ($saldoAwalKredit + $saldoAwalKredit2); } else { $saldoAkhir = ($saldoAwalKredit + $saldoAwalKredit2) - ($saldoAwalDebit + $saldoAwalDebit2); } } // tidak ada transaksi untuk rekening tsb sebelum tanggal dari else { // set saldo akhir = saldo awal rekening $saldoAkhir = 0; } // echo $saldoAwalDebit . "saldoawaldebet
"; // echo $saldoAwalDebit2 . "saldoawaldebet2
"; // echo $saldoAwalKredit . "saldoawalkredit
"; // echo $saldoAwalKredit2 . "saldoawalkredit2
"; @endphp {{-- print saldo awal --}} @php $getBukuBesar = \App\Models\Jurnal::select('id', 'tanggal', 'kode_transaksi', 'keterangan', 'kode', 'lawan', 'nominal', 'tipe') ->whereBetween('tanggal', [$dari, $sampai]) ->where('kode', $item->kode_akun) ->orWhere('lawan', $item->kode_akun) ->whereBetween('tanggal', [$dari, $sampai]) ->orderBy('tanggal', 'ASC') ->get(); @endphp @foreach ($getBukuBesar as $val) {{-- cek posisi lawan (pasangan) ada di field kode atau di field lawan --}} @if ($val->kode == $item->kode_akun) @php $fieldLawan = 'lawan'; @endphp @else @php $fieldLawan = 'kode'; @endphp @endif {{-- jika lawan terdapat di field lawan --}} @if ($fieldLawan == 'lawan') {{-- jika tipe transaksi = debet --}} @if ($val->tipe == 'Debit') {{-- totaldebet bertambah --}} @php $totalDebit += $val->nominal; @endphp {{-- jika tipe rekening = debet --}} @if ($item->kodeInduk->tipe == 'Debit') {{-- saldo akhir rekening bertambah --}} @php $saldoAkhir += $val->nominal; @endphp {{-- jika tipe rekening = kredit --}} @else {{-- saldo akhir rekening berkurang --}} @php $saldoAkhir += $val->nominal; @endphp @endif {{-- jika tipe transaksi = kredit --}} @else {{-- total kredit bertambah --}} @php $totalKredit += $val->nominal; @endphp {{-- jika tipe rekening = debet --}} @if ($item->kodeInduk->tipe == 'Debit') {{-- saldo akhir berkurang --}} @php $saldoAkhir -= $val->nominal; @endphp {{-- jika tipe rekening = kredit --}} @else {{-- saldo akhir bertambah --}} @php $saldoAkhir -= $val->nominal; @endphp @endif @endif {{-- jika lawan terdapat di field kode --}} @else {{-- jike tipe transaksi = debet --}} @if ($val->tipe == 'Debit') {{-- total kredit bertambah --}} @php $totalKredit += $val->nominal; @endphp {{-- jika tipe rekening = Debit --}} @if ($item->kodeInduk->tipe == 'Debit') {{-- saldo akhir berkurang --}} @php $saldoAkhir -= $val->nominal; @endphp {{-- jika tipe rekening = kredit --}} @else @php $saldoAkhir += $val->nominal; @endphp @endif {{-- jika tipe transaksi = kredit --}} @else {{-- total debet bertambah --}} @php $totalDebit += $val->nominal; @endphp {{-- jika tipe rekening = Debit --}} @if ($item->kodeInduk->tipe == 'Debit') {{-- saldo akhir bertambah --}} @php $saldoAkhir += $val->nominal; @endphp {{-- jika tipe rekening = kredit --}} @else @php $saldoAkhir -= $val->nominal; @endphp @endif @endif @endif @endforeach
Buku Besar : {{ $item->nama . ' - ' . $item->kode_akun}}
Tanggal Kode Transaksi Keterangan Lawan Debit Kredit Saldo
{{ date('d-m-Y', strtotime($dari)) }} - Saldo Awal {{ number_format($saldoAkhir, 2, ',', '.') }}
{{ date('d-m-Y', strtotime($val->tanggal)) }} {{ $val->kode_transaksi }} {{ $val->keterangan }} {{ $val->$fieldLawan .' ~ ' .\App\Models\KodeAkun::select('nama')->where('kode_akun', $val->$fieldLawan)->get()[0]->nama }} {{ number_format($val->nominal, 2, ',', '.') }} - {{ number_format($saldoAkhir, 2, ',', '.') }}- {{ number_format($val->nominal, 2, ',', '.') }} {{ number_format($saldoAkhir, 2, ',', '.') }}- {{ number_format($val->nominal, 2, ',', '.') }} {{ number_format($saldoAkhir, 2, ',', '.') }}{{ number_format($val->nominal, 2, ',', '.') }} - {{ number_format($saldoAkhir, 2, ',', '.') }}
Total {{ number_format($totalDebit, 2, ',', '.') }} {{ number_format($totalKredit, 2, ',', '.') }}

@endforeach