<?php

//Hak Cipta dilindungi Undang-undang. Hak Cipta : Khamdi Rahmani, Reg. Kemenkum HAM No : 000121327. Dilarang merubah isi File tanpa ijin tertulis dari pemegang Hak Cipta. 

class tabungan_laporan
{
    //------------------ LAPORAN TRANSAKSI -----------------------//
    public function FilterPenerima()
    {
        $db = database::getInstance();
        $Penerima = $db->runQuery("SELECT * FROM   user where level='tabungan'  order by nama asc");
        return $Penerima;
    }

    public function TransaksiDetail($tabel, $tanggal1, $tanggal2, $penerima)
    {
        if ($penerima == "Semua") {
            $v_penerima = "";
        } else {
            $v_penerima = "and created_by='{$penerima}'";
        };

        $db = database::getInstance();
        $show = $db->runQuery("SELECT * FROM {$tabel} WHERE tanggal>='$tanggal1' and tanggal<='$tanggal2' $v_penerima order by created_at desc");
        return $show;
    }

    public function rekapbyJenis($table, $jenis, $tanggal1, $tanggal2, $penerima)
    {
        if ($penerima == "Semua") {
            $filterpenerima = "";
        } else {
            $filterpenerima = "and created_by='{$penerima}'";
        };

        $db = database::getInstance();
        $sum = $db->runQuery("SELECT SUM(jumlah) FROM {$table} where jenis='{$jenis}' and tanggal>='{$tanggal1}' and tanggal<='{$tanggal2}' {$filterpenerima} ");
        $data = $sum->fetch();
        $value = $data[0];
        return $value;
    }
    public function rekapTotalSaldoAwal($table, $kondisi)
    {
        $db = database::getInstance();
        $sum = $db->runQuery("SELECT SUM(saldo) FROM {$table} {$kondisi} ");
        $data = $sum->fetch();
        $value = $data[0];
        return $value;
    }
    public function rekapTotalbyJenis($table, $jenis, $kondisi)
    {
        if ($kondisi == "") {
            $kondisi = "";
        } else {
            $kondisi = "and {$kondisi}";
        }
        $db = database::getInstance();
        $sum = $db->runQuery("SELECT SUM(jumlah) FROM {$table} where jenis='{$jenis}' {$kondisi}");
        $data = $sum->fetch();
        $value = $data[0];
        return $value;
    }

    //----SAMPAH--
    public function ShowjenisBayar($tahun, $jenjang)
    {
        $db = database::getInstance();
        $jenisBayar = $db->runQuery("SELECT * FROM tb_nama_bayar WHERE tp='{$tahun}' and kelas='{$jenjang}'");
        return $jenisBayar;
    }
    public function TransaksisubTotalJenis($tabel, $jenis, $tanggal1, $tanggal2, $penerima, $metode, $jenjang)
    {
        if ($penerima == "Semua") {
            $v_penerima = "";
        } else {
            $v_penerima = "and penerima='{$penerima}'";
        };
        if ($metode == "Semua") {
            $v_metode = "";
        } else {
            $v_metode = "and metode='{$metode}'";
        };
        if ($jenjang == "Semua") {
            $v_jenjang = "";
        } else {
            $v_jenjang = "and jenjang='{$jenjang}'";
        };

        $format = new format();
        $tgl1 = $format->dateToEng($tanggal1);
        $tgl2 = $format->dateToEng($tanggal2);

        $db = database::getInstance();
        $show = $db->runQuery("SELECT SUM(jumlah)  FROM   {$tabel}  WHERE tanggal>='$tgl1' and tanggal<='$tgl2' and jenis='$jenis' $v_penerima $v_metode $v_jenjang ");
        $data = $show->fetch();
        $value = $data[0];
        if ($value == "" || $value == 0) {
            $jumlah = number_format(0, 2, ",", ".");
        } else {
            $jumlah = number_format($value, 2, ",", ".");
        };
        return $jumlah;
    }
    public function TransaksisubTotalJenjang($tabel, $tanggal1, $tanggal2, $penerima, $metode, $jenjang)
    {
        if ($penerima == "Semua") {
            $v_penerima = "";
        } else {
            $v_penerima = "and penerima='{$penerima}'";
        };
        if ($metode == "Semua") {
            $v_metode = "";
        } else {
            $v_metode = "and metode='{$metode}'";
        };
        if ($jenjang == "Semua") {
            $v_jenjang = "";
        } else {
            $v_jenjang = "and jenjang='{$jenjang}'";
        };

        $format = new format();
        $tgl1 = $format->dateToEng($tanggal1);
        $tgl2 = $format->dateToEng($tanggal2);

        $db = database::getInstance();
        $show = $db->runQuery("SELECT SUM(jumlah)  FROM   {$tabel}  WHERE tanggal>='$tgl1' and tanggal<='$tgl2' $v_penerima $v_metode $v_jenjang ");
        $data = $show->fetch();
        $value = $data[0];
        if ($value == "" || $value == 0) {
            $jumlah = number_format(0, 2, ",", ".");;
        } else {
            $jumlah = number_format($value, 2, ",", ".");
        };
        return $jumlah;
    }
    public function TransaksiTotal($tabel, $tanggal1, $tanggal2, $penerima, $metode)
    {
        if ($penerima == "Semua") {
            $v_penerima = "";
        } else {
            $v_penerima = "and penerima='{$penerima}'";
        };
        if ($metode == "Semua") {
            $v_metode = "";
        } else {
            $v_metode = "and metode='{$metode}'";
        };

        $format = new format();
        $tgl1 = $format->dateToEng($tanggal1);
        $tgl2 = $format->dateToEng($tanggal2);

        $db = database::getInstance();
        $show = $db->runQuery("SELECT SUM(jumlah) FROM {$tabel}  WHERE tanggal>='$tgl1' and tanggal<='$tgl2' $v_penerima $v_metode");
        $data = $show->fetch();
        $value = $data[0];
        if ($value == "" || $value == 0) {
            $jumlah = number_format(0, 2, ",", ".");;
        } else {
            $jumlah = number_format($value, 2, ",", ".");
        };
        return $jumlah;
    }

    public function CountRecordJenis($tabel, $jenis, $tanggal1, $tanggal2, $penerima, $metode, $jenjang, $paralel)
    {
        if ($penerima == "Semua") {
            $v_penerima = "";
        } else {
            $v_penerima = "and penerima='{$penerima}'";
        };
        if ($metode == "Semua") {
            $v_metode = "";
        } else {
            $v_metode = "and metode='{$metode}'";
        };
        if ($jenjang == "Semua") {
            $v_jenjang = "";
        } else {
            $v_jenjang = "and jenjang='{$jenjang}'";
        };
        if ($jenjang == "Semua") {
            $v_jenjang = "";
        } else {
            $v_jenjang = "and jenjang='{$jenjang}'";
        };
        if ($paralel == "Semua") {
            $v_paralel = "";
        } else {
            $v_paralel = "and paralel='{$paralel}'";
        };

        $format = new format();
        $tgl1 = $format->dateToEng($tanggal1);
        $tgl2 = $format->dateToEng($tanggal2);

        $db = database::getInstance();
        $result = $db->runQuery("SELECT * FROM {$tabel} WHERE tanggal>='$tgl1' and tanggal<='$tgl2'  and jenis='$jenis' $v_penerima $v_metode $v_jenjang $v_paralel");
        $jmldata = $result->rowCount();
        return $jmldata;
    }
    public function CountRecordJenjang($tabel, $tanggal1, $tanggal2, $penerima, $metode, $jenjang)
    {
        if ($penerima == "Semua") {
            $v_penerima = "";
        } else {
            $v_penerima = "and penerima='{$penerima}'";
        };
        if ($metode == "Semua") {
            $v_metode = "";
        } else {
            $v_metode = "and metode='{$metode}'";
        };
        if ($jenjang == "Semua") {
            $v_jenjang = "";
        } else {
            $v_jenjang = "and jenjang='{$jenjang}'";
        };
        if ($jenjang == "Semua") {
            $v_jenjang = "";
        } else {
            $v_jenjang = "and jenjang='{$jenjang}'";
        };

        $format = new format();
        $tgl1 = $format->dateToEng($tanggal1);
        $tgl2 = $format->dateToEng($tanggal2);

        $db = database::getInstance();
        $result = $db->runQuery("SELECT * FROM {$tabel} WHERE tanggal>='$tgl1' and tanggal<='$tgl2'  $v_penerima $v_metode $v_jenjang ");
        $jmldata = $result->rowCount();
        return $jmldata;
    }
    public function CountRecordAll($tabel, $tanggal1, $tanggal2, $penerima, $metode, $jenjang, $paralel)
    {
        if ($penerima == "Semua") {
            $v_penerima = "";
        } else {
            $v_penerima = "and penerima='{$penerima}'";
        };
        if ($metode == "Semua") {
            $v_metode = "";
        } else {
            $v_metode = "and metode='{$metode}'";
        };
        if ($jenjang == "Semua") {
            $v_jenjang = "";
        } else {
            $v_jenjang = "and jenjang='{$jenjang}'";
        };
        if ($jenjang == "Semua") {
            $v_jenjang = "";
        } else {
            $v_jenjang = "and jenjang='{$jenjang}'";
        };
        if ($paralel == "Semua") {
            $v_paralel = "";
        } else {
            $v_paralel = "and paralel='{$paralel}'";
        };

        $format = new format();
        $tgl1 = $format->dateToEng($tanggal1);
        $tgl2 = $format->dateToEng($tanggal2);

        $db = database::getInstance();
        $result = $db->runQuery("SELECT * FROM {$tabel} WHERE tanggal>='$tgl1' and tanggal<='$tgl2' $v_penerima $v_metode $v_jenjang $v_paralel");
        $jmldata = $result->rowCount();
        return $jmldata;
    }

    //------------------ LAPORAN REKAPITULASI ---------------------//
    public function showRekap($table, $jenjang, $paralel, $sort)
    {
        if ($jenjang == "Semua") {
            $v_jenjang = "";
        } else {
            $v_jenjang = "and jenjang='{$jenjang}'";
        };
        if ($paralel == "Semua") {
            $v_paralel = "";
        } else {
            $v_paralel = "and paralel='{$paralel}'";
        };

        $db = database::getInstance();
        $data = $db->runQuery("SELECT * FROM   {$table}  WHERE nis!='' $v_jenjang $v_paralel order by {$sort}");
        return $data;
    }

    //------------------ LAPORAN REKAPITULASI M-3 TAHAP ------------------//
    public function sumTahap($table, $tahap, $nis, $filterJenis)
    {
        $db = database::getInstance();
        $sum = $db->runQuery("SELECT SUM(jumlah) FROM {$table} where tahap='{$tahap}' and nis='{$nis}' {$filterJenis}");
        $data = $sum->fetch();
        $value = $data[0];
        if ($value == "" || $value  == 0) {
            $jumlah = number_format(0, 0, ",", ".");
        } else {
            $jumlah = number_format($value, 0, ",", ".");
        };
        return $jumlah;
    }
    public function totalTahap($table, $tahap, $jenjang, $paralel, $filterJenis)
    {
        if ($jenjang == "Semua" && $paralel == "Semua") {
            $filterkelas = "";
        } elseif ($jenjang == "Semua" && $paralel != "Semua") {
            $filterkelas = "and paralel='{$paralel}'";
        } elseif ($jenjang != "Semua" && $paralel == "Semua") {
            $filterkelas = "and jenjang='{$jenjang}'";
        } elseif ($jenjang != "Semua" && $paralel != "Semua") {
            $filterkelas = "and jenjang='{$jenjang}' and paralel='{$paralel}'";
        };

        $db = database::getInstance();
        $sum = $db->runQuery("SELECT SUM(jumlah) FROM {$table} where tahap='{$tahap}' {$filterkelas} {$filterJenis}");
        $data = $sum->fetch();
        $value = $data[0];
        if ($value > 0 && (isset($_POST['jenjang']) || isset($_GET['jenjang']))) {
            $jumlah = number_format($value, 0, ",", ".");
        } else {
            $jumlah = number_format(0, 0, ",", ".");
        };
        return $jumlah;
    }
    public function totalTahapModel4($table, $tahap, $nis)
    {
        $db = database::getInstance();
        $sum = $db->runQuery("SELECT SUM(jumlah) FROM {$table} where tahap='{$tahap}' and nis='{$nis}'");
        $data = $sum->fetch();
        $value = $data[0];
        if ($value > 0 && (isset($_POST['jenjang']) || isset($_GET['jenjang']))) {
            $jumlah = number_format($value, 0, ",", ".");
        } else {
            $jumlah = number_format(0, 0, ",", ".");
        };
        return $jumlah;
    }
    public function totalTahapModel4Xlsx($table, $tahap, $nis)
    {
        $db = database::getInstance();
        $sum = $db->runQuery("SELECT SUM(jumlah) FROM {$table} where tahap='{$tahap}' and nis='{$nis}'");
        $data = $sum->fetch();
        $value = $data[0];
        if ($value > 0 && (isset($_POST['jenjang']) || isset($_GET['jenjang']))) {
            $jumlah = $value;
        } else {
            $jumlah = 0;
        };
        return $jumlah;
    }
    public function sumTahapXlsx($table, $tahap, $nis, $filterJenis)
    {
        $db = database::getInstance();
        $sum = $db->runQuery("SELECT SUM(jumlah) FROM {$table} where tahap='{$tahap}' and nis='{$nis}'  {$filterJenis}");
        $data = $sum->fetch();
        $value = $data[0];
        if ($value == "" || $value  == 0) {
            $jumlah = 0;
        } else {
            $jumlah = $value;
        };
        return $jumlah;
    }
    public function walikelas($jenjang, $paralel)
    {
        $db = database::getInstance();
        $clsCrud = new crudData;
        if ($clsCrud->countData("tb_walikelas", "where jenjang='$jenjang' and paralel='$paralel'") > 0) {
            $qry = $db->runQuery("SELECT * FROM   tb_walikelas  WHERE jenjang='$jenjang' and paralel='$paralel'");
            $data = $qry->fetch(PDO::FETCH_OBJ);
            $value = $data->nama;
        } else {
            $value = "--";
        }
        return $value;
    }


    public function listBulan($bulan, $tahun)
    {

        if ($bulan == 1 || $bulan == "01") {
            $periode = "Juli " . substr($tahun, 0, 4);
        } elseif ($bulan == 2 || $bulan == "02") {
            $periode = "Agustus " . substr($tahun, 0, 4);
        } elseif ($bulan == 3 || $bulan == "03") {
            $periode = "September " . substr($tahun, 0, 4);
        } elseif ($bulan == 4 || $bulan == "04") {
            $periode = "Oktober " . substr($tahun, 0, 4);
        } elseif ($bulan == 5 || $bulan == "05") {
            $periode = "November " . substr($tahun, 0, 4);
        } elseif ($bulan == 6 || $bulan == "06") {
            $periode = "Desember " . substr($tahun, 0, 4);
        } elseif ($bulan == 7 || $bulan == "07") {
            $periode = "Januari " . substr($tahun, 5, 4);
        } elseif ($bulan == 8 || $bulan == "08") {
            $periode = "Februari " . substr($tahun, 5, 4);
        } elseif ($bulan == 9 || $bulan == "09") {
            $periode = "Maret " . substr($tahun, 5, 4);
        } elseif ($bulan == 10 || $bulan == "10") {
            $periode = "April " . substr($tahun, 5, 4);
        } elseif ($bulan == 11 || $bulan == "11") {
            $periode = "Mei " . substr($tahun, 5, 4);
        } elseif ($bulan == 12 || $bulan == "12") {
            $periode = "Juni " . substr($tahun, 5, 4);
        };

        return $periode;
    }
};
