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

class ControllerBeranda 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();
        $data_id_login                = $this->session->userdata('isloggedin');
        $tampil_tahun                 = $this->select_model->getDataTahunTransaksi();
        // KAS Umum Koperasi
        $masuk_kasharian              = $this->select_model->getDataARusKasArisanMasukHarian();
        $masuk_kasbulanan             = $this->select_model->getDataARusKasArisanMasukBulanan();
        $keluar_kasharian             = $this->select_model->getDataARusKasArisanKeluarHarian();
        $Keluar_kasbulanan            = $this->select_model->getDataARusKasArisanKeluarBulanan();
        // Kas Operasional Koperasi
        $data_kasmasukharian          = $this->select_model->vd_TagihanKoperasiHarian();
        $data_kasmasukbulanan         = $this->select_model->vd_TagihanKoperasiBulanan();
        $data_kaskeluarharian         = $this->select_model->vd_RealisasiKoperasiHarian();
        $data_kaskeluarbulanan        = $this->select_model->vd_RealisasiKoperasiBulanan();
        // Kas Arisan Koperasi
        $data_arisanmasukharianheboh  = $this->select_model->vd_kasMasukArisanHarianHeboh();
        $data_arisanmasukbulananheboh = $this->select_model->vd_kasMasukArisanBulananHeboh();
        $data_arisanmasukharianmotor  = $this->select_model->vd_kasMasukArisanHarianMotor();
        $data_arisanmasukbulananmotor = $this->select_model->vd_kasMasukArisanBulananMotor();
        // Omset atau pendapatan Koperasi
        $data_omset_koperasi_lancar   = $this->select_model->vd_omsetKoperasiLancar();
        $data_omset_koperasi_macet    = $this->select_model->vd_omsetKoperasiMacet();
        $data_omset_realisasi         = $this->select_model->vd_omsetKoperasiRealisasi();
        $data_pendapatankelompok      = $this->select_model->getDataSemuaPendapatanKelompok(); // Menampilkan semua data pendapatan kelompok arisan heboh
        // Kas Operasional Arisan
        // Arisan Heboh
        $data_kaskelompok             = $this->select_model->getDataSemuaKasKelompok(); // Menampilkan total saldo kas kelompok arisan heboh
        // Arisan Motor
        $data_kaslelang               = $this->select_model->getDataSemuaKasLelang(); //Menampilkan semua total saldo kas lelang kelompok arisan motor

        $data_pendapatanlelang        = $this->select_model->getDataSemuaPendapatanLelang(); // menampilkan semua data pendatan kelompok arisan motor
        $data_laporankelompok         = $this->select_model->getDataSemuaLaporanVerifikasi();
        $data_laporanlelang           = $this->select_model->getDataSemuaLaporanLelang();
        $data_arisanheboh_belum       = $this->select_model->getProdukArisanHebohBelum();
        $data_arisanmotor_belum       = $this->select_model->getProdukArisanMotorBelum();
        $data_arisanheboh             = $this->select_model->getProdukArisanHeboh();
        $data_arisanmotor             = $this->select_model->getProdukArisanMotor();
        $data_tunggak                 = $this->select_model->getDataTunggakanArisan();
        $jml_tunggakan                = count($data_tunggak);
        $data = array(
            // Untuk memanggil halaman sesuai menu
            'folder' => 'beranda',
            'page'   => 'index',
            'judul'  => 'Beranda Pengurus || Bagian Pengurus',
            // Isi data
            'data_id_login'       => $data_id_login,
            'data_login'          => $data_login,
            'notif'               => $notif,
            'tampil_tahun'        => $tampil_tahun,
            // Data isian konten
            // Data isian konten
            // Bagian Kas Umum Koperasi
            'kuk_masuk_kasharian'     => $masuk_kasharian,
            'kuk_masuk_kasbulanan'    => $masuk_kasbulanan,
            'kuk_keluar_kasharian'    => $keluar_kasharian,
            'kuk_Keluar_kasbulanan'   => $Keluar_kasbulanan,
            // Bagian Kas Operasional Koperasi
            'kok_masuk_kasharian'     => $data_kasmasukharian,
            'kok_masuk_kasbulanan'    => $data_kasmasukbulanan,
            'kok_keluar_kasharian'    => $data_kaskeluarharian,
            'kok_Keluar_kasbulanan'   => $data_kaskeluarbulanan,
            // Bagian Kas Arisan Heboh dan Motor
            'kak_masukharian_heboh'   => $data_arisanmasukharianheboh,
            'kak_masukbulanan_heboh'  => $data_arisanmasukbulananheboh,
            'kak_masukharian_motor'   => $data_arisanmasukharianmotor,
            'kak_masukbulanan_motor'  => $data_arisanmasukbulananmotor,
            // Pendapatan atau Omset Koperasi
            'omset_koperasi_lancar'   => $data_omset_koperasi_lancar,
            'omset_koperasi_macet'    => $data_omset_koperasi_macet,
            'omset_realisasi'         => $data_omset_realisasi,
            'pendapatan_kelompok'     => $data_pendapatankelompok,
            'pendapatan_lelang'       => $data_pendapatanlelang,
            // Hapus
            'kas_kelompok'        => $data_kaskelompok,
            'kas_lelang'          => $data_kaslelang,
            'laporan_kelompok'    => $data_laporankelompok,
            'laporan_lelang'      => $data_laporanlelang,
            'tunggakan'           => $data_tunggak,
            'anggota_nunggak'     => $jml_tunggakan,
            'arisan_heboh_belum'  => $data_arisanheboh_belum,
            'arisan_motor_belum'  => $data_arisanmotor_belum,
            'arisan_heboh'        => $data_arisanheboh,
            'arisan_motor'        => $data_arisanmotor
        );
        $this->load->view('owner/index', $data);
    }
    public function lihat_tanggal()
    {
        // End_notifikasi 
        if (isset($_POST['filterTransaksiKasTanggal'])) :
            $this->_filterKasTanggal();
        endif;
        // End_notifikasi 
        if (isset($_POST['resetTransaksiKasTanggal'])) :
            redirect('owner/');
        endif;
    }
    public function crud()
    {
        if (isset($_POST['simpanAnggotaArisanHeboh'])) {
            $data_inputan = $this->_inputanDaftarAnggotaHeboh();
            $data_anggota = $this->db->get_where('anggota', ['nik' => $data_inputan['nik']])->row_array();
            if ($data_anggota > 0) :
                $anggota_id = $data_anggota['id'];
            else :
                $this->insert_model->simpanCalonAnggotaKoperasi($data_inputan);
                $anggota_baru = $this->db->get_where('anggota', ['nik' => $data_inputan['nik']])->row_array();
                $anggota_id = $anggota_baru['id'];
            endif;
            $data_pengajuan = array(
                'anggota_id'    => $anggota_id,
                'regist_arisan' => $data_inputan['regist_arisan'],
                'rekom_id'      => $this->session->userdata('isloggedin')
            );
            $this->db->insert('p_arisan_pengajuan', $data_pengajuan);
            $this->session->set_flashdata('pesan_berhasil', '<div class="alert alert-success" id="pesan_berhasil" role="alert">Berhasil Mengajukan anggota arisan heboh!</div>');
            redirect('owner');
        }
        if (isset($_POST['simpanAnggotaArisanMotor'])) {
            $data_inputan = $this->_inputanDaftarAnggotaMotor();
            $data_anggota = $this->db->get_where('anggota', ['nik' => $data_inputan['nik']])->row_array();
            if ($data_anggota > 0) :
                $anggota_id = $data_anggota['id'];
            else :
                $this->insert_model->simpanCalonAnggotaKoperasi($data_inputan);
                $anggota_baru = $this->db->get_where('anggota', ['nik' => $data_inputan['nik']])->row_array();
                $anggota_id = $anggota_baru['id'];
            endif;
            $data_pengajuan = array(
                'anggota_id'    => $anggota_id,
                'regist_arisan' => $data_inputan['regist_arisan'],
                'rekom_id'      => $this->session->userdata('isloggedin')
            );
            $this->db->insert('p_arisan_pengajuan', $data_pengajuan);
            $this->session->set_flashdata('pesan_berhasil', '<div class="alert alert-success" id="pesan_berhasil" role="alert">Berhasil Mengajukan anggota arisan motor!</div>');
            redirect('owner');
        }
    }
    private function _filterKasTanggal()
    {
        $notif = $this->notifikasi->notif_owner();
        // Data Login
        $data_login                   = $this->userlogin->user_login();
        $data_id_login                = $this->session->userdata('isloggedin');
        $tampil_tahun                 = $this->select_model->getDataTahunTransaksi();
        // Filter Tanggal
        $bulan                        = htmlspecialchars($this->input->post('bulan_transaksi'));
        $tahun                        = htmlspecialchars($this->input->post('tahun_transaksi'));
        // KAS Umum Koperasi
        $masuk_kasbulanan             = $this->select_model->filter_getDataARusKasArisanMasukBulanan($bulan, $tahun);
        $Keluar_kasbulanan            = $this->select_model->filter_getDataARusKasArisanKeluarBulanan($bulan, $tahun);
        // Kas Operasional Koperasi
        $data_kasmasukbulanan         = $this->select_model->filter_vd_TagihanKoperasiBulanan($bulan, $tahun);
        $data_kaskeluarbulanan        = $this->select_model->filter_vd_RealisasiKoperasiBulanan($bulan, $tahun);
        // Kas Arisan Koperasi

        $data_arisanmasukbulananheboh = $this->select_model->filter_vd_kasMasukArisanBulananHeboh($bulan, $tahun);
        $data_arisanmasukbulananmotor = $this->select_model->filter_vd_kasMasukArisanBulananMotor($bulan, $tahun);
        // Omset atau pendapatan Koperasi
        $data_omset_koperasi_lancar   = $this->select_model->filter_vd_omsetKoperasiLancar($bulan, $tahun);
        $data_omset_koperasi_macet    = $this->select_model->filter_vd_omsetKoperasiMacet($bulan, $tahun);
        $data_omset_realisasi         = $this->select_model->filter_vd_omsetKoperasiRealisasi($bulan, $tahun);
        $data_pendapatankelompok      = $this->select_model->filter_getDataSemuaPendapatanKelompok($bulan, $tahun); // Menampilkan semua data pendapatan kelompok arisan heboh
        // Kas Operasional Arisan
        // Arisan Heboh
        $data_kaskelompok             = $this->select_model->filter_getDataSemuaKasKelompok($bulan, $tahun); // Menampilkan total saldo kas kelompok arisan heboh
        // Arisan Motor
        $data_kaslelang               = $this->select_model->filter_getDataSemuaKasLelang($bulan, $tahun); //Menampilkan semua total saldo kas lelang kelompok arisan motor
        $data_pendapatanlelang        = $this->select_model->filter_getDataSemuaPendapatanLelang($bulan, $tahun); // menampilkan semua data pendatan kelompok arisan motor
        $data_laporankelompok         = $this->select_model->filter_getDataSemuaLaporanVerifikasi($bulan, $tahun);
        $data_laporanlelang           = $this->select_model->filter_getDataSemuaLaporanLelang($bulan, $tahun);
        $data = array(
            // Untuk memanggil halaman sesuai menu
            'folder' => 'beranda_filter',
            'page'   => 'index',
            'judul'  => 'Beranda Pengurus || Bagian Pengurus',
            'bulan'  => $bulan,
            'tahun'  => $tahun,
            // Isi data
            'data_id_login'       => $data_id_login,
            'data_login'          => $data_login,
            'notif'               => $notif,
            'tampil_tahun'        => $tampil_tahun,
            // Data isian konten
            // Data isian konten
            // Bagian Kas Umum Koperasi
            'kuk_masuk_kasbulanan'    => $masuk_kasbulanan,
            'kuk_Keluar_kasbulanan'   => $Keluar_kasbulanan,
            // Bagian Kas Operasional Koperasi
            'kok_masuk_kasbulanan'    => $data_kasmasukbulanan,
            'kok_Keluar_kasbulanan'   => $data_kaskeluarbulanan,
            // Bagian Kas Arisan Heboh dan Motor
            'kak_masukbulanan_heboh'  => $data_arisanmasukbulananheboh,
            'kak_masukbulanan_motor'  => $data_arisanmasukbulananmotor,
            // Pendapatan atau Omset Koperasi
            'omset_koperasi_lancar'   => $data_omset_koperasi_lancar,
            'omset_koperasi_macet'    => $data_omset_koperasi_macet,
            'omset_realisasi'         => $data_omset_realisasi,
            'pendapatan_kelompok'     => $data_pendapatankelompok,
            'pendapatan_lelang'       => $data_pendapatanlelang,
            // Hapus
            'kas_kelompok'            => $data_kaskelompok,
            'kas_lelang'              => $data_kaslelang,
            'laporan_kelompok'        => $data_laporankelompok,
            'laporan_lelang'          => $data_laporanlelang
        );
        $this->load->view('owner/index', $data);
    }
    private function _inputanDaftarAnggotaHeboh()
    {
        $regist_arisan     = htmlspecialchars($this->input->post('regist_arisan'));
        $nik               = htmlspecialchars($this->input->post('nik_anggota'));
        $nm_anggota        = htmlspecialchars($this->input->post('tah_nm_anggota'));
        $login_id          = htmlspecialchars($this->input->post('login_id'));
        $jk                = htmlspecialchars($this->input->post('tah_jk'));
        $alamat_lengkap    = htmlspecialchars($this->input->post('tah_alamat_lengkap'));
        $kode_pos          = htmlspecialchars($this->input->post('tah_kode_pos'));
        $nm_rt             = htmlspecialchars($this->input->post('tah_nm_rt'));
        $nm_rw             = htmlspecialchars($this->input->post('tah_nm_rw'));
        $nm_desa           = htmlspecialchars($this->input->post('tah_nm_desa'));
        $nm_kecamatan      = htmlspecialchars($this->input->post('tah_nm_kecamatan'));
        $kot_kab           = htmlspecialchars($this->input->post('tah_kot_kab'));
        $prov              = htmlspecialchars($this->input->post('tah_prov'));
        $tempat_lahir      = htmlspecialchars($this->input->post('tah_tempat_lahir'));
        $tgl_lahir         = htmlspecialchars($this->input->post('tah_tgl_lahir'));
        $no_hp             = htmlspecialchars($this->input->post('tah_no_hp'));
        $pekerjaan         = htmlspecialchars($this->input->post('tah_pekerjaan'));
        $suami_istri       = htmlspecialchars($this->input->post('tah_suami_istri'));
        $foto_ktp          = htmlspecialchars($this->input->post('foto_ktp'));
        $data_inputan = array(
            'regist_arisan'  => $regist_arisan,
            'nik'            => $nik,
            'nm_anggota'     => $nm_anggota,
            'login_id'       => $login_id,
            'jk'             => $jk,
            'alamat_lengkap' => $alamat_lengkap,
            'kode_pos'       => $kode_pos,
            'nm_rt'          => $nm_rt,
            'nm_rw'          => $nm_rw,
            'nm_desa'        => $nm_desa,
            'nm_kecamatan'   => $nm_kecamatan,
            'kot_kab'        => $kot_kab,
            'prov'           => $prov,
            'tempat_lahir'   => $tempat_lahir,
            'tgl_lahir'      => $tgl_lahir,
            'no_hp'          => $no_hp,
            'pekerjaan'      => $pekerjaan,
            'suami_istri'    => $suami_istri,
            'foto_ktp'       => $foto_ktp
        );
        return $data_inputan;
    }
    private function _inputanDaftarAnggotaMotor()
    {
        $regist_arisan     = htmlspecialchars($this->input->post('regist_arisan'));
        $nik               = htmlspecialchars($this->input->post('nik_motor'));
        $nm_anggota        = htmlspecialchars($this->input->post('tam_nm_anggota'));
        $login_id          = htmlspecialchars($this->input->post('login_id'));
        $jk                = htmlspecialchars($this->input->post('tam_jk'));
        $alamat_lengkap    = htmlspecialchars($this->input->post('tam_alamat_lengkap'));
        $kode_pos          = htmlspecialchars($this->input->post('tam_kode_pos'));
        $nm_rt             = htmlspecialchars($this->input->post('tam_nm_rt'));
        $nm_rw             = htmlspecialchars($this->input->post('tam_nm_rw'));
        $nm_desa           = htmlspecialchars($this->input->post('tam_nm_desa'));
        $nm_kecamatan      = htmlspecialchars($this->input->post('tam_nm_kecamatan'));
        $kot_kab           = htmlspecialchars($this->input->post('tam_kot_kab'));
        $prov              = htmlspecialchars($this->input->post('tam_prov'));
        $tempat_lahir      = htmlspecialchars($this->input->post('tam_tempat_lahir'));
        $tgl_lahir         = htmlspecialchars($this->input->post('tam_tgl_lahir'));
        $no_hp             = htmlspecialchars($this->input->post('tam_no_hp'));
        $pekerjaan         = htmlspecialchars($this->input->post('tam_pekerjaan'));
        $suami_istri       = htmlspecialchars($this->input->post('tam_suami_istri'));
        $foto_ktp          = htmlspecialchars($this->input->post('foto_ktp'));
        $data_inputan = array(
            'regist_arisan'  => $regist_arisan,
            'nik'            => $nik,
            'nm_anggota'     => $nm_anggota,
            'login_id'       => $login_id,
            'jk'             => $jk,
            'alamat_lengkap' => $alamat_lengkap,
            'kode_pos'       => $kode_pos,
            'nm_rt'          => $nm_rt,
            'nm_rw'          => $nm_rw,
            'nm_desa'        => $nm_desa,
            'nm_kecamatan'   => $nm_kecamatan,
            'kot_kab'        => $kot_kab,
            'prov'           => $prov,
            'tempat_lahir'   => $tempat_lahir,
            'tgl_lahir'      => $tgl_lahir,
            'no_hp'          => $no_hp,
            'pekerjaan'      => $pekerjaan,
            'suami_istri'    => $suami_istri,
            'foto_ktp'       => $foto_ktp
        );
        return $data_inputan;
    }
}

/* End of file ControllerBeranda.php and path \application\controllers\keuangan\ControllerBeranda.php */