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

class ControllerDataNota 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
        // Menampilkan saldo pertama koperasi 
        $data_table          = $this->db->get_where('nota', ['tgl_pembayaran' => date('Y-m-d')])->result();
        $jml_data            = count($data_table);
        $tampil_tahun        = $this->select_model->getDataTahunTransaksi();
        // Produk ID
        $data_produk         = $this->db->get_where('sistem_produk_koperasi')->result();
        $data_anggota        = $this->db->get_where('anggota')->result();
        $data_petugas        = $this->db->get_where('sistem_login')->result();
        $data = array(
            // Untuk memanggil halaman sesuai menu
            'folder'              => 'database/nota/utama',
            'page'                => 'index',
            'judul'               => 'Kelola Database Bagian Nota Utama || Bagian Pengurus',
            'data_id_login'       => $data_id_login,
            'data_login'          => $data_login,
            'notif'               => $notif,
            // Isi data
            'jml_data'            => $jml_data,
            'data_table'          => $data_table,
            'tampil_tahun'        => $tampil_tahun,
            // Data sistem
            'data_produk'         => $data_produk,
            'data_anggota'        => $data_anggota,
            'data_petugas'        => $data_petugas
        );
        $this->load->view('owner/index', $data);
    }
    // Crud
    public function crud()
    {
        // Cek Filter
        if (isset($_POST['cari_nota'])) :
            $format_nota = htmlspecialchars($this->input->post('format_nota'));
            if ($format_nota == 1) :
                $this->_dataNomorNota();
            elseif ($format_nota == 2) :
                $this->_dataTanggalNota();
            else:
                $this->_dataBulanTahunNota();
            endif;
        endif;
        if (isset($_POST['updateDatabaseTerbaru'])) :
            $data = array(
                'tgl_pembayaran' => htmlspecialchars($this->input->post('tgl_pembayaran')),
                'qty_pembayaran' => htmlspecialchars($this->input->post('qty_pembayaran')),
                'ttl_bayar'      => htmlspecialchars($this->input->post('ttl_bayar')),
                'status_kas'     => htmlspecialchars($this->input->post('status_kas')),
                'status_nota'    => htmlspecialchars($this->input->post('status_nota')),
                'metode_bayar'   => htmlspecialchars($this->input->post('metode_bayar')),
                'petugas'        => htmlspecialchars($this->input->post('petugas')),
                'kasir'          => htmlspecialchars($this->input->post('kasir'))
            );
            $this->db->where('id', htmlspecialchars($this->input->post('nota_id')));
            $this->db->update('nota', $data);
            $this->session->set_flashdata('pesan_berhasil', '<div class="alert alert-success" id="pesan_berhasil" role="alert">Berhasil Merubah Data!</div>');
            redirect('owner/database/nota/utama');
        endif;
        if (isset($_POST['deleteDatabaseTerbaru'])) :
            $this->_cekDetailKoperasi();
            $this->db->where('id', htmlspecialchars($this->input->post('nota_id')));
            $this->db->delete('nota');
            $this->session->set_flashdata('pesan_berhasil', '<div class="alert alert-success" id="pesan_berhasil" role="alert">Berhasil Hapus Data!</div>');
            redirect('owner/database/nota/utama');
        endif;
    }
    // Melihat data Nota berdasarkan Nomor Nota
    private function _dataNomorNota()
    {
        $nomor_nota            = htmlspecialchars($this->input->post('nomor_nota'));
        $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
        // Menampilkan saldo pertama koperasi 
        $data_table          = $this->db->get_where('nota', ['id' => $nomor_nota])->result();
        $jml_data            = count($data_table);
        $tampil_tahun        = $this->select_model->getDataTahunTransaksi();
        // Produk ID
        $data_produk         = $this->db->get_where('sistem_produk_koperasi')->result();
        $data_anggota        = $this->db->get_where('anggota')->result();
        $data_petugas        = $this->db->get_where('sistem_login')->result();
        $data = array(
            // Untuk memanggil halaman sesuai menu
            'folder'              => 'database/nota/utama',
            'page'                => 'index',
            'judul'               => 'Kelola Database Bagian Nota Utama || Bagian Pengurus',
            'data_id_login'       => $data_id_login,
            'data_login'          => $data_login,
            'notif'               => $notif,
            // Isi data
            'jml_data'            => $jml_data,
            'data_table'          => $data_table,
            'tampil_tahun'        => $tampil_tahun,
            // Data sistem
            'data_produk'         => $data_produk,
            'data_anggota'        => $data_anggota,
            'data_petugas'        => $data_petugas
        );
        $this->load->view('owner/index', $data);
    }
    // Melihat data Nota berdasarkan Nomor Nota
    private function _dataTanggalNota()
    {
        $tgl_transaksi            = htmlspecialchars($this->input->post('tgl_transaksi'));
        $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
        // Menampilkan saldo pertama koperasi 
        $data_table          = $this->db->get_where('nota', ['tgl_pembayaran' => $tgl_transaksi])->result();
        $jml_data            = count($data_table);
        $tampil_tahun        = $this->select_model->getDataTahunTransaksi();
        // Produk ID
        $data_produk         = $this->db->get_where('sistem_produk_koperasi')->result();
        $data_anggota        = $this->db->get_where('anggota')->result();
        $data_petugas        = $this->db->get_where('sistem_login')->result();
        $data = array(
            // Untuk memanggil halaman sesuai menu
            'folder'              => 'database/nota/utama',
            'page'                => 'index',
            'judul'               => 'Kelola Database Bagian Nota Utama || Bagian Pengurus',
            'data_id_login'       => $data_id_login,
            'data_login'          => $data_login,
            'notif'               => $notif,
            // Isi data
            'jml_data'            => $jml_data,
            'data_table'          => $data_table,
            'tampil_tahun'        => $tampil_tahun,
            // Data sistem
            'data_produk'         => $data_produk,
            'data_anggota'        => $data_anggota,
            'data_petugas'        => $data_petugas
        );
        $this->load->view('owner/index', $data);
    }
    // Melihat data Nota berdasarkan Nomor Nota
    private function _dataBulanTahunNota()
    {
        $bulan         = htmlspecialchars($this->input->post('bulan_transaksi'));
        $tahun         = htmlspecialchars($this->input->post('tahun_transaksi'));
        $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
        // Menampilkan saldo pertama koperasi 
        $data_table          = $this->db->get_where('nota', ['MONTH(tgl_pembayaran)' => $bulan, 'YEAR(tgl_pembayaran)' => $tahun])->result();
        $jml_data            = count($data_table);
        $tampil_tahun        = $this->select_model->getDataTahunTransaksi();
        // Produk ID
        $data_produk         = $this->db->get_where('sistem_produk_koperasi')->result();
        $data_anggota        = $this->db->get_where('anggota')->result();
        $data_petugas        = $this->db->get_where('sistem_login')->result();
        $data = array(
            // Untuk memanggil halaman sesuai menu
            'folder'              => 'database/nota/utama',
            'page'                => 'index',
            'judul'               => 'Kelola Database Bagian Nota Utama || Bagian Pengurus',
            'data_id_login'       => $data_id_login,
            'data_login'          => $data_login,
            'notif'               => $notif,
            // Isi data
            'jml_data'            => $jml_data,
            'data_table'          => $data_table,
            'tampil_tahun'        => $tampil_tahun,
            // Data sistem
            'data_produk'         => $data_produk,
            'data_anggota'        => $data_anggota,
            'data_petugas'        => $data_petugas
        );
        $this->load->view('owner/index', $data);
    }
    // APakah bagian detail nota koperasi sudah dihapus
    private function _cekDetailKoperasi()
    {
        $kd_nota = htmlspecialchars($this->input->post('nota_id'));
        $cekDetailKoperasi = $this->db->get_where('p_koperasi_nota', ['nota_id' => $kd_nota])->row_array();
        // echo '<pre>';
        // var_dump($cekDetailKoperasi);
        // die;
        if ($cekDetailKoperasi != NULL) :
            $this->session->set_flashdata('pesan_gagal', '<div class="alert alert-danger" id="pesan_gagal" role="alert">Detail Nota Koperasi Belum Dihapus!</div>');
            redirect('owner/database/nota/utama');
        endif;
        $cekDetailArisan = $this->db->get_where('p_arisan_nota', ['nota_id' => $kd_nota])->row_array();
        if ($cekDetailArisan != NULL) :
            $this->session->set_flashdata('pesan_gagal', '<div class="alert alert-danger" id="pesan_gagal" role="alert">Detail Nota Arisan Belum Dihapus!</div>');
            redirect('owner/database/nota/utama');
        endif;
    }
}

/* End of file ControllerDataNota.php and path \application\controllers\owner\database\nota\ControllerDataNota.php */