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

class ControllerBukuKas extends CI_Controller
{

    public function __construct()
    {
        parent::__construct();
        check_not_login();
        if ($this->session->userdata('level') != 4) {
            redirect();
        }
        $this->set_timezone();
        $this->load->library('encrypt');
        $this->load->library('form_validation');
        $this->load->library('Mycustom');
        $this->load->model('notifikasi_arisan');
        $this->load->model('bagian_arisan/insert_model');
        $this->load->model('bagian_arisan/select_model');
        $this->load->model('bagian_arisan/update_model');
    }
    public function set_timezone()
    {
        date_default_timezone_set("Asia/Jakarta");
    }
    public function index()
    {
        // Notifikasi
        $jml_pengajuan        = count($this->notifikasi_arisan->Notifikasi_pengajuan());
        // End_notifikasi 
        // Data Login
        $data_login            = $this->userlogin->user_login();
        $data_id_login         = $this->session->userdata('isloggedin');
        // Data Arus Kas 
        $data_arus_kas_arisan           = $this->select_model->getDataARusKasArisanBulanan();
        // Kas Masuk Arisan Harian
        $masuk_kasharianheboh           = $this->select_model->getDataARusKasArisanMasukHarianHeboh();
        $masuk_kasharianmotor           = $this->select_model->getDataARusKasArisanMasukHarianMotor();
        $masuk_kasharianhebohtunggakan  = $this->select_model->getDataARusKasArisanMasukHarianHebohTunggakan();
        $masuk_kasharianmotortunggakan  = $this->select_model->getDataARusKasArisanMasukHarianMotorTunggakan();
        $masuk_kasOmsetHeboh            = $this->select_model->getDataARusKasArisanMasukHarianMotorTunggakan();
        $masuk_kasOmsetMotor            = $this->select_model->getDataARusKasArisanMasukHarianMotorTunggakan();
        $ttl_kasMasukArisan             = $masuk_kasharianheboh['kas_masuk'] + $masuk_kasharianmotor['kas_masuk'] + $masuk_kasharianhebohtunggakan['kas_masuk'] + $masuk_kasharianmotortunggakan['kas_masuk'];
        // Kas Operasional Arisan Harian
        $keluar_kasharianheboh          = $this->select_model->getDataARusKasArisanKeluarHarianHeboh();
        $keluar_kasharianmotor          = $this->select_model->getDataARusKasArisanKeluarHarianMotor();
        $keluar_pemenangheboh           = $this->select_model->getDataArusKasArisanKeluarPemenangHeboh();
        $keluar_pemenangmotor           = $this->select_model->getDataArusKasArisanKeluarPemenangMotor();
        $ttl_kasKeluarArisan            = $keluar_kasharianheboh['kas_keluar'] + $keluar_kasharianmotor['kas_keluar'] + $keluar_pemenangheboh['kas_keluar'] + $keluar_pemenangmotor['kas_keluar'];
        // Kas Masuk Arisan Bulanan
        $masuk_kasbulananheboh           = $this->select_model->getDataARusKasArisanMasukBulananHeboh();
        $masuk_kasbulananmotor           = $this->select_model->getDataARusKasArisanMasukBulananMotor();
        $masuk_kasbulananhebohtunggakan  = $this->select_model->getDataARusKasArisanMasukBulananHebohTunggakan();
        $masuk_kasbulananmotortunggakan  = $this->select_model->getDataARusKasArisanMasukBulananMotorTunggakan();
        $ttl_kasMasukArisanBulanan       = $masuk_kasbulananheboh['kas_masukbulanan'] + $masuk_kasbulananmotor['kas_masukbulanan'] + $masuk_kasbulananhebohtunggakan['kas_masukbulanan'] + $masuk_kasbulananmotortunggakan['kas_masukbulanan'];
        // Kas Operasional Arisan Harian
        $keluar_kasbulananheboh          = $this->select_model->getDataARusKasArisanKeluarBulananHeboh();
        $keluar_kasbulananmotor          = $this->select_model->getDataARusKasArisanKeluarBulananMotor();
        $keluar_pemenangheboh            = $this->select_model->getDataArusKasArisanKeluarPemenangHebohBulanan();
        $keluar_pemenangmotor            = $this->select_model->getDataArusKasArisanKeluarPemenangMotorBulanan();
        $ttl_kasKeluarArisanBulanan      = $keluar_kasbulananheboh['kas_keluarbulanan'] + $keluar_kasbulananmotor['kas_keluarbulanan'] + $keluar_pemenangheboh['kas_keluarbulanan'] + $keluar_pemenangmotor['kas_keluarbulanan'];
        // Omset
        $masuk_kasOmsetHeboh            = $this->select_model->getDataArusKasArisanOmsetPemenangHebohBulanan();
        $masuk_kasOmsetMotor            = $this->select_model->getDataArusKasArisanOmsetPemenangMotorBulanan();
        // Histori
        $total_omsetbulanan             = $masuk_kasOmsetHeboh['kas_omsetbulanan'] + $masuk_kasOmsetMotor['kas_omsetbulanan'];
        $data_kas_nota                   = $this->select_model->getDataNotaArisan();
        $data = array(
            // Untuk memanggil halaman sesuai menu
            'folder'              => 'kas',
            'page'                => 'index',
            'judul'               => 'Data Arus Kas Arisan || Bagian Arisan',
            'data_id_login'       => $data_id_login,
            'data_login'          => $data_login,
            // Isi data konten
            'arus_kas'            => $data_arus_kas_arisan,
            'kas_arus'            => $data_kas_nota,
            'jml_pengajuan'       => $jml_pengajuan,
            'kas_arisan_masuk'    => $ttl_kasMasukArisan,
            'kas_arisan_keluar'   => $ttl_kasKeluarArisan,
            'kas_arisan_masukbulanan'     => $ttl_kasMasukArisanBulanan,
            'kas_arisan_keluarbulanan'    => $ttl_kasKeluarArisanBulanan,
            'total_omsetbulanan'          => $total_omsetbulanan
        );
        $this->load->view('arisan/index', $data);
    }
    public function crud()
    {
        if (isset($_POST['simpanTransaksiKas'])) {
            // Menambahkan data kas pendapatan arisan
            $this->_prosesTambahTransaksiKas();
            $this->session->set_flashdata('pesan_berhasil', '<div class="alert alert-success" id="pesan_berhasil" role="alert">Berhasil menambahkan transaksi baru!</div>');
            redirect('arisan/kas');
        };
    }
    public function tanggal()
    {
        // NOtifikasi
        $notifikasi_pengajuan = $this->db->get_where('tbl_arisan_pengajuan')->result();
        $jml_pengajuan        = count($notifikasi_pengajuan);
        // End_notifikasi 
        if (isset($_POST['filterTransaksiKasTanggal'])) {
            // Data Login
            $tgl_mulai             = htmlspecialchars($this->input->post('mulai_tanggal'));
            $tgl_selesai           = htmlspecialchars($this->input->post('selesai_tanggal'));
            $data_login            = $this->userlogin->user_login();
            $data_id_login         = $this->session->userdata('isloggedin');
            // Data Arus Kas
            $data_arus_kas_arisan  = $this->select_model->getDataARusKasArisanFilterTanggal($tgl_mulai, $tgl_selesai);
            $masuk_kasbulanan      = $this->select_model->getDataARusKasArisanMasukFilterTanggal($tgl_mulai, $tgl_selesai);
            $Keluar_kasbulanan     = $this->select_model->getDataARusKasArisanKeluarFilterTanggal($tgl_mulai, $tgl_selesai);
            $data_arisan           = $this->select_model->getDataArisanAktif();
            // echo '<pre>';
            // var_dump($masuk_kasharian, $masuk_kasbulanan, $keluar_kasharian, $Keluar_kasbulanan);
            // die;
            // NOtifikasi
            $notifikasi_pengajuan = $this->db->get_where('tbl_arisan_pengajuan')->result();
            $jml_pengajuan        = count($notifikasi_pengajuan);
            // End_notifikasi
            $data = array(
                // Untuk memanggil halaman sesuai menu
                'folder'              => 'kas',
                'page'                => 'tanggal_tampil',
                'judul'               => 'Data Arus Kas Arisan || Bagian Arisan',
                'data_id_login'       => $data_id_login,
                'data_login'          => $data_login,
                // Isi data konten
                'arus_kas'            => $data_arus_kas_arisan,
                'masuk_bulanan'       => $masuk_kasbulanan,
                'keluar_bulanan'      => $Keluar_kasbulanan,
                'data_arisan'         => $data_arisan,
                'jml_pengajuan'       => $jml_pengajuan
            );
            $this->load->view('arisan/index', $data);
        }
    }
    // Proses
    private function _prosesTambahTransaksiKas()
    {
        $arisan_id                 = htmlspecialchars($this->input->post('id_arisan'));
        $status                    = htmlspecialchars($this->input->post('status'));
        $ket_transaksi             = htmlspecialchars($this->input->post('ket_transaksi'));
        $ttl_transaksi             = htmlspecialchars($this->input->post('ttl_transaksi'));
        $kd_kategori               = substr($arisan_id, 2, 2);
        if ($kd_kategori == 21) :
            $kas_id = 1;
            $produk_history = 'Arisan Heboh';
        else :
            $kas_id = 2;
            $produk_history = 'Arisan Motor';
        endif;
        $data_kas = array(
            'id'            => date("YmdHis"),
            'kas_id'        => $kas_id,
            'tgl_transaksi' => date('Y-m-d'),
            'status'        => $status,
            'ket_transaksi' => $ket_transaksi . ' dari Produk ' . $produk_history . ' dengan kode Arisan ' . $arisan_id,
            'ttl_transaksi' => $ttl_transaksi,
            'login_id'      => $this->session->userdata('isloggedin')
        );
        $this->db->insert('kas', $data_kas);
    }
}

/* End of file ControllerBukuKas.php and path \application\controllers\arisan\ControllerBukuKas.php */