<?php
defined('BASEPATH') or exit('No direct script access allowed');

class ControllerPinjaman extends CI_Controller
{

    public function __construct()
    {
        parent::__construct();
        //validasi jika user belum login
        check_not_login();
        if ($this->session->userdata('level') != 1) {
            redirect();
        }
        $this->set_timezone();
        $this->load->library('encrypt');
        $this->load->library('form_validation');
        $this->load->library('Mycustom');
        $this->load->library('pdfgenerator');
        $this->load->library('Notifikasi');
        $this->load->model('bagian_owner/insert_model');
        $this->load->model('bagian_owner/select_model');
        $this->load->model('bagian_owner/update_model');
    }
    public function set_timezone()
    {
        date_default_timezone_set("Asia/Jakarta");
    }
    public function index()
    {
        $notif = $this->notifikasi->notif_owner();
        // Data Login
        $data_login            = $this->userlogin->user_login(); // Menampilkan siapa yang login
        $data_id_login         = $this->session->userdata('isloggedin'); // Menampilkan data session
        $tampil_tahun          = $this->select_model->getDataTahunTransaksi();
        // Data Isian Konten
        // Query SQL Data atau isi data page
        // Menampilkan saldo realisasi pinjaman hari ini 
        $realisasi_hari_ini   = $this->select_model->vd_RealisasiKoperasiHarian(); // Menampilkan saldo realisasi pinjaman hari ini
        // Menampilkan saldo realisasi pinjaman bulan ini
        $realisasi_bulan_ini      = $this->select_model->vd_RealisasiKoperasiBulanan(); // Menampilkan saldo realisasi pinjaman bulan ini
        $mingguan_bulan_ini       = $this->select_model->vd_MingguanKoperasiBulanan(); // Menampilkan saldo realisasi pinjaman bulan ini
        $dua_mingguan_bulan_ini   = $this->select_model->vd_2MingguanKoperasiBulanan(); // Menampilkan saldo realisasi pinjaman bulan ini
        $bulanan_ca_bulan_ini     = $this->select_model->vd_CAKoperasiBulanan(); // Menampilkan saldo realisasi pinjaman bulan ini
        $bulanan_a_bulan_ini      = $this->select_model->vd_AKoperasiBulanan(); // Menampilkan saldo realisasi pinjaman bulan ini
        $bulanan_k_bulan_ini      = $this->select_model->vd_KKoperasiBulanan(); // Menampilkan saldo realisasi pinjaman bulan ini
        $musiman_bulan_ini        = $this->select_model->vd_MusimanKoperasiBulanan(); // Menampilkan saldo realisasi pinjaman bulan ini
        // Menampilkan saldo realisasi pinjaman tahun ini
        $realisasi_tahun_ini  = $this->select_model->vd_RealisasiKoperasiTahunan(); // Menampilkan saldo realisasi pinjaman tahun ini
        // Menampilkan saldo realisasi pinjaman semua data
        $realisasi_semua_data = $this->select_model->vd_RealisasiKoperasiSemua(); // Menampilkan saldo realisasi pinjaman semua data
        // View Data Marketing ( vd_marketing )
        $data_marketing       = $this->select_model->getDataKaryawanMarketing(); // View Data Marketing ( vd_marketing )
        // Menampilkan Jumlah realisasi pinjaman
        $jml_realisasi_tgl    = $this->select_model->vd_jmlRealisasiPinjamanTglLoginID();
        $jml_realisasi_bln    = $this->select_model->vd_jmlRealisasiPinjamanBlnLoginID();
        $jml_realisasi_thn    = $this->select_model->vd_jmlRealisasiPinjamanThnLoginID();
        $jml_realisasi_all    = $this->select_model->vd_jmlRealisasiPinjamanAllLoginID();
        // Menampilkan Jumlah realisasi pinjaman
        $jml_aktif            = $this->select_model->vd_jmlAktifPinjamanLoginID();
        $jml_lunas            = $this->select_model->vd_jmlLunasPinjamanLoginID();
        $jml_macet            = $this->select_model->vd_jmlMacetPinjamanLoginID();
        // echo '<pre>';
        // var_dump($realisasi_bulan_ini);
        // die;


        $data = array(
            // Untuk memanggil halaman sesuai menu
            'folder'              => 'laporan/koperasi/marketing/',
            'page'                => 'index',
            'judul'               => 'Daftar Laporan Pinjaman Koperasi || Bagian Pengurus',
            'data_id_login'       => $data_id_login,
            'data_login'          => $data_login,
            'notif'               => $notif,
            'tampil_tahun'        => $tampil_tahun,
            // Isi data
            // Saldo Realisasi
            'hari_ini'   => $realisasi_hari_ini,
            'bulan_ini'  => $realisasi_bulan_ini,
            'tahun_ini'  => $realisasi_tahun_ini,
            'semua_data' => $realisasi_semua_data,
            // Data Marketing Aktif
            'marketing'  => $data_marketing,
            // Jumlah Realisasi
            'rtgl'       => $jml_realisasi_tgl,
            'rbln'       => $jml_realisasi_bln,
            'rthn'       => $jml_realisasi_thn,
            'rall'       => $jml_realisasi_all,
            // Realisasi per produk
            'rmingguan'       => $mingguan_bulan_ini,
            'r2mingguan'      => $dua_mingguan_bulan_ini,
            'rcabulanan'      => $bulanan_ca_bulan_ini,
            'rabulanan'       => $bulanan_a_bulan_ini,
            'rkbulanan'       => $bulanan_k_bulan_ini,
            'rmbulanan'       => $musiman_bulan_ini,
            // Jumlah Pinjaman
            'aktif'      => $jml_aktif,
            'lunas'      => $jml_lunas,
            'macet'      => $jml_macet
        );
        $this->load->view('owner/index', $data);
    }
    public function marketing($id)
    {
        $marketing_id              = $this->encrypt->decode($id);
        // Notifikasi
        $notif                     = $this->notifikasi->notif_owner();
        $data_login                = $this->userlogin->user_login('isloggedin');
        $data_id_login             = $this->session->userdata('isloggedin');
        $tampil_tahun              = $this->select_model->getDataTahunTransaksi();
        // End Notifikasi
        // Identitas Marketing
        $data_marketing            = $this->db->get_where('sistem_login', ['id' => $marketing_id])->row_array();
        // End Identitas Marketing
        $total_realisasi_marketing = $this->select_model->vd_jmlRealisasiMarketing($marketing_id);
        $total_aktif               = $this->select_model->vd_jmlAktifMarketing($marketing_id);
        $total_macet               = $this->select_model->vd_jmlMacetMarketing($marketing_id);
        $total_lunas               = $this->select_model->vd_jmlLunasMarketing($marketing_id);
        // Pinjaman Marketing
        $data_jaminan              = $this->select_model->vd_jaminanPinjaman();
        $pinjaman_marketing        = $this->select_model->vd_MarketingPinjaman($marketing_id);
        // echo '<pre>';
        // var_dump($pinjaman_marketing);
        // die;
        $data = array(
            // Untuk memanggil halaman sesuai menu
            'folder'              => 'laporan/koperasi/pinjaman/',
            'page'                => 'index',
            'judul'               => 'Daftar Laporan Pinjaman Koperasi || Bagian Pengurus',
            'data_id_login'       => $data_id_login,
            'data_login'          => $data_login,
            'notif'               => $notif,
            'tampil_tahun'        => $tampil_tahun,
            // Isi data
            // Identitas Marketing
            'marketing'           => $data_marketing,
            // Saldo Realisasi
            'realisasi_marketing' => $total_realisasi_marketing,
            'aktif'               => $total_aktif,
            'macet'               => $total_macet,
            'lunas'               => $total_lunas,
            'pinjaman'            => $pinjaman_marketing,
            'data_jaminan'        => $data_jaminan
        );
        $this->load->view('owner/index', $data);
    }
    public function kontrak($id)
    {
        $kontrak_id                = $this->encrypt->decode($id);
        // Notifikasi
        $notif                     = $this->notifikasi->notif_owner();
        // Data Login
        $data_login            = $this->userlogin->user_login();
        $data_id_login         = $this->session->userdata('isloggedin');
        // Rincian Kontrak
        $rincian_kontrak       = $this->db->get_where('p_koperasi_kontrak', ['id' => $kontrak_id])->row_array();
        $data_realisasi        = $this->db->get_where('p_koperasi_progres', ['kontrak_id' => $kontrak_id])->row_array();
        $data_jaminan          = $this->db->get_where('p_koperasi_agungan', ['kontrak_id' => $kontrak_id])->row_array();
        $data_angsuran         = $this->select_model->vd_angsuran($kontrak_id);
        $sudah_bayar           = $this->select_model->vd_SudahBayarAngsuran($kontrak_id);
        // echo '<pre>';
        // var_dump($data_angsuran);
        // die;
        $data = array(
            // Untuk memanggil halaman sesuai menu
            'folder'              => 'laporan/koperasi/kontrak',
            'page'                => 'index',
            'judul'               => 'Detail Kontrak Pinjaman || Bagian Pengurus',
            'data_id_login'       => $data_id_login,
            'data_login'          => $data_login,
            'notif'               => $notif,
            // Isi dalam konten
            'rincian_kontrak'     => $rincian_kontrak,
            'doc'                 => $data_realisasi,
            'jaminan'             => $data_jaminan,
            'data_angsuran'       => $data_angsuran,
            'sudah_bayar'         => $sudah_bayar
        );
        $this->load->view('owner/index', $data);
    }
    // CRUD Cetak Laporan Storting dan Realisasi
    public function realisasi_stroting()
    {
        if (isset($_POST['harianSemuaMarketingCetak'])) :
            $d = htmlspecialchars($this->input->post('tanggal_transaksi'));
            $m = htmlspecialchars($this->input->post('bulan_transaksi'));
            $y = htmlspecialchars($this->input->post('tahun_transaksi'));
            $tgl = $y . '-' . $m . '-' . $d;
            $this->_cetakSemuaLaporanStortingRealisasiHarian($tgl);
        endif;
        if (isset($_POST['bulananSemuaMarketingCetak'])) :
            $bulan        = htmlspecialchars($this->input->post('bulan_transaksi'));
            $tahun        = htmlspecialchars($this->input->post('tahun_transaksi'));
            $this->_cetakSemuaLaporanStortingRealisasiBulanan($bulan, $tahun);
        endif;
        if (isset($_POST['harianMarketingCetak'])) :
            $marketing_id = htmlspecialchars($this->input->post('marketing_id'));
            $d = htmlspecialchars($this->input->post('tanggal_transaksi'));
            $m = htmlspecialchars($this->input->post('bulan_transaksi'));
            $y = htmlspecialchars($this->input->post('tahun_transaksi'));
            $tgl = $y . '-' . $m . '-' . $d;
            $this->_cetakLaporanStortingRealisasiHarian($marketing_id, $tgl);
        endif;
        if (isset($_POST['bulananMarketingCetak'])) :
            $marketing_id = htmlspecialchars($this->input->post('marketing_id'));
            $bulan        = htmlspecialchars($this->input->post('bulan_transaksi'));
            $tahun        = htmlspecialchars($this->input->post('tahun_transaksi'));
            $this->_cetakLaporanStortingRealisasiBulanan($marketing_id, $bulan, $tahun);
        endif;
    }
    // Private Function Cetak Laporan Storting dan Realisasi
    private function _cetakLaporanStortingRealisasiHarian($marketing_id, $tgl)
    {
        // Identitas Marketing
        $identitas_marketing       = $this->db->get_where('sistem_login', ['id' => $marketing_id])->row_array(); // Identitas Marketing
        // Storting Marketing
        $storting_marketing        = $this->select_model->vd_stortingMarketingHarian($marketing_id, $tgl); // Menampilkan Penambahan saldo anggaran dasar koperasi
        $jml_storting              = $this->select_model->vd_stortingTotalMarketingHarian($marketing_id, $tgl); // Menampilkan Penambahan saldo anggaran dasar koperasi
        $jml_pokok                 = $this->select_model->vd_stortingPokokMarketingHarian($marketing_id, $tgl); // Menampilkan Penambahan saldo anggaran dasar koperasi
        $jml_jasa                  = $this->select_model->vd_stortingJasaMarketingHarian($marketing_id, $tgl); // Menampilkan Penambahan saldo anggaran dasar koperasi
        $jml_simpanan              = $this->select_model->vd_stortingSimpananMarketingHarian($marketing_id, $tgl); // Menampilkan Penambahan saldo anggaran dasar koperasi
        $storting_marketing_org    = count($this->select_model->vd_stortingMarketingHarianOrg($marketing_id, $tgl)); // Menampilkan Penambahan saldo anggaran dasar koperasi
        // Target Storting Marketing
        $target_storting           = $this->select_model->vd_stortingTargetMarketingHarian($marketing_id, $tgl);
        $jml_target                = $this->select_model->vd_stortingJmlTargetMarketingHarian($marketing_id, $tgl);
        $jml_target_org            = count($target_storting);
        if ($jml_target['jml_target'] == null) :
            $target_uang = 0;
        else :
            $target_uang = $jml_target['jml_target'];
        endif;
        // Realisasi Pinjaman
        $realisasi_pinjaman        = $this->select_model->vd_realisasiPinjamanMarketing($marketing_id, $tgl);
        $jml_realisasi             = $this->select_model->vd_realisasiJmlPinjamanMarketing($marketing_id, $tgl);
        $jml_realisasi_org         = count($realisasi_pinjaman);
        $opt                       = $this->db->get_where('sistem_option')->row_array();
        $jml_administrasi          = $this->select_model->vd_realisasiJmlAdministrasiMarketing($marketing_id, $tgl);
        $jml_rk                    = $this->select_model->vd_realisasiJmlRKMarketing($marketing_id, $tgl);
        $data = array(
            // Untuk memanggil halaman sesuai menu
            'title_pdf'           => 'Laporan Storting & Realisasi Pinjaman ' . date('d', strtotime($tgl)) . ' ' . $this->mycustom->bulanIndo(date('m', strtotime($tgl))) . ' ' .  date('Y', strtotime($tgl)),
            // Identitas Marketing
            'data_marketing'      => $identitas_marketing,
            'option'              => $opt,
            'tanggal'             => $tgl,
            // Storting Marketing
            'storting'            => $storting_marketing,
            'jml_storting'        => $jml_storting,
            'jml_pokok'           => $jml_pokok,
            'jml_jasa'            => $jml_jasa,
            'jml_simpanan'        => $jml_simpanan,
            'storting_org'        => $storting_marketing_org,
            // Target Storting Marketing
            'target_storting'     => $target_storting,
            'jml_target'          => $target_uang,
            'jml_target_org'      => $jml_target_org,
            // Kinerja Marketing
            // 'nilai_kerja'         => $nilai,
            // Realisasi Pinjaman
            'realisasi'           => $realisasi_pinjaman,
            'jml_realisasi'       => $jml_realisasi,
            'jml_realisasi_org'   => $jml_realisasi_org,
            'jml_admin'           => $jml_administrasi,
            'jml_rk'              => $jml_rk
        );
        // filename dari pdf ketika didownload
        $this->load->view('document/laporan/koperasi_pinjaman/cetak_storting_realisasi_harian', $data);
    }
    // Private Function Cetak Laporan Storting dan Realisasi Bulanan
    private function _cetakLaporanStortingRealisasiBulanan($marketing_id, $bulan, $tahun)
    {
        // Identitas Marketing
        $identitas_marketing       = $this->db->get_where('sistem_login', ['id' => $marketing_id])->row_array(); // Identitas Marketing
        // Storting Marketing
        $storting_marketing        = $this->select_model->vd_stortingMarketingBulanan($marketing_id, $bulan, $tahun); // Menampilkan Penambahan saldo anggaran dasar koperasi
        $jml_storting              = $this->select_model->vd_stortingTotalMarketingBulanan($marketing_id, $bulan, $tahun); // Menampilkan Penambahan saldo anggaran dasar koperasi
        $jml_pokok                 = $this->select_model->vd_stortingPokokMarketingBulanan($marketing_id, $bulan, $tahun); // Menampilkan Penambahan saldo anggaran dasar koperasi
        $jml_jasa                  = $this->select_model->vd_stortingJasaMarketingBulanan($marketing_id, $bulan, $tahun); // Menampilkan Penambahan saldo anggaran dasar koperasi
        $jml_simpanan              = $this->select_model->vd_stortingSimpananMarketingBulanan($marketing_id, $bulan, $tahun); // Menampilkan Penambahan saldo anggaran dasar koperasi
        $storting_marketing_org    = count($this->select_model->vd_stortingMarketingBulananOrg($marketing_id, $bulan, $tahun)); // Menampilkan Penambahan saldo anggaran dasar koperasi
        // Target Storting Marketing
        $target_storting           = $this->select_model->vd_stortingTargetMarketingBulanan($marketing_id, $bulan, $tahun);
        $jml_target                = $this->select_model->vd_stortingJmlTargetMarketingBulanan($marketing_id, $bulan, $tahun);
        $jml_target_org            = count($target_storting);
        if ($jml_target['jml_target'] == null) :
            $target_uang = 0;
        else :
            $target_uang = $jml_target['jml_target'];
        endif;
        // Realisasi Pinjaman
        $realisasi_pinjaman        = $this->select_model->vd_realisasiPinjamanMarketingBulanan($marketing_id, $bulan, $tahun);
        $jml_realisasi             = $this->select_model->vd_realisasiJmlPinjamanMarketingBulanan($marketing_id, $bulan, $tahun);
        $jml_realisasi_org         = count($realisasi_pinjaman);
        $opt                       = $this->db->get_where('sistem_option')->row_array();
        $jml_administrasi          = $this->select_model->vd_realisasiJmlAdministrasiMarketingBulanan($marketing_id, $bulan, $tahun);
        $jml_rk                    = $this->select_model->vd_realisasiJmlRKMarketingBulanan($marketing_id, $bulan, $tahun);
        $data = array(
            // Untuk memanggil halaman sesuai menu
            'title_pdf'           => 'Laporan Storting & Realisasi Pinjaman ' . $this->mycustom->bulanIndo($bulan) . ' ' .  $tahun,
            // Identitas Marketing
            'data_marketing'      => $identitas_marketing,
            'option'              => $opt,
            'bulan'               => $bulan,
            'tahun'               => $tahun,
            // Storting Marketing
            'storting'            => $storting_marketing,
            'jml_storting'        => $jml_storting,
            'jml_pokok'           => $jml_pokok,
            'jml_jasa'            => $jml_jasa,
            'jml_simpanan'        => $jml_simpanan,
            'storting_org'        => $storting_marketing_org,
            // Target Storting Marketing
            'target_storting'     => $target_storting,
            'jml_target'          => $target_uang,
            'jml_target_org'      => $jml_target_org,
            // Kinerja Marketing
            // 'nilai_kerja'         => $nilai,
            // Realisasi Pinjaman
            'realisasi'           => $realisasi_pinjaman,
            'jml_realisasi'       => $jml_realisasi,
            'jml_realisasi_org'   => $jml_realisasi_org,
            'jml_admin'           => $jml_administrasi,
            'jml_rk'              => $jml_rk
        );
        // filename dari pdf ketika didownload
        $this->load->view('document/laporan/koperasi_pinjaman/cetak_storting_realisasi_bulanan', $data);
    }
    // Private Function Cetak Laporan Storting dan Realisasi
    private function _cetakSemuaLaporanStortingRealisasiHarian($tgl)
    {
        $opt                       = $this->db->get_where('sistem_option')->row_array();
        $data_marketing            = $this->select_model->vd_marketingAktf();
        $data_realisasi            = $this->select_model->vd_realisasiSemua($tgl);
        $data_target_storting      = $this->select_model->vd_targetStortingSemua($tgl);
        $data_storting             = $this->select_model->vd_stortingSemua($tgl);
        // View Data Total
        // View Data Realisasi
        $jml_realisasi             = $this->select_model->jml_realisasisemua($tgl);
        $jml_target_storting       = $this->select_model->jml_targetStortingSemua($tgl);
        $jml_storting              = $this->select_model->jml_stortingSemua($tgl);
        // echo '<pre>';
        // var_dump($jml_realisasi);
        // die;
        $data = array(
            // Untuk memanggil halaman sesuai menu
            'title_pdf'           => 'Laporan Storting & Realisasi Pinjaman ' . date('d', strtotime($tgl)) . ' ' . $this->mycustom->bulanIndo(date('m', strtotime($tgl))) . ' ' .  date('Y', strtotime($tgl)),
            // Identitas Marketing
            'option'              => $opt,
            'tanggal'             => $tgl,
            // Data Marketing
            'marketing'           => $data_marketing,
            'realisasi'           => $data_realisasi,
            'target_storting'     => $data_target_storting,
            'storting'            => $data_storting,
            // Data Total Jumlah
            'jml_realisasi'       => $jml_realisasi,
            'jml_target_storting' => $jml_target_storting,
            'jml_storting'        => $jml_storting
        );
        // filename dari pdf ketika didownload
        $this->load->view('document/laporan/koperasi_pinjaman/semua_cetak_storting_realisasi_harian', $data);
    }
    private function _cetakSemuaLaporanStortingRealisasiBulanan($bulan, $tahun)
    {
        $opt                       = $this->db->get_where('sistem_option')->row_array();
        $data_marketing            = $this->select_model->vd_marketingAktf();
        $data_realisasi            = $this->select_model->vd_realisasiSemuaBulanan($bulan, $tahun);
        $data_target_storting      = $this->select_model->vd_targetStortingSemuaBulanan($bulan, $tahun);
        $data_storting             = $this->select_model->vd_stortingSemuaBulanan($bulan, $tahun);
        // View Data Total
        // View Data Realisasi
        $jml_realisasi             = $this->select_model->jml_realisasisemuaBulanan($bulan, $tahun);
        $jml_target_storting       = $this->select_model->jml_targetStortingSemuaBulanan($bulan, $tahun);
        $jml_storting              = $this->select_model->jml_stortingSemuaBulanan($bulan, $tahun);
        // echo '<pre>';
        // var_dump($jml_realisasi);
        // die;
        $data = array(
            // Untuk memanggil halaman sesuai menu
            'title_pdf'           => 'Laporan Storting & Realisasi Pinjaman ' . $this->mycustom->bulanIndo(date('m', $bulan)) . ' ' .  $tahun,
            // Identitas Marketing
            'option'              => $opt,
            'bulan'               => $bulan,
            'tahun'               => $tahun,
            // Data Marketing
            'marketing'           => $data_marketing,
            'realisasi'           => $data_realisasi,
            'target_storting'     => $data_target_storting,
            'storting'            => $data_storting,
            // Data Total Jumlah
            'jml_realisasi'       => $jml_realisasi,
            'jml_target_storting' => $jml_target_storting,
            'jml_storting'        => $jml_storting
        );
        // filename dari pdf ketika didownload
        $this->load->view('document/laporan/koperasi_pinjaman/semua_cetak_storting_realisasi_bulanan', $data);
    }
}

/* End of file ControllerPinjaman.php and path \application\controllers\owner\laporan\koperasi\ControllerPinjaman.php */