MIF_E31220480/app/Models/Keuangan.php

47 lines
1.3 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
class Keuangan extends Model
{
protected $table = 'transaksi';
public function getLaporanKeuangan()
{
$query = "
SELECT
tahun,
bulan,
SUM(total_pemasukan) AS total_pemasukan,
SUM(total_pengeluaran) AS total_pengeluaran,
SUM(total_pemasukan - total_pengeluaran) AS keuntungan_bersih
FROM (
SELECT
YEAR(tanggal_pembayaran) AS tahun,
MONTH(tanggal_pembayaran) AS bulan,
SUM(jumlah_pembayaran) AS total_pemasukan,
0 AS total_pengeluaran
FROM transaksi
WHERE status_transaksi = 'Lunas'
GROUP BY YEAR(tanggal_pembayaran), MONTH(tanggal_pembayaran)
UNION ALL
SELECT
YEAR(tanggal_pengeluaran) AS tahun,
MONTH(tanggal_pengeluaran) AS bulan,
0 AS total_pemasukan,
SUM(jumlah_pengeluaran) AS total_pengeluaran
FROM pengeluaran
GROUP BY YEAR(tanggal_pengeluaran), MONTH(tanggal_pengeluaran)
) AS gabungan
GROUP BY tahun, bulan
ORDER BY tahun DESC, bulan DESC
";
return DB::select($query);
}
}