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

class ControllerLaporanHeboh 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
        // Data Isian Konten
        // Query SQL Data atau isi data page
        $data_arisan_heboh    = $this->select_model->getAllDataArisanHeboh(); // Menampilkan data semua produk arisan heboh
        $jumlah_anggota       = $this->select_model->getDataJmlAnggotaHeboh(); // Menampilkan data semua anggota Aktif produk arisan heboh
        $anggota_menang       = $this->select_model->getDataJmlAnggotaHebohMenang(); // Menampilkan data semua anggota Menang produk arisan heboh
        $anggota_mundur       = $this->select_model->getDataJmlAnggotaHebohMundur(); // Menampilkan data semua anggota Mundur produk arisan heboh
        $jml_laporan          = $this->select_model->getJumlahLaporanArisan(); // Menampilkan data semua produk arisan heboh
        $jml_laporanverif     = $this->select_model->getJumlahLaporanArisanVerif(); // Menampilkan data semua produk arisan heboh
        // echo '<pre>';
        // var_dump($jml_laporanverif);
        // die;

        $data = array(
            // Untuk memanggil halaman sesuai menu
            'folder'              => 'laporan/arisan/heboh',
            'page'                => 'index',
            'judul'               => 'Daftar Laporan Arisan Heboh || Bagian Pengurus',
            'data_id_login'       => $data_id_login,
            'data_login'          => $data_login,
            'notif'               => $notif,
            // Isi data
            'data_arisan_heboh' => $data_arisan_heboh,
            'jml_anggota'       => $jumlah_anggota,
            'anggota_menang'    => $anggota_menang,
            'anggota_mundur'    => $anggota_mundur,
            'jml_laporan'       => $jml_laporan,
            'laporan_verif'     => $jml_laporanverif
        );
        $this->load->view('owner/index', $data);
    }
    public function list($id)
    {
        $notif                = $this->notifikasi->notif_owner();
        $regist_arisan        = $this->encrypt->decode($id);
        // Data Login
        $data_login           = $this->userlogin->user_login(); // Menampilkan siapa yang login
        $data_id_login        = $this->session->userdata('isloggedin'); // Menampilkan data session
        // Data Isian Konten
        // Query SQL Data atau isi data page
        $identitas_arisan     = $this->select_model->getDataArisanHebohKelompok($regist_arisan);
        $pendapatan_heboh     = $this->select_model->getPendapatanArisanHebohKelompok($regist_arisan);
        $kas_heboh_bulan      = $this->select_model->getDataKasArisanHebohBulanKelompok($regist_arisan);
        $kas_heboh_seluruh    = $this->select_model->getDataKasArisanHebohSeluruhKelompok($regist_arisan);
        $data_laporan         = $this->select_model->getSemuaLaporanArisanHebohKelompok($regist_arisan); // Data Anggota Pemenang Arisan
        $laporan_verifikasi   = $this->select_model->getVerifikasiLaporanArisanHebohKelompok($regist_arisan); // Data Anggota Pemenang Arisan
        $jml_verifikasi       = count($laporan_verifikasi); // Data Anggota Pemenang Arisan
        $data = array(
            // Untuk memanggil halaman sesuai menu
            'folder'              => 'laporan/arisan/heboh',
            'page'                => 'list_laporan',
            'judul'               => 'Detail Laporan Arisan Heboh || Bagian Manager',
            'data_id_login'       => $data_id_login,
            'data_login'          => $data_login,
            'notif'               => $notif,
            // Isi data
            'kas_bulanan'         => $kas_heboh_bulan,
            'kas_seluruh'         => $kas_heboh_seluruh,
            'pendapatan_arisan'   => $pendapatan_heboh,
            'data_pemenang'       => $data_laporan,
            'jml_verifikasi'      => $jml_verifikasi,
            'identitas'           => $identitas_arisan
        );
        $this->load->view('owner/index', $data);
    }
    public function detail($id)
    {
        $notif                = $this->notifikasi->notif_owner();
        // Cek ID apakah kode laporan atau kode arisan dan jadwal
        $cek_id = strlen($this->encrypt->decode($id));
        if ($cek_id > 15) :
            $kd_laporan = $this->encrypt->decode($id);
        else :
            $regist_arisan = substr($this->encrypt->decode($id), 0, 7);
            $jadwal_id = substr($this->encrypt->decode($id), 7, 4);
            $cek_laporan = $this->db->get_where('lap_arisan', ['regist_arisan' => $regist_arisan, 'jadwal_id' => $jadwal_id])->row_array();
            $kd_laporan = $cek_laporan['id'];
        endif;
        // Data Login Identitas Karyawan
        $data_login            = $this->userlogin->user_login('isloggedin');
        $data_id_login         = $this->session->userdata('isloggedin');
        // Data Arisan
        $data_laporan          = $this->select_model->getDataDetailLaporan($kd_laporan);
        $data_tunggakan        = $this->select_model->getDataLaporanAnggotaTunggakan($kd_laporan);
        $data_tunggakan_bayar  = $this->select_model->getDataLaporanAnggotaTunggakanBayar($kd_laporan);
        $jml_tunggakan         = count($data_tunggakan);
        $jml_tunggakan_bayar   = count($data_tunggakan_bayar);
        $data_arisan           = $this->db->get_where('p_arisan', ['id' => $data_laporan['regist_arisan']])->row_array();
        $data_jadwal           = $this->db->get_where('p_arisan_jadwal', ['id' => $data_laporan['jadwal_id']])->row_array();
        $data = array(
            // Untuk memanggil halaman sesuai menu
            'folder'            => 'laporan/arisan/heboh',
            'page'              => 'detail_laporan',
            'judul'             => 'Laporan Arisan Heboh || Bagian Manager',
            // Login Data
            'data_id_login'     => $data_id_login,
            'data_login'        => $data_login,
            'notif'             => $notif,
            // Data Konten
            'laporan'                => $data_laporan,
            'anggota_tunggakan'      => $data_tunggakan,
            'tunggakan_bayar'        => $data_tunggakan_bayar,
            'jml_tunggakan'          => $jml_tunggakan,
            'jml_tunggakanbayar'     => $jml_tunggakan_bayar,
            'data_arisan'            => $data_arisan,
            'jadwal_arisan'          => $data_jadwal

        );
        $this->load->view('owner/index', $data);
    }
    public function crud($id)
    {
        $kd_laporan = $this->encrypt->decode($id);
        $data = array(
            'status_laporan' => 'VERIFIED'
        );
        $this->db->where('id', $kd_laporan);
        $this->db->update('lap_arisan', $data);
        $this->session->set_flashdata('pesan_berhasil', '<div class="alert alert-success" id="pesan_berhasil" role="alert">Berhasil Verifikasi Laporan!</div>');
        redirect('owner/laporan_arisan/kelompok_heboh/detail_laporan/' . $this->encrypt->encode($kd_laporan));
    }
}

/* End of file ControllerLaporanHeboh.php and path \application\controllers\keuangan\laporan\arisan\ControllerLaporanHeboh.php */