<?php
defined('BASEPATH') or exit('No direct script access allowed');

class Kasir extends CI_Controller
{

    function __construct()
    {
        parent::__construct();
        //validasi jika user belum login
        if ($this->session->userdata('masuk') != TRUE) {
            $url = base_url();
            redirect($url);
        }

        date_default_timezone_set('Asia/Jakarta');
        $this->load->model('kasir_model');
        $this->load->helper('random');
        $this->db2 = $this->load->database('db2', TRUE);
         $this->db4 = $this->load->database('db4', TRUE);
        $aksesku = $this->session->userdata('akses');
        if ($aksesku == 'exter') {
            $this->db = $this->load->database('db4', TRUE);
        }
        //	$this->db3=$this->load->database('db3', TRUE);
    }
    public function input_biaya()
    {
        $data['level'] = $this->session->userdata('akses');
        $kdtoko = $this->session->userdata('kd_toko');
        $data['toko'] = $this->kasir_model->get_toko();
        $data['biaya'] = $this->kasir_model->getbiaya();
        $data['no'] = 1;
        $this->load->view('header', $data);
        $this->load->view('kasir/biaya');
    }
    public function input_pendapatan()
    {
        $data['level'] = $this->session->userdata('akses');
        $kdtoko = $this->session->userdata('kd_toko');
        $data['toko'] = $this->kasir_model->get_toko();
        $data['biaya'] = $this->kasir_model->getdapat();
        $data['no'] = 1;
        $this->load->view('header', $data);
        $this->load->view('kasir/pendapatan');
    }
    public function simpan_pendapatan()
    {
        $jenis = $this->input->post('jenis_biaya');
        $biaya = str_replace(".", "", $this->input->post('biaya'));
        $ket = $this->input->post('ket');
        $tgl = date('Y-m-d');
        $id_user = $this->session->userdata('ses_username');
        $kdtoko = $this->session->userdata('kd_toko');

        $data = array(
            'tgl' => $tgl,
            'id_user' => $id_user,
            'biaya' => $biaya,
            'jenis' => $jenis,
            'ket' => $ket,
            'kdcabang' => $kdtoko,
        );
        $this->db->insert('tabel_pendapatan', $data);
        echo $this->session->set_flashdata('msg', 'Input pendapatan berhasil');
        redirect('kasir/input-pendapatan/', 'refresh');
    }
    public function laporan_pdf()
    {

        $data = array(
            "dataku" => array(
                "nama" => "Petani Kode",
                "url" => "http://petanikode.com"
            )
        );

        $this->load->library('pdf');

        $this->pdf->setPaper('A4', 'potrait');
        $this->pdf->filename = "laporan-petanikode.pdf";
        $this->pdf->load_view('laporan_pdf', $data);
    }

    public function hapus_biaya()
    {
        $kode_menu = $this->input->post('kode_menu_h', TRUE);
        $this->kasir_model->delete_biaya($kode_menu);
        echo $this->session->set_flashdata('msg', 'Menu berhasil dihapus');
        redirect('kasir/input_biaya', 'refresh');
    }

    public function hapus_pendapatan()
    {
        $kode_menu = $this->input->post('kode_menu_h', TRUE);
        $this->kasir_model->delete_pendapatan($kode_menu);
        echo $this->session->set_flashdata('msg', 'Pendapatan berhasil dihapus');
        redirect('kasir/input_pendapatan', 'refresh');
    }
     public function update_status_bkad() {
        $id = $this->input->post('id');
        $status = $this->input->post('status');
        if($status=='0') {
            $result = $this->db->query("update tabel_toko set bkad=$status,startoff=now() where kd_toko='$id'");
        } else {
            $result = $this->db->query("update tabel_toko set bkad=$status where kd_toko='$id'");
        }
    
        if ($result) {
            echo "success";
        } else {
            echo "error";
        }
    }
    public function rekap1()
    {
        $kd_toko = $this->session->userdata('kd_toko');
        $tgl = $this->input->post('utgl');
        $kdtoko = $this->input->post('kedai');
        $stat = $this->input->post('stat');
        if ($stat == null) {
            $stat = '1';
        }
        $akses = $this->session->userdata('akses');
        $dl = $this->db->query("delete from tanggal where kdcabang='$kd_toko';");
        $dd = $this->db->query("insert ignore into tanggal(kdcabang,tgl,kdtoko) value ('$kd_toko','$tgl','$kdtoko')");
        $data['tanggal'] = $tgl;
        $data['kedai'] = $this->kasir_model->get_toko();
        $data['no'] = 1;
        $data['noo'] = 1;
        $data['subtot'] = 0;
        $data['diskon'] = 0;
        $data['nppn'] = 0;
        $data['grandtot'] = 0;
        $data['rg'] = 0;
        $data['rgdo'] = 0;
        $data['rgta'] = 0;
        $data['gofood'] = 0;
        $data['grab'] = 0;
        $data['shopee'] = 0;
        $data['ongkir'] = 0;
        $data['tot_biaya'] = 0;
        $data['tot_biayap'] = 0;
        $data['penjualan'] = $this->kasir_model->dataTransaksiHariIni($tgl, $kdtoko, $stat);
        $data['pengeluaran'] = $this->kasir_model->dataPengeluaranHariIniAll($tgl, $kdtoko);
        $data['pendapatan'] = $this->kasir_model->dataPendapatanHariIniAll($tgl, $kdtoko);
        $this->load->view('header', $data);
        $this->load->view('kasir/rekap_harian');
    }

    public function cetak_rekap1()
    {
        $akses = $this->session->userdata('akses');
        $cab = $this->session->userdata('kd_toko');
        $kd = $this->db->query("select * from tanggal where kdcabang='$cab'");
        $kd1 = $kd->row_array();
        $kdtoko = $kd1['kdtoko'];
        $tgl = $kd1['tgl'];
        $waktu = date('H:i:s');
        $tgl_sort = date('Y-m-d');
        $id_user = $this->session->userdata('ses_username');
        $data_rekap = $this->kasir_model->getRekapHarian($kdtoko, $tgl);
        $data['toko'] = $this->kasir_model->get_tokoku($kdtoko);
        $data['tgl'] = $tgl;
        $data['waktu'] = $waktu;
        $data['user'] = $id_user;
        $data['total_debet'] = 0;
        $data['total_cash'] = 0;
        $data['total_ppn'] = 0;
        $data['total_ppnt'] = 0;
        $data['total_ongkir'] = 0;
        $data['total_tetap'] = 0;
        $data['total_promo'] = 0;
        $data['total_biaya'] = 0;
        $data['rekap'] = $data_rekap;
        $data['pengeluaran'] = $this->kasir_model->datarekapPengeluaranHarian($kdtoko, $tgl);
        $data['pengeluaranp'] = $this->kasir_model->datarekapPengeluaranHarianp($kdtoko, $tgl);
        $data['tetap'] = $this->kasir_model->datarekapPengeluarantetap($kdtoko, $tgl);
        $data['biaya'] = $this->kasir_model->getRekapbiaya($kdtoko, $tgl);
        $data['trekap'] = $this->kasir_model->datarekap($kdtoko, $tgl);
        $this->load->view('kasir/cetak_rekap_harian', $data);
    }
    public function biaya()
    {
        $kdtoko = $this->session->userdata('kd_toko');
        $data['toko'] = $this->kasir_model->get_toko();
        $data['paket'] = $this->kasir_model->getbiaya();
        $data['no'] = 1;
        $this->load->view('header', $data);
        $this->load->view('kasir/biaya');
    }

    public function rekapall()
    {
        
        $kdtoko = $this->session->userdata('kd_toko');
        $tanggal = date('Y-m-d');
        $filter = $this->input->get('filter');
        $jmenu = $this->input->get('jmenu');
        if($jmenu == "") {
            $jmenu='zz';
        }
        $data['tanggal'] = $tanggal;
        $data['filter'] = $filter;
        $data['menu']=$jmenu;
        $a = $this->input->get('a');
        $b = $this->input->get('b');
        $c = $this->input->get('c');
        $d = $this->input->get('d');
        $e = $this->input->get('e');
        $f = $this->input->get('f');
        $dari = $c . "-" . $b . "-" . $a;
        $sampai = $f . "-" . $e . "-" . $d;
        

        $data['tgl'] = date('d');
        $data['bln'] = date('m');
        $data['thn'] = date('Y');
        $data['awal'] = $dari;
        $data['akhir'] = $sampai;
        $data['total1'] = 0;
        $data['total2'] = 0;
        $data['total3'] = 0;
        $data['total4'] = 0;
        $data['total5'] = 0;
        $data['total6'] = 0;
        $data['total7'] = 0;
        $data['total8'] = 0;
        $data['total9'] = 0;
        $data['total10'] = 0;
        $data['total11'] = 0;
        $data['total12'] = 0;
        $data['total13'] = 0;
        $data['total14'] = 0;
        $data['total15'] = 0;
        $data['total16'] = 0;
        $data['total17'] = 0;
        $data['total18'] = 0;
        $data['total19'] = 0;
        $data['total20'] = 0;
        $data['total21'] = 0;
        $data['total22'] = 0;

        $data['no'] = 1;
        if ($filter == "ok") {
            if($jmenu=='ZZ') {
            $data['rekap'] = $this->kasir_model->dataTransaksifilter($dari, $sampai);
            } else {
                $data['rekap'] = $this->kasir_model->dataTransaksifilterjam($dari, $sampai,$jmenu);
            }
        } else {
            $data['menu']="ZZ";
            $data['rekap'] = $this->kasir_model->dataTransaksi();
        }
        $this->load->view('header', $data);
        $this->load->view('kasir/omset');
    }

    public function simpan_biaya()
    {
        $jenis = $this->input->post('jenis_biaya');
        $biaya = str_replace(".", "", $this->input->post('biaya'));
        $ket = $this->input->post('ket');
        $tgl = date('Y-m-d');
        $id_user = $this->session->userdata('ses_username');
        $kdtoko = $this->session->userdata('kd_toko');

        $data = array(
            'tgl' => $tgl,
            'id_user' => $id_user,
            'biaya' => $biaya,
            'jenis' => $jenis,
            'ket' => $ket,
            'kdcabang' => $kdtoko,
        );
        $this->db->insert('tabel_biaya', $data);
        echo $this->session->set_flashdata('msg', 'Input biaya berhasil');
        redirect('kasir/input-biaya/', 'refresh');
    }

    public function mutasi()
    {
        $data['level'] = $this->session->userdata('akses');
        $this->load->view('header', $data);
        $this->load->view('kasir/mutasi');
    }

    public function get_detail_produk()
    {
        $idbarang = $this->input->post('idbarang');
        $data = $this->kasir_model->get_detail_produk($idbarang);
        echo json_encode($data);
    }

    public function simpan_mutasi()
    {
        $jenis = $this->input->post('jenis_mutasi');
        $kode = $this->input->post('kd_barang');
        $jumlah = $this->input->post('jumlah');
        $kdtoko = $this->session->userdata('kd_toko');
        $ket = $this->input->post('ket');
        $tgl = date('Y-m-d');
        $waktu = date('Y-m-d');
        $jam = date('H:i:s');
        $kd_toko = "SS001";
        $publish = "0";
        $user = $this->session->userdata('ses_username');

        if ($jenis == "Masuk") {
            $cek_stok = $this->kasir_model->cek_stok_mutasi($kode);
            $i = $cek_stok->row_array();
            $stok_sekarang = $i['stok'];
            $stok_baru = (int) $jumlah + (int) $stok_sekarang;
            $this->db->query("UPDATE tabel_stok_toko SET stok='$stok_baru' WHERE kd_barang='$kode' and kd_toko='$kdtoko'");
            $this->db->query("INSERT INTO tabel_mutasi (mutasi,kd_barang,jumlah,ket,tgl) VALUES ('$jenis','$kode','$jumlah','$ket','$tgl')");
            $this->db->query("INSERT INTO tabel_kartu_stok (kode_toko,kode_barang,waktu,jam,sebelumnya,keluar,masuk,saldo,keterangan,user,publish) VALUES ('$kd_toko','$kode','$waktu','$jam','$stok_sekarang','0','$jumlah','$stok_baru','$ket','$user','$publish')");
            echo $this->session->set_flashdata('msg', 'Input mutasi masuk ' . $kode . ' berhasil');
            redirect('kasir/mutasi/', 'refresh');
        } else {
            $cek_stok = $this->kasir_model->cek_stok_mutasi($kode); //disini
            $i = $cek_stok->row_array();
            $stok_sekarang = $i['stok'];
            //if ($stok_sekarang > $jumlah) {
            //		echo $this->session->set_flashdata('error', 'Input mutasi gagal, stok tidak mencukupi');
            //		redirect('kasir/mutasi/', 'refresh');
            //	} else {
            $stok_baru = (int) $stok_sekarang - (int) $jumlah;
            $this->db->query("UPDATE tabel_stok_toko SET stok='$stok_baru' WHERE kd_barang='$kode' and kd_toko='$kdtoko'");
            $this->db->query("INSERT INTO tabel_mutasi (mutasi,kd_barang,jumlah,ket,tgl) VALUES ('$jenis','$kode','$jumlah','$ket','$tgl')");
            $this->db->query("INSERT INTO tabel_kartu_stok (kode_toko,kode_barang,waktu,jam,sebelumnya,keluar,masuk,saldo,keterangan,user,publish) VALUES ('$kd_toko','$kode','$waktu','$jam','$stok_sekarang','$jumlah','0','$stok_baru','$ket','$user','$publish')");
            echo $this->session->set_flashdata('msg', 'Input mutasi keluar ' . $kode . ' berhasil');
            redirect('kasir/mutasi/', 'refresh');
            //	}
        }
    }

    public function retur()
    {
        $this->load->view('header');
        $this->load->view('kasir/retur');
    }

    public function get_data_faktur()
    {
        $nofak = $this->input->post('nofak');
        $data['list'] = $this->kasir_model->get_list($nofak);
        $data['faktur'] = $this->kasir_model->detail_faktur($nofak);

        $hasil = $this->load->view('kasir/list_retur', $data, true);
        $callback = array(
            'hasil' => $hasil,
        );
        echo json_encode($callback);
    }

    public function retur_item()
    {
        $nofak = $this->uri->segment(3);
        $kd_barang = base64_decode($this->uri->segment(4));
        $data_barang = $this->kasir_model->getProdukRetur($nofak, $kd_barang)->row();
        if ($data_barang) {
            $data['produk'] = $data_barang;
            $this->load->view('header', $data);
            $this->load->view('kasir/retur_item');
        } else {
            $this->load->view('error404');
        }
    }

    public function simpan_retur()
    {
        $nofak = $this->input->post('nofak');
        $kd_barang = $this->input->post('kd_barang');
        $jum_retur = $this->input->post('jum_retur');
        $ket = $this->input->post('ket');
        $stok_awal = 0;
        $tgl = date('Y-m-d');
        $data_barang = $this->kasir_model->getProdukRetur($nofak, $kd_barang);
        $data_stok = $this->kasir_model->getStokRetur($kd_barang);
        $i = $data_barang->row_array();
        $s = $data_stok->row_array();
        $nm_barang = $i['nm_barang'];
        $harga_item = $i['harga'];
        if ($s) {
            $stok_awal = $s['stok'];
        }
        $stok_sekarang = (int) $stok_awal + (int) $jum_retur;
        $total_harga_retur = (int) $jum_retur * (int) $harga_item;
        $kdtoko = $this->session->userdata('kd_toko');
        $waktu = date('Y-m-d');
        $jam = date('H:i:s');
        $user = $this->session->userdata('ses_username');
        $publish = "0";
        $this->db->query("INSERT INTO tabel_retur (no_faktur_penjualan,kd_barang,nm_barang,jumlah,total_retur,ket,tgl) VALUES ('$nofak','$kd_barang','$nm_barang','$jum_retur','$total_harga_retur','$ket','$tgl')");
        $this->db->query("INSERT INTO tabel_kartu_stok (kode_toko,kode_barang,waktu,jam,sebelumnya,keluar,masuk,saldo,keterangan,user,publish) VALUES ('$kdtoko','$kd_barang','$waktu','$jam','$stok_awal','0','$jum_retur','$stok_sekarang','$ket','$user','$publish')");
        $this->db->query("UPDATE tabel_rinci_penjualan SET retur='$jum_retur' WHERE kd_barang='$kd_barang' AND no_faktur_penjualan='$nofak'");
        $this->db->query("UPDATE tabel_stok_toko SET stok='$stok_sekarang' WHERE kd_barang='$kd_barang' and kd_toko='$kdtoko'");
        echo $this->session->set_flashdata('msg', 'Retur Sukses');
        redirect('kasir/retur/', 'refresh');
    }

    public function rekap()
    {
         $tgl = $this->input->post('utgl');
    if ($tgl == null) {
      $tgl = date('Y-m-d');
    // $tgl = '2025-04-20';
    }
    $stat = $this->input->post('stat');
    if ($stat == null) {
      $stat = '1';
    }
    $akses = $this->session->userdata('akses');
    $kdtoko = $this->session->userdata('kd_toko');
    $this->db->query("update tabel_penjualan set selesai = 3 where kdcabang = '$kdtoko' AND tgl_penjualan = '$tgl' AND selesai = 1 AND tglbayar IS NULL");
    $data['tanggal'] = $tgl;
    $data['no'] = 1;
    $data['noo'] = 1;
    $data['subtot'] = 0;
    $data['diskon'] = 0;
    $data['nppn'] = 0;
    $data['grandtot'] = 0;
    $data['rg'] = 0;
    $data['rgdo'] = 0;
    $data['rgta'] = 0;
    $data['gofood'] = 0;
    $data['grab'] = 0;
    $data['shopee'] = 0;
    $data['ongkir'] = 0;
    $data['totGofood'] = 0;
    $data['totGrab'] = 0;
    $data['totShopee'] = 0;
    $data['ongkir'] = 0;
    $data['tot_biaya'] = 0;
    $data['tot_biayap'] = 0;
    $data['penjualan'] = $this->kasir_model->dataTransaksiHariIni($tgl, $kdtoko, $stat);
    $data['pengeluaran'] = $this->kasir_model->dataPengeluaranHariIniAll($tgl, $kdtoko);
    $data['pendapatan'] = $this->kasir_model->dataPendapatanHariIniAll($tgl, $kdtoko);
    $this->load->view('header', $data);
    $this->load->view('kasir/rekap_harian');
    }
    public function kode_harga_order()
    {
        $tgl = date('Y-m-d');
        $akses = $this->session->userdata('akses');
        $kdtoko = $this->session->userdata('kd_toko');
        $data['tanggal'] = $tgl;
        $data['no'] = 1;
        $data['noo'] = 1;
        $data['subtot'] = 0;
        $data['diskon'] = 0;
        $data['nppn'] = 0;
        $data['grandtot'] = 0;
        $data['rg'] = 0;
        $data['rgdo'] = 0;
        $data['rgta'] = 0;
        $data['gofood'] = 0;
        $data['grab'] = 0;
        $data['shopee'] = 0;
        $data['ongkir'] = 0;
        $data['tot_biaya'] = 0;
        $data['tot_biayap'] = 0;
        $data['penjualan'] = $this->kasir_model->dataTransaksieorder($tgl, $kdtoko);
        $this->load->view('header', $data);
        $this->load->view('kasir/list_eorder');
    }
    public function faktur_pending()
    {
        $nofak = $this->uri->segment(3);
        $kdtoko = $this->session->userdata('kd_toko');
        $this->db->query("UPDATE tbl_invoice SET stat='4' WHERE inv_no='$nofak' and kdcabang='$kdtoko'");
        redirect('kasir/kode_harga_order/', 'refresh');
    }
    public function faktur_batal()
    {
        $nofak = $this->uri->segment(3);
        $kdtoko = $this->session->userdata('kd_toko');
        $this->db->query("UPDATE tbl_invoice SET stat='5' WHERE inv_no='$nofak' and kdcabang='$kdtoko'");
        redirect('kasir/kode_harga_order/', 'refresh');
    }
    public function rekapkedai()
    {
        $tgl = $this->input->post('utgl');
        $akses = $this->session->userdata('akses');
        $kdtoko = $this->session->userdata('kd_toko');
        $npb1 = 0;
        if ($akses != 'kasir') {
            $kdtoko = $this->input->post('kedai');
            $npb1 = $this->input->post('npb1');
            $this->session->set_userdata('tokoku', $kdtoko);
            $this->session->set_userdata('tglku', $tgl);
        }
        $data['bulan'] = $tgl;
        $data['no'] = 1;
        $data['noo'] = 1;
        $data['rtotal'] = 0;
        $data['rnppn'] = 0;
        $data['rnetto'] = 0;
        $data['ptotal'] = 0;
        $data['pnppn'] = 0;
        $data['pnetto'] = 0;
        $data['selisih'] = 0;
        $data['penjualan'] = $this->kasir_model->rekapkedai($kdtoko, $tgl, $npb1);
        $this->load->view('header', $data);
        $this->load->view('kasir/rekapkedai');
    }
    public function rekapkedaiex()
    {
        $tgl = $this->input->post('utgl');
        $akses = $this->session->userdata('akses');
        $kdtoko = $this->session->userdata('kd_toko');
        if ($akses != 'kasir') {
            $kdtoko = $this->input->post('kedai');
            $this->session->set_userdata('tokoku', $kdtoko);
            $this->session->set_userdata('tglku', $tgl);
        }

        if ($kdtoko == 'ZZ') {
            $data['bulan'] = $tgl;
            $data['no'] = 1;
            $data['noo'] = 1;
            $data['rtotal'] = 0;
            $data['rnppn'] = 0;
            $data['rnetto'] = 0;

            $data['rptotal'] = 0;
            $data['rpnppn'] = 0;
            $data['rpnetto'] = 0;

            $data['optotal'] = 0;
            $data['opnppn'] = 0;
            $data['opnetto'] = 0;

            $data['ptotal'] = 0;
            $data['pnppn'] = 0;
            $data['pnetto'] = 0;

            $data['fptotal'] = 0;
            $data['fpnppn'] = 0;
            $data['fpnetto'] = 0;


            $data['selisih'] = 0;
            $data['penjualan'] = $this->kasir_model->rekapkedaiexa($kdtoko, $tgl);
            $this->load->view('header', $data);
            $this->load->view('kasir/rekapkedaiex');
        } else {
            $data['bulan'] = $tgl;
            $data['no'] = 1;
            $data['noo'] = 1;
            $data['rtotal'] = 0;
            $data['rnppn'] = 0;
            $data['rnetto'] = 0;

            $data['rptotal'] = 0;
            $data['rpnppn'] = 0;
            $data['rpnetto'] = 0;

            $data['optotal'] = 0;
            $data['opnppn'] = 0;
            $data['opnetto'] = 0;

            $data['ptotal'] = 0;
            $data['pnppn'] = 0;
            $data['pnetto'] = 0;

            $data['fptotal'] = 0;
            $data['fpnppn'] = 0;
            $data['fpnetto'] = 0;

            $data['selisih'] = 0;
            $data['penjualan'] = $this->kasir_model->rekapkedaiex($kdtoko, $tgl);
            $this->load->view('header', $data);
            $this->load->view('kasir/rekapkedaiex');
        }
    }
    public function rekap_52()
    {
        $tgl = $this->input->post('utgl');
        if ($tgl == null) {
            $tgl = date('Y-m-d');
        }
        $akses = $this->session->userdata('akses');
        $kdtoko = $this->session->userdata('kd_toko');
        if ($akses != 'kasir') {
            $kdtoko = $this->input->post('kedai');
            $this->session->set_userdata('tokoku', $kdtoko);
            $this->session->set_userdata('tglku', $tgl);
        }
        $data['tanggal'] = $tgl;
        $data['no'] = 1;
        $data['noo'] = 1;
        $data['subtot'] = 0;
        $data['diskon'] = 0;
        $data['nppn'] = 0;
        $data['grandtot'] = 0;
        $data['rg'] = 0;
        $data['rgdo'] = 0;
        $data['rgta'] = 0;
        $data['gofood'] = 0;
        $data['grab'] = 0;
        $data['shopee'] = 0;
        $data['ongkir'] = 0;
        $data['tot_biaya'] = 0;
        $data['tot_biayap'] = 0;
        $data['penjualan'] = $this->kasir_model->dataTransaksiHariIni_52($tgl, $kdtoko);
        $data['pengeluaran'] = $this->kasir_model->dataPengeluaranHariIniAll($tgl, $kdtoko);
        $data['pendapatan'] = $this->kasir_model->dataPendapatanHariIniAll($tgl, $kdtoko);
        $this->load->view('header', $data);
        $this->load->view('kasir/rekap_harian_52');
    }
    public function rekap_1()
    {
        $tgl = date('Y-m-d');
        $akses = $this->session->userdata('akses');
        $kdtoko = $this->session->userdata('kd_toko');
        $stat = $this->input->post('stat');
        if ($stat == null) {
            $stat = '1';
        }
        $data['tanggal'] = $tgl;
        $data['no'] = 1;
        $data['noo'] = 1;
        $data['subtot'] = 0;
        $data['diskon'] = 0;
        $data['nppn'] = 0;
        $data['grandtot'] = 0;
        $data['rg'] = 0;
        $data['rgdo'] = 0;
        $data['rgta'] = 0;
        $data['gofood'] = 0;
        $data['grab'] = 0;
        $data['shopee'] = 0;
        $data['ongkir'] = 0;
        $data['tot_biaya'] = 0;
        $data['tot_biayap'] = 0;
        $data['penjualan'] = $this->kasir_model->dataTransaksiHariIni($tgl, $kdtoko, $stat);
        $data['pengeluaran'] = $this->kasir_model->dataPengeluaranHariIniAll($tgl, $kdtoko);
        $data['pendapatan'] = $this->kasir_model->dataPendapatanHariIniAll($tgl, $kdtoko);
        $this->load->view('header', $data);
        $this->load->view('kasir/rekap_harian');
    }
    public function rekapd()
    {
        $jam = $this->input->post('ujam');
        $tgl = date('Y-m-d');
        if ($jam == Null) {
            $jam = date('H:i');
        }
        $akses = $this->session->userdata('akses');
        $kdtoko = $this->session->userdata('kd_toko');
        $data['tanggal'] = $tgl;
        $data['no'] = 1;
        $data['noo'] = 1;
        $data['grandtot'] = 0;
        $data['rg'] = 0;
        $data['rgdo'] = 0;
        $data['rgta'] = 0;
        $data['gofood'] = 0;
        $data['grab'] = 0;
        $data['penjualan'] = $this->kasir_model->dataTransaksiHariInid1($jam, $tgl, $kdtoko);
        $this->load->view('header', $data);
        $this->load->view('kasir/rekap_hariand');
    }
    public function rekapd1()
    {
        $kd_toko = $this->session->userdata('kd_toko');
        $kdtoko = $this->input->post('kedai');
        $akses = $this->session->userdata('akses');
        $jam = $this->input->post('ujam');
        $this->session->set_userdata('kdtoko', $kdtoko);
        $tgl = date('Y-m-d');
        $dl = $this->db->query("delete from tanggal where kdcabang='$kd_toko';");
        $dd = $this->db->query("insert ignore into tanggal(kdcabang,tgl,kdtoko) value ('$kd_toko','$tgl','$kdtoko')");

        if ($jam == Null) {
            $jam = date('H:i');
        }
        $data['tanggal'] = $tgl;
        $data['no'] = 1;
        $data['noo'] = 1;
        $data['grandtot'] = 0;
        $data['rg'] = 0;
        $data['rgdo'] = 0;
        $data['rgta'] = 0;
        $data['gofood'] = 0;
        $data['grab'] = 0;
        $data['penjualan'] = $this->kasir_model->dataTransaksiHariInid1($jam, $tgl, $kdtoko);
        $this->load->view('header', $data);
        $this->load->view('kasir/rekap_hariand');
    }

    public function reprint_struk()
    {
        $tgl = date('d-m-Y');
        $waktu = date('H:i:s');
        $nofaktur = $this->uri->segment(3);
        $data_faktur = $this->kasir_model->reprintStruk($nofaktur)->row();
        $produk = $this->kasir_model->getProdukDijual($nofaktur);
        if ($data_faktur) {
            $data['toko'] = $this->kasir_model->get_toko();
            $data['faktur'] = $data_faktur;
            $data['tgl'] = $tgl;
            $data['waktu'] = $waktu;
            $data['produk'] = $produk;
            $data['total_item'] = 0;
            $data['subtotal'] = 0;
            $this->load->view('kasir/reprint_struk_transaksi', $data);
        } else {
            $this->load->view('error404');
        }
    }

    public function cetak_rekap()
    {
        $akses = $this->session->userdata('akses');
        $waktu = date('H:i:s');
        $tgl_sort = date('Y-m-d');
        $id_user = $this->session->userdata('ses_username');
        $kdtoko = $this->session->userdata('kd_toko');
        $kodea = $this->db->query("select * from tanggal where kdcabang='$kdtoko';");
        $kodeaw = $kodea->row_array();
        $tgl = $kodeaw['tgl'];
        $data_rekap = $this->kasir_model->getRekapHarian($kdtoko, $tgl);
        $data['toko'] = $this->kasir_model->get_toko();
        $data['tgl'] = $tgl;
        $data['waktu'] = $waktu;
        $data['user'] = $id_user;
        $data['total_debet'] = 0;
        $data['total_cash'] = 0;
        $data['total_ppn'] = 0;
        $data['total_ppnt'] = 0;
        $data['total_ongkir'] = 0;
        $data['total_tetap'] = 0;
        $data['total_promo'] = 0;
        $data['total_biaya'] = 0;
        $data['rekap'] = $data_rekap;
        $data['pengeluaran'] = $this->kasir_model->datarekapPengeluaranHarian($kdtoko, $tgl);
        $data['pengeluaranp'] = $this->kasir_model->datarekapPengeluaranHarianp($kdtoko, $tgl);
        $data['tetap'] = $this->kasir_model->datarekapPengeluarantetap($kdtoko, $tgl);
        $data['biaya'] = $this->kasir_model->getRekapbiaya($kdtoko, $tgl);
        $data['trekap'] = $this->kasir_model->datarekap($kdtoko, $tgl);
        $this->load->view('kasir/cetak_rekap_harian', $data);
    }

    public function cetak_rekap_52()
    {
        $akses = $this->session->userdata('akses');
        $waktu = date('H:i:s');
        $tgl_sort = date('Y-m-d');
        $id_user = $this->session->userdata('ses_username');
        $kdtoko = $this->session->userdata('kd_toko');

        $kodea = $this->db->query("select * from tanggal where kdcabang='$kdtoko';");
        $kodeaw = $kodea->row_array();
        $tgl = $kodeaw['tgl'];

        if ($akses != 'kasir') {
            $kdtoko = $this->session->userdata('tokoku');
            $tgl = $this->session->userdata('tglku');
        }

        $data_rekap = $this->kasir_model->getRekapHarian_52($kdtoko, $tgl);
        $data['toko'] = $this->kasir_model->get_tokoku($kdtoko);
        $data['tgl'] = $tgl;
        $data['waktu'] = $waktu;
        $data['user'] = $id_user;
        $data['total_debet'] = 0;
        $data['total_cash'] = 0;
        $data['total_ppn'] = 0;
        $data['total_ppnt'] = 0;
        $data['total_ongkir'] = 0;
        $data['total_tetap'] = 0;
        $data['total_promo'] = 0;
        $data['total_biaya'] = 0;
        $data['rekap'] = $data_rekap;
        $data['pengeluaran'] = $this->kasir_model->datarekapPengeluaranHarian_52($kdtoko, $tgl);
        $data['tetap'] = $this->kasir_model->datarekapPengeluarantetap($kdtoko, $tgl);
        $data['biaya'] = $this->kasir_model->getRekapbiaya($kdtoko, $tgl);
        $data['trekap'] = $this->kasir_model->datarekap_52($kdtoko, $tgl);
        $this->load->view('kasir/cetak_rekap_harian_52', $data);
    }

    public function cetak_rekapd()
    {
        $akses = $this->session->userdata('akses');
        $waktu = date('H:i:s');
        $tgl_sort = date('Y-m-d');
        $id_user = $this->session->userdata('ses_username');
        $kdtoko = $this->session->userdata('kd_toko');
        if ($akses == 'spv') {
            $kdtoko = $this->session->userdata('kdtoko');
        }
        $kodea = $this->db->query("select * from tanggal where kdcabang='$kdtoko';");
        $kodeaw = $kodea->row_array();
        $idbarang = '2a10';
        $tgl = date('Y-m-d');
        $data['toko'] = $this->kasir_model->get_tokoku($kdtoko);
        $data['tgl'] = $tgl;
        $data['waktu'] = $waktu;
        $data['user'] = $id_user;
        $data['total_debet'] = 0;
        $data['stokd'] = $this->kasir_model->getstokskr($kdtoko, $idbarang, $tgl);
        $data['trekapd'] = $this->kasir_model->datarekapd($kdtoko, $tgl);
        //$data['promosi'] = $this->kasir_model->datapromo($kdtoko,$tgl);
        $this->load->view('kasir/cetak_rekap_hariand', $data);
    }

    public function barang_masuk()
    {
        $tgl = date('Y-m-d');
        $nobukti = $this->input->post('sj');
        $kdtoko = $this->session->userdata('kd_toko');
        $stat = '0';
        $kodea = $this->db->query("select * from tabel_toko where kd_toko='$kdtoko';");
        $kodeaw = $kodea->row_array();
        $kdgudang = $kodeaw['kdgudang'];
        $stt = $this->db->query("select * from stokheadera where nobukti='$nobukti';");
        $stt1 = $stt->row_array();
        if (isset($stt1)) {
            $stat = $stt1['st'];
        }
        $isi = $this->kasir_model->isidataBarangMasuk($nobukti, $kdgudang);

        $tgl = date('Y-m-d');
        $data['no'] = 1;
        $data['tanggal'] = $tgl;
        $data['nobukti'] = $nobukti;
        $data['stat'] = $stat;
        $data['daftar'] = $this->kasir_model->dataBarangMasuk($nobukti);
        $this->load->view('header', $data);
        $this->load->view('kasir/barang_masuk');
    }
    public function barang_masuk1()
    {
        $tgl = date('Y-m-d');
        $nobukti = $this->uri->segment(3);
        $kdtoko = $this->session->userdata('kd_toko');
        $stat = '2';
        $kodea = $this->db->query("select * from tabel_toko where kd_toko='$kdtoko';");
        $kodeaw = $kodea->row_array();
        $kdgudang = $kodeaw['kdgudang'];
        $stt = $this->db->query("select * from stokheadera where nobukti='$nobukti';");
        $stt1 = $stt->row_array();
        if (isset($stt1)) {
            $stat = $stt1['st'];
        }
        $isi = $this->kasir_model->isidataBarangMasuk($nobukti, $kdgudang);

        $tgl = date('Y-m-d');
        $data['no'] = 1;
        $data['tanggal'] = $tgl;
        $data['nobukti'] = $nobukti;
        $data['stat'] = $stat;
        $data['daftar'] = $this->kasir_model->dataBarangMasuk($nobukti);
        $this->load->view('header', $data);
        $this->load->view('kasir/barang_masuk');
    }
    public function masukbarang()
    {
        $tgl = date('Y-m-d');
        $nobukti = $this->uri->segment(3);
        $cek = $this->db->query("select * from stokheadera where nobukti='$nobukti'");
        $cek1 = $cek->row_array();
        $kdtoko = $cek1['kdcabang'];
        if ($kdtoko == null) {
            $kdtoko = $this->session->userdata('kd_toko');
        }
        $kodea = $this->db->query("select * from tabel_toko where kd_toko='$kdtoko';");
        $kodeaw = $kodea->row_array();
        $kdgudang = $kodeaw['kdgudang'];
        $isi = $this->kasir_model->isidataBarangMasuk($nobukti, $kdgudang);

        $tgl = date('Y-m-d');
        $data['no'] = 1;
        $data['tanggal'] = $tgl;
        $data['nobukti'] = $nobukti;
        $data['daftar'] = $this->kasir_model->dataBarangMasuk($nobukti);
        $this->load->view('header', $data);
        $this->load->view('kasir/barang_masuk');
    }
    public function edit_jumlah_masuk()
    {
        $nobukti = $this->input->post('nofak');
        $kdbrg = $this->input->post('kdbrg');
        $jml = $this->input->post('jml');
        $kdtoko = $this->session->userdata('kd_toko');
        $this->db->query("UPDATE stokdetaila SET qtyterima='$jml' WHERE  nobukti='$nobukti' and kdbrg='$kdbrg';");
        $tgl = date('Y-m-d');
        $data['no'] = 1;
        $data['tanggal'] = $tgl;
        $data['nobukti'] = $nobukti;
        $data['daftar'] = $this->kasir_model->dataBarangMasuk($nobukti);
        $this->load->view('header', $data);
        $this->load->view('kasir/barang_masuk');
    }
    public function edit_ket_masuk()
    {
        $nobukti = $this->input->post('nofak');
        $kdbrg = $this->input->post('kdbrg');
        $keter = $this->input->post('keter');
        $kdtoko = $this->session->userdata('kd_toko');
        $this->db->query("UPDATE stokdetaila SET keter='$keter' WHERE  nobukti='$nobukti' and kdbrg='$kdbrg';");
        $tgl = date('Y-m-d');
        $data['no'] = 1;
        $data['tanggal'] = $tgl;
        $data['nobukti'] = $nobukti;
        $data['daftar'] = $this->kasir_model->dataBarangMasuk($nobukti);
        $this->load->view('header', $data);
        $this->load->view('kasir/barang_masuk');
    }

    public function masuk_token()
    {
        $waktu = date('H:i:s');
        $tgl = date('Y-m-d');
        $jam = date("d-m-Y H:i:s");
        $nobukti = $this->input->post('nobuk');
        $token = $this->input->post('token');
        $note = $this->input->post('note');
        $kdtoko = $this->session->userdata('kd_toko');
        $user = $this->session->userdata('ses_username');
        $stok_sekarang = 0;
        $publish = 0;
        $stok_porsi = $this->kasir_model->getStokdetail($nobukti, $tgl)->result();
        foreach ($stok_porsi as $key) {
            $kode = $key->kdbrg;
            $jumlah = $key->qtyterima;
            $keter = $key->keter;
            $stok_baru = $jumlah;
            $ctok = $this->kasir_model->cek_stok_mutasi($kode);
            if ($ctok->num_rows() > 0) {
                $i = $ctok->row_array();
                $stok_sekarang = $i['stok'];
                $stok_baru = $jumlah + $stok_sekarang;
                $this->db->query("UPDATE tabel_stok_toko SET stok='$stok_baru' WHERE kd_barang='$kode' and kd_toko='$kdtoko'");
            } else {
                $this->db->query("insert ignore into tabel_stok_toko(kd_toko,kd_barang,stok,tgl_perubahan) value ('$kdtoko','$kode','$jumlah','$jam') ");
            }
            $this->db->query("INSERT INTO tabel_kartu_stok (kode_toko,kode_barang,waktu,jam,sebelumnya,keluar,masuk,saldo,keterangan,user,publish,nobukti,jtran) VALUES
			                                               ('$kdtoko','$kode','$tgl','$waktu','$stok_sekarang','0','$jumlah','$stok_baru','$keter','$user','$publish','$nobukti','TP')");
            $this->db->query("UPDATE stokdetaila SET st='2' where  nobukti='$nobukti' and kdbrg='$kode' and st<>'2';");
        }

        $this->db->query("UPDATE stokheadera SET st='6',token='$token',note='$note',tglaprove='$tgl',jamaprove='$waktu' WHERE  nobukti='$nobukti' and st='2';");
        $data['no'] = 1;
        $data['tanggal'] = $tgl;
        $data['nobukti'] = $nobukti;
        $data['daftar'] = $this->kasir_model->dataBarangMasuk($nobukti);
        $this->load->view('header', $data);
        $this->load->view('kasir/barang_masuk');
    }

    public function cetak_barang_masuk()
    {
        $tgl = date('Y-m-d');
        $data['toko'] = $this->kasir_model->get_toko();
        $nobukti = $this->uri->segment(3);
        $data['no'] = 1;
        $data['tanggal'] = $tgl;
        $data['masuk'] = $this->kasir_model->dataBarangMasuk($nobukti);
        $this->load->view('kasir/cetak_barang_masuk', $data);
    }


    public function nomor_faktur()
    {
        $ymd = date('ymd');
        $tgl_now = date('Y-m-d');
        $waktu = date('H:i:s');
        $id_user = $this->session->userdata('ses_username');
        $kodea = $this->db->query("select kd_toko from tabel_user where id_user='$id_user';");
        $kodeaw = $kodea->row_array();
        $kodeawal = $this->session->userdata('kd_toko');
        $kodefak = $kodeawal . $ymd;
        //	$this->db->query("update tabel_penjualan set stat='1' where  stat<>'1' and selesai='1' and nbayar>0;");

        // $max = $this->db->query("SELECT MAX(RIGHT(no_faktur_penjualan,3)) AS last FROM tabel_penjualan WHERE substr(no_faktur_penjualan,6,6)='$ymd'");
        // $x = $max->row_array();
        // $last = $x['last'];
        $cek = $this->db->query("SELECT * FROM tabel_penjualan WHERE selesai='0' AND tgl_penjualan='$tgl_now' and kdcabang='$kodeawal' and id_user='$id_user' and stat='0' order by no_faktur_penjualan desc limit 1;");
        $i = $cek->row_array();
        $user = '';
        $selesai = '';
        if (isset($i)) {
            $user = $i['id_user'];
            $selesai = $i['selesai'];
            $kdfak = $i['no_faktur_penjualan'];
            $kdstat = $i['stat'];
            $nofaktur = $i['no_faktur_penjualan'];
        } else {

            $nofaktur = $this->kasir_model->getNoFaktur($kodefak);
            $data = array(
                'no_faktur_penjualan' => $nofaktur,
                'tgl_penjualan' => $tgl_now,
                'waktu' => $waktu,
                'id_user' => $id_user,
                'kdcabang' => $kodeawal,
                'selesai' => '0',
            );
            $this->db->insert('tabel_penjualan', $data);
        }
        redirect('kasir/mesin-kasir/' . $nofaktur, 'refresh');
    }

    public function nomor_faktur1()
    {
        $noresi = $this->uri->segment(3);
        $ymd = date('ymd');
        $tgl_now = date('Y-m-d');
        $waktu = date('H:i:s');
        $keter = 'Reg Mandiri';
        $jnsbayar = '1';
        $struk = '1';
        $kpromo = '';
        $item = 0;
        $maxbonus = 0;

        $id_user = $this->session->userdata('ses_username');
        $kodeawal = $this->session->userdata('kd_toko');
        $inv = $this->db->query("select * from tbl_invoice a
		                        left join tbl_pelanggan b on a.inv_plg_id=b.plg_id
		                        where a.inv_no='$noresi' and a.kdcabang='$kodeawal';");
        $inva = $inv->row_array();
        if (isset($inva)) {
            $custno = $inva['inv_plg_id'];
            $npelanggan = $inva['inv_plg_nama'];
            $kdharga = $inva['layanan'];
            $promo = $inva['promo'];
            $kdcabang = $inva['kdcabang'];
            $notelp = $inva['notelp'];
            $jnsbayar = $inva['jnsbayar'];
            $kpromo = $inva['kdpromo'];
            $item = $inva['item'];
            $makbonus = $inva['maxbonus'];
            $ongkir = $inva['ongkir'];
        }

        $kodefak = $kodeawal . $ymd;
        $max = $this->db->query("SELECT MAX(RIGHT(no_faktur_penjualan,3)) AS last FROM tabel_penjualan WHERE substr(no_faktur_penjualan,6,6)='$ymd'");
        $x = $max->row_array();
        $last = $x['last'];
        $cek = $this->db->query("SELECT * FROM tabel_penjualan WHERE selesai='0' AND substr(no_faktur_penjualan,6,6)='$ymd' and kdcabang='$kodeawal' and id_user='$id_user' order by no_faktur_penjualan desc limit 1;");
        $i = $cek->row_array();
        $user = '';
        $selesai = '';
        if (isset($i)) {
            $user = $i['id_user'];
            $selesai = $i['selesai'];
            $kdfak = $i['no_faktur_penjualan'];
        }
        if ($user == $id_user && $selesai == '0') {
            $nofaktur = $kdfak;
            $data = array(
                'custno' => $custno,
                'noorder' => $noresi,
                'notelp' => $notelp,
                'npelanggan' => $npelanggan,
                'kdharga' => 'KH01',
                'layanan' => $kdharga,
                'keter' => $keter,
                'jnsbayar' => $jnsbayar,
                'struk' => $struk,
                'idpromo' => $kpromo,
                'promo' => $promo,
                'item' => $item,
                'maxbonus' => $maxbonus,
                'ongkir' => $ongkir,

            );
            $this->db->where('no_faktur_penjualan', $nofaktur);
            $this->db->update('tabel_penjualan', $data);
            redirect('kasir/mesin-kasir/' . $nofaktur, 'refresh');
        } else {

            $nofaktur = $this->kasir_model->getNoFaktur($kodefak);
            $data = array(
                'no_faktur_penjualan' => $nofaktur,
                'tgl_penjualan' => $tgl_now,
                'waktu' => $waktu,
                'id_user' => $id_user,
                'kdcabang' => $kodeawal,
                'custno' => $custno,
                'noorder' => $noresi,
                'notelp' => $notelp,
                'npelanggan' => $npelanggan,
                'kdharga' => 'KH01',
                'layanan' => $kdharga,
                'keter' => $keter,
                'selesai' => '0',
                'jnsbayar' => $jnsbayar,
                'struk' => $struk,
                'idpromo' => $kpromo,
                'promo' => $promo,
                'item' => $item,
                'maxbonus' => $maxbonus,
                'ongkir' => $ongkir,

            );
            $this->db->insert('tabel_penjualan', $data);
        }
        redirect('kasir/mesin-kasir/' . $nofaktur, 'refresh');
    }


    public function nomor_faktur_new()
    {
        $ymd = date('ymd');
        $tgl_now = date('Y-m-d');
        $waktu = date('H:i:s');
        $id_user = $this->session->userdata('ses_username');
        $kodeawal = $this->session->userdata('kd_toko');
        $nofaktur = $this->kasir_model->getNoFaktur($ymd);
        $data = array(
            'no_faktur_penjualan' => $nofaktur,
            'tgl_penjualan' => $tgl_now,
            'waktu' => $waktu,
            'id_user' => $id_user,
            'kdcabang' => $kodeawal,
            'selesai' => '0',
        );
        $this->db->insert('tabel_penjualan', $data);
        redirect('kasir/mesin-kasir/' . $nofaktur, 'refresh');
    }
    public function updmember()
    {
        $noresi = $this->uri->segment(3);
        $idmember = $this->uri->segment(4);
        $kacab = $this->uri->segment(5);
        $uri = base_url('kasir/mesin-kasir/') . $noresi;
        $upd = $this->db->query("update tabel_penjualan a,pegawai b set a.npelanggan=b.nama,a.nip=b.nip,a.custno='048', typecust='2',struk='1',a.notelp=b.notel,a.idpromo='048',a.maxbonus=1,a.jnspromo='2',a.promo='2' 
		            where a.no_faktur_penjualan='$noresi' and b.nip='$idmember' and b.kdcab='$kacab';");
        header("Location: " . $uri, TRUE);
    }

    public function mesin_kasir()
    {
        $tgl = date('Y-m-d');
        $noresi = $this->uri->segment(3);
        $nofaktur = $this->uri->segment(3);
        $cr = $this->db->query("select kdharga,netto,point,jnspromo,idpromo,nbayar,nkembali,stbayar from tabel_penjualan where no_faktur_penjualan='$noresi';");
        $i = $cr->row_array();
        $kdharga = $i['kdharga'];
        $minorder = $i['point'];
        $jnspromo = $i['jnspromo'];
        $kdpromo = $i['idpromo'];
        $netto = $i['netto'];
        $kembali = $i['nkembali'];
        $bayar = $i['nbayar'];
        $stbayar = $i['stbayar'];

        if ($stbayar == '1') {
            $uri = base_url('kasir/mesin-kasir-bayar/') . $nofaktur;
            echo $this->session->set_flashdata('error', 'Faktur Sudah Dibayar');
            if ($bayar == 0) {
                $up = $this->db->query("update tabel_penjualan set nbayar=netto where no_faktur_penjualan='$nofaktur';");
            }
            header("Location: " . $uri, TRUE);
        } else {

            if ($jnspromo == '9') {
                if ($netto < $minorder) {
                    $this->db->query("delete from tabel_rinci_penjualan  where no_faktur_penjualan='$noresi' and kdpromo='$kdpromo';");
                }
            }
            $data['menu'] = $this->kasir_model->getDataMenu();
            $data['menu1'] = $this->kasir_model->getDataMenu1();
            $data['menub'] = $this->kasir_model->getDataMenubonus();
            $data['pegawai'] = $this->kasir_model->getpegawai();
            $data['plg'] = $this->kasir_model->getplg();
            $data['customer'] = $this->kasir_model->getcustomer();
            $data['promosi'] = $this->kasir_model->getpromo($tgl, $kdharga);
            $ada = '0';
            $cari = $this->db->query("select count(*) as ada from tabel_antri where nobukti='$noresi';");
            $adac = $cari->row_array();
            if (isset($adac)) {
                $ada = $adac['ada'];
            }
            if ($ada == '1') {
                $uri = base_url('kasir/transaksi-selesai/') . $netto . '/' . $bayar . '/' . $kembali . '/' . $nofaktur;
                echo $this->session->set_flashdata('error', 'Faktur Sudah Pernah Dicetak');
                header("Location: " . $uri, TRUE);
            }
            if ($ada == '0') {
                $this->db->query("update tabel_penjualan set selesai='0' where no_faktur_penjualan='$noresi';");
            }
            $username = $this->session->userdata('ses_username');
            $data_faktur = $this->kasir_model->getDataPenjualan($noresi, $username)->row();
            $list_barang = $this->kasir_model->getListPenjualan($noresi);



            if ($data_faktur) {
                $data['tgl'] = date('Y-m-d');
                $data['faktur'] = $data_faktur;
                $data['list'] = $list_barang;
                $data['tot_item'] = 0;
                $data['tot_belanja'] = 0;
                $data['tot_nppn'] = 0;
                $data['tot_diskon'] = 0;
                $data['belanja'] = $this->kasir_model->getTotalBelanja($noresi)->row();
                $this->load->view('header', $data);
                $this->load->view('kasir/mesin_kasir');
            } else {
                $this->load->view('error404');
            }
        }
    }
    public function mesin_kasir1()
    {
        $tgl = date('Y-m-d');
        $noresi = $this->uri->segment(3);
        $nofaktur = $this->uri->segment(3);
        $cr = $this->db->query("select kdharga,netto,point,jnspromo,idpromo,nbayar,nkembali,stbayar from tabel_penjualan where no_faktur_penjualan='$noresi';");
        $i = $cr->row_array();
        $kdharga = $i['kdharga'];
        $minorder = $i['point'];
        $jnspromo = $i['jnspromo'];
        $kdpromo = $i['idpromo'];
        $netto = $i['netto'];
        $kembali = $i['nkembali'];
        $bayar = $i['nbayar'];
        $stbayar = $i['stbayar'];
        if ($stbayar == '1') {
            $uri = base_url('kasir/mesin-kasir-bayar1/') . $nofaktur;
            echo $this->session->set_flashdata('error', 'Faktur Sudah Dibayar');
            if ($bayar == 0) {
                $up = $this->db->query("update tabel_penjualan set nbayar=netto where no_faktur_penjualan='$nofaktur';");
            }
            header("Location: " . $uri, TRUE);
        } else {

            if ($jnspromo == '9') {
                if ($netto < $minorder) {
                    $this->db->query("delete from tabel_rinci_penjualan  where no_faktur_penjualan='$noresi' and kdpromo='$kdpromo';");
                }
            }
            $data['menu'] = $this->kasir_model->getDataMenu();
            $data['menu1'] = $this->kasir_model->getDataMenu1();
            $data['menub'] = $this->kasir_model->getDataMenubonus();
            $data['pegawai'] = $this->kasir_model->getpegawai();
            $data['plg'] = $this->kasir_model->getplg();
            $data['customer'] = $this->kasir_model->getcustomer();
            $data['promosi'] = $this->kasir_model->getpromo($tgl, $kdharga);
            $ada = '0';
            $cari = $this->db->query("select count(*) as ada from tabel_antri where nobukti='$noresi';");
            $adac = $cari->row_array();
            if (isset($adac)) {
                $ada = $adac['ada'];
            }
            if ($ada == '1') {
                $uri = base_url('kasir/transaksi-selesai/') . $netto . '/' . $bayar . '/' . $kembali . '/' . $nofaktur;
                echo $this->session->set_flashdata('error', 'Faktur Sudah Pernah Dicetak');
                header("Location: " . $uri, TRUE);
            }
            if ($ada == '0') {
                $this->db->query("update tabel_penjualan set selesai='0' where no_faktur_penjualan='$noresi';");
            }
            $username = $this->session->userdata('ses_username');
            $data_faktur = $this->kasir_model->getDataPenjualan($noresi, $username)->row();
            $list_barang = $this->kasir_model->getListPenjualan($noresi);



            if ($data_faktur) {
                $data['tgl'] = date('Y-m-d');
                $data['faktur'] = $data_faktur;
                $data['list'] = $list_barang;
                $data['tot_item'] = 0;
                $data['tot_belanja'] = 0;
                $data['tot_nppn'] = 0;
                $data['tot_diskon'] = 0;
                $data['belanja'] = $this->kasir_model->getTotalBelanja($noresi)->row();
                $this->load->view('header', $data);
                $this->load->view('kasir/mesin_kasir');
            } else {
                $this->load->view('error404');
            }
        }
    }


    public function penjualan_pending()
    {
        $noresi = $this->input->post('nofak_bayar');
        $nofaktur = $this->input->post('nofak_bayar');
        $stbayar = 0;
        $aw = $this->db->query("select layanan,posting,kdharga,idpromo,item,jnspromo,netto,nbayar,nkembali,stbayar from tabel_penjualan where no_faktur_penjualan='$nofaktur';");
        $awa = $aw->row_array();
        if (isset($awa)) {
            $netto = $awa['netto'];
            $kembali = $awa['nkembali'];
            $bayar = $awa['nbayar'];
            $stbayar = $awa['stbayar'];
        }
        if ($stbayar == '1') {
            $uri = base_url('kasir/mesin-kasir-bayar/') . $nofaktur;
            echo $this->session->set_flashdata('error', 'Faktur Sudah Dibayar');
            header("Location: " . $uri, TRUE);
        } else {
            $ada = '0';
            $cari = $this->db->query("select count(*) as ada from tabel_antri where nobukti='$noresi';");
            $adac = $cari->row_array();
            if (isset($adac)) {
                $ada = $adac['ada'];
            }
            if ($ada == '1') {

                $uri = base_url('kasir/transaksi-selesai/') . $netto . '/' . $bayar . '/' . $kembali . '/' . $nofaktur;
                echo $this->session->set_flashdata('error', 'Faktur Sudah Pernah Dicetak');
                header("Location: " . $uri, TRUE);
            } else {
                $this->db->query("update tabel_penjualan set selesai='3' where no_faktur_penjualan='$noresi' ;");
                $this->db->query("update tabel_penjualan set stat='4' where no_faktur_penjualan='$noresi' and selesai<>'1' and stat='1';");
            }
            $id_user = $this->session->userdata('ses_username');
            $now = date('Y-m-d');
            $before = date('Y-m-d', strtotime('-30 days', strtotime($now)));
            $data['pending'] = $this->kasir_model->transaksiPending($id_user, $now, $before);

            $data['no'] = 1;
            $this->load->view('header', $data);
            $this->load->view('kasir/penjualan_pending');
        }
    }
    public function penjualan_edit()
    {
        $noresi = $this->input->post('nofaktur');
        $nofaktur = $this->input->post('nofaktur');
        $uri = base_url('kasir/mesin-kasir/') . $noresi;
        $aw = $this->db->query("select layanan,posting,kdharga,idpromo,item,jnspromo,netto,nbayar,nkembali,stbayar from tabel_penjualan where no_faktur_penjualan='$nofaktur';");
        $awa = $aw->row_array();
        $netto = $awa['netto'];
        $kembali = $awa['nkembali'];
        $bayar = $awa['nbayar'];
        $stbayar = $awa['stbayar'];

        if ($stbayar == '1') {
            $uri = base_url('kasir/mesin-kasir-bayar/') . $nofaktur;
            echo $this->session->set_flashdata('error', 'Faktur Sudah Dibayar');
            header("Location: " . $uri, TRUE);
        } else {

            $ada = '0';
            $cari = $this->db->query("select count(*) as ada from tabel_antri where nobukti='$noresi';");
            $adac = $cari->row_array();
            if (isset($adac)) {
                $ada = $adac['ada'];
            }
            if ($ada == '1') {

                $uri = base_url('kasir/transaksi-selesai/') . $netto . '/' . $bayar . '/' . $kembali . '/' . $nofaktur;
                echo $this->session->set_flashdata('error', 'Faktur Sudah Pernah Dicetak');
                header("Location: " . $uri, TRUE);
            } else {
                $this->db->query("update tabel_penjualan set posting='0' where no_faktur_penjualan='$noresi' and selesai<>'1';");
            }
            header("Location: " . $uri, TRUE);
        }
    }

    public function kode_editbayar()
    {
        $noresi = $this->input->post('nobuk');
        $bayarnew = $this->input->post('bayarnew');
        $this->db->query("update tabel_penjualan set jnsbayar='$bayarnew' where no_faktur_penjualan='$noresi';");
        $uri = base_url('kasir/rekap/');
        redirect('kasir/rekap_1/', 'refresh');
    }
    public function kode_editbayarojol()
    {
        $noresi = $this->input->post('nobuk');
        $bayarnew = $this->input->post('bayarnew');
        $this->db->query("update tabel_penjualan a,kodeharga b set a.kdharga='$bayarnew',a.keter=b.keterangan,a.jnsbayar=b.jnsbayar where no_faktur_penjualan='$noresi' and b.kdharga='$bayarnew';");
        $uri = base_url('kasir/rekap/');
        redirect('kasir/rekap_1/', 'refresh');
    }
    public function kode_editbatalojol()
    {
        $noresi = $this->input->post('nobuk');
        $statusnew = $this->input->post('statusnew');
        $note = $this->input->post('note');
        $this->db->query("update tabel_penjualan set selesai='$statusnew',stat='4',note='$note' where no_faktur_penjualan='$noresi';");
        $uri = base_url('kasir/rekap/');
        redirect('kasir/rekap_1/', 'refresh');
    }
    public function kode_editbatalreg()
    {
        $token = $this->input->post('token');
        $idtoken = $this->input->post('idtoken');
        $note = $this->input->post('note');
        $noresi = $this->input->post('nobuk');
        $acc = $this->input->post('acc');
        $password = (($token / 130593));
        $tgl = date('Y-m-d');
        $jam = date('H:i:s');
        $uri = base_url('kasir/rekap_1/');

        if ($password != $idtoken) {
            echo $this->session->set_flashdata('error', 'Password Salah');
            $uri = base_url('kasir/rekap/');
            redirect('kasir/rekap_1/', 'refresh');
        } else {
            $data = array(
                'token' => $token,
                'idtoken' => $idtoken,
                'note' => $note,
                'acc' => $acc,
                'selesai' => '4',
                'tglbatal' => $tgl,
                'jambatal' => $jam,
                'stat' => '4',
            );
            $this->db->where('no_faktur_penjualan', $noresi);
            $this->db->update('tabel_penjualan', $data);
            redirect('kasir/rekap_1/', 'refresh');
        }
    }
    public function kode_editnomorwa()
    {
        $noresi = $this->input->post('nobuk');
        $statusnew = $this->input->post('nowanew');
        $this->db->query("update tabel_penjualan set notelp='$statusnew' where no_faktur_penjualan='$noresi';");
        $uri = base_url('kasir/rekap/');
        redirect('kasir/rekap_1/', 'refresh');
    }


    public function go_to_bayar()
    {
        $noresi = $this->input->post('nofak_bayar');
        $nofaktur = $this->input->post('nofak_bayar');
        $total_penjualan = $this->input->post('total_belanja');
        $diskon = $this->input->post('diskon_belanja');
        $ket_diskon = $this->input->post('diskon_ket');
        $layan = $this->input->post('layan');
        $ongkir = $this->input->post('ongkir');
        $disc = $this->input->post('disc');
        $ndisc = $this->input->post('ndisc');
        $idpromo = $this->input->post('idpromo');
        $nppn = $this->input->post('nppn');
        $kdharga = $this->input->post('kdharga');
        $netongkir = 0;
        $stbayar = 0;
        if ($total_penjualan == null) {
            $total_penjualan = 0;
        }
        if ($diskon == null) {
            $diskon = 0;
        }

        $total_sdiskon = $total_penjualan - $diskon;



        $ada = '0';
        $cari = $this->db->query("select count(*) as ada from tabel_antri where nobukti='$noresi';");
        $adac = $cari->row_array();
        if (isset($adac)) {
            $ada = $adac['ada'];
        }
        if ($ada == '1') {
            $aw = $this->db->query("select layanan,posting,kdharga,idpromo,item,jnspromo,netto,nbayar,nkembali from tabel_penjualan where no_faktur_penjualan='$nofaktur';");
            $awa = $aw->row_array();
            $netto = $awa['netto'];
            $kembali = $awa['nkembali'];
            $bayar = $awa['nbayar'];
            $uri = base_url('kasir/transaksi-selesai/') . $netto . '/' . $bayar . '/' . $kembali . '/' . $nofaktur;
            echo $this->session->set_flashdata('error', 'Faktur Sudah Pernah Dicetak');
            header("Location: " . $uri, TRUE);
        } else {

            if ($layan > 1) {
                if ($kdharga == 'KH01') {

                    if ($layan == '3') {
                        $diskon = 0;
                        $nilai = 0;
                        $ongkir = $this->db->query("select a.nilai from ongkir a
				                             left join tabel_penjualan b on a.kode=b.kdcabang
				                             where a.st='1' and a.drtgl<=b.tgl_penjualan and a.smptgl>=b.tgl_penjualan
				                             and b.no_faktur_penjualan='$noresi';");
                        $onk = $ongkir->row_array();

                        $dongkir = $this->db->query("select a.diskon from detailongkir a
				                             left join tabel_penjualan b on a.kode=b.kdcabang
				                             where a.st='1' and a.drtgl<=b.tgl_penjualan and a.smptgl>=b.tgl_penjualan
				                             and b.no_faktur_penjualan='$noresi';");
                        $donk = $dongkir->row_array();
                        if (isset($donk)) {
                            $diskon = $donk['diskon'];
                        }
                        if (isset($onk)) {
                            $nilai = $onk['nilai'];
                        }
                        $netongkir = $nilai - $diskon;
                        //   if($idpromo !='054')  {                       
                        //    $this->db->query("update tabel_penjualan set ongkir='$netongkir' where no_faktur_penjualan ='$noresi' ;");
                        //     }
                    }
                }
            }
            $dis = 0;
            if ($idpromo != null) {
                $min = 0;
                $max = 0;
                $dd = 0;

                $pr = $this->db->query("select minorder,maxdisc,disc1,ndisc1,jnspromo,jnsmenu,hari,jnslayanan,jnslayanan1,jnslayanan2,komisi1 from promoheader where idprogram='$idpromo';");
                $dprom = $pr->row_array();
                if (isset($dprom)) {
                    $min = $dprom['minorder'];
                    $max = $dprom['maxdisc'];
                    $dd = $dprom['disc1'];
                    $ndd = $dprom['ndisc1'];
                    $komisi1 = $dprom['komisi1'];
                    $jnspromo = $dprom['jnspromo'];
                    $jnslayanan = $dprom['jnslayanan'];
                    $jnslayanan1 = $dprom['jnslayanan1'];
                    $jnslayanan2 = $dprom['jnslayanan2'];
                    if ($total_sdiskon >= $min) {
                        $disc = $dprom['disc1'];
                        if ($ndd > 0) {
                            $dis = $ndd;
                        }
                        if ($disc > 0) {
                            $dis = (($disc / 100) * $total_sdiskon);
                        }
                        if ($komisi1 > 0) {
                            $dis = ((($disc / 100) * $total_sdiskon) * ($komisi1 / 100)) * 1.1;
                        }
                        if ($max > 0) {
                            if ($dis > $max) {
                                $dis = $max;
                            }
                        }
                        if ($jnspromo == '5') {
                            $nppn = ($nppn - ($dis * (10 / 100)));
                        }
                    } else {
                        $disc = 0;
                    }
                }
                if ($jnspromo == '2') {
                    $prd = $this->db->query("select a.kdbonus,a.minqty,a.maxqty,a.perqty,a.idmenu,a.qtybonus,b.nama_menu,b.harga_modal,b.nolap,b.jenisbrg from promodetail a 
												left join tabel_menu b on a.kdbonus=b.kode_menu 						
												where a.idpromo='$idpromo';");
                    $dpromd = $prd->row_array();
                    $kdbonus = $dpromd['kdbonus'];
                    $qtybonus = $dpromd['qtybonus'];
                    $minqty = $dpromd['minqty'];
                    $maxqty = $dpromd['maxqty'];
                    $perqty = $dpromd['perqty'];
                    $idmenu = $dpromd['idmenu'];
                    $nmmenu = $dpromd['nama_menu'];
                    $nolap = $dpromd['nolap'];
                    $jnsbrg = $dpromd['jenisbrg'];
                    $hgmodal = $dpromd['harga_modal'];

                    $qtypromo = $this->db->query("select sum(qty) as total,nourut from fakturpromo where idmenu='$idmenu' and nobukti='$noresi' group by idmenu;");
                    $qtyp = $qtypromo->row_array();
                    if (isset($qtyp)) {
                        $qtyjual = $qtyp['total'];
                        $nourut = $qtyp['nourut'];
                        if ($min == 0) {
                            $min = 1;
                        }
                        $qtypembagi = ($total_sdiskon * 1.1) / $min;
                        if ($qtypembagi >= 1) {
                            $qtyb = floor($qtypembagi);
                            if ($qtyb >= $maxqty) {
                                $qtyb = $maxqty;
                            }
                        } else {
                            $qtyb = (($qtyjual * $qtybonus) / $perqty);
                            if ($qtyb >= $maxqty) {
                                $qtyb = $maxqty;
                            }
                        }
                        if ($layan <> '3') {
                            if (($total_sdiskon * 1.1) >= $min) {
                                if ($kdharga == 'KH01') {
                                    $this->db->query("
							                INSERT IGNORE INTO tabel_rinci_penjualan(no_faktur_penjualan,nourut,kd_barang,nm_barang,jumlah,harga_modal,harga,kdpromo,sub_total_jual,nolap,jnsbarang,tgl)
					                        value ('$noresi','$nourut','$kdbonus','$nmmenu','$qtyb','$hgmodal',0,'$idpromo',0,'$nolap','$jnsbrg',curdate());");
                                }
                            }
                        }
                    }
                }
            }


            $netto = ($total_sdiskon - $dis) + $netongkir + $nppn;
            $kdharga = $this->input->post('kdharga');
            $layan = $this->input->post('layan');

            if ($kdharga == 'KH01' or $kdharga == 'KH05') {
                if ($layan == '3') {
                    $tglbayar = date('Y-m-d H:m:s');
                    $nbayar = $netto;
                    $jnsbayar = '1';
                    $stbayar = '1';
                } else {
                    $tglbayar = '';
                    $nbayar = 0;
                    $jnsbayar = '1';
                }
            }


            if ($kdharga != 'KH01') {
                if ($kdharga != 'KH05') {
                    $tglbayar = date('Y-m-d H:m:s');
                    $nbayar = $netto;
                    if ($kdharga == 'KH01') {
                        $jnsbayar = '1';
                    }
                    if ($kdharga == 'KH02') {
                        $jnsbayar = '3';
                    }
                    if ($kdharga == 'KH03') {
                        $jnsbayar = '4';
                    }
                    if ($kdharga == 'KH04') {
                        $jnsbayar = '6';
                    }
                }
            }


            $ongkir = 0;
            if ($layan == '3') {
                if ($kdharga == 'KH01') {
                    $kdcabang = $this->session->userdata('kd_toko');
                    $pon = $this->db->query("select * from promoongkir where nobukti='$idpromo' and daritgl<=curdate() and smptgl>=curdate() and kdcabang='$kdcabang' and min<='$netto' 
                    order by min desc limit 1;");
                    $pon1 = $pon->row_array();
                    if (!empty($pon1)) {
                        $ongkir = $pon1['nilai'];
                    }else{
                        $ongkir = 4000;
                    }
                    
                    // if ($idpromo == '054') {
                    //     if ($netto < 25000) {
                    //         $ongkir = 5000;
                    //     }else {
                    //     $ongkir = 3000;
                    // }
                    // }else{
                    //     $ongkir = 5000;
                    // }
                }
            }

            $data = array(
                'total_penjualan' => $total_penjualan,
                'diskon' => $diskon,
                'total_penjualan_sdiskon' => $total_sdiskon,
                'ket_diskon' => $ket_diskon,
                'nbayar' => $nbayar + $ongkir,
                'tglbayar' => $tglbayar,
                'jnsbayar' => $jnsbayar,
                'netto' => $netto + $ongkir,
                'ndisc' => $dis,
                'disc' => $disc,
                'nppn' => $nppn,
                'ongkir' => $ongkir,
                'stbayar' => $stbayar,

            );
            $this->db->where('no_faktur_penjualan', $noresi);
            $this->db->update('tabel_penjualan', $data);
            $uri = base_url('kasir/mesin-kasir-bayar/') . $noresi;
            header("Location: " . $uri, TRUE);
        }
    }


    public function go_to_bayar1()
    {
        $noresi = $this->input->post('nofak_bayar');
        $layan = $this->input->post('layan');
        $kdharga = $this->input->post('kdharga');
        $total_penjualan = $this->input->post('total_belanja');
        $diskon = $this->input->post('diskon_belanja');
        $disc = $this->input->post('disc');
        $ndisc = $this->input->post('ndisc');
        $idpromo = $this->input->post('idpromo');
        $posting = '1';

        $uri = base_url('kasir/mesin-kasir/') . $noresi;
        $this->db->query("UPDATE tabel_penjualan SET posting='1' WHERE  no_faktur_penjualan='$noresi';");
        $total_sdiskon = $total_penjualan - $diskon;
        if ($layan > 1) {
            if ($kdharga == 'KH01') {
                $this->db->query("
				        INSERT IGNORE INTO tabel_rinci_penjualan(no_faktur_penjualan,kd_barang,nm_barang,jumlah,harga_modal,harga,kodeta,sub_total_jual,nolap,jnsbarang,tgl)
					        SELECT a.nobukti,a.kdbrg,c.nama_menu,SUM(a.qty),c.harga_modal,b.hargajual,'Takeaway',(sum(a.qty)*b.hargajual),c.nolap,c.jenisbrg,curdate() FROM fakturpromo a
					        LEFT JOIN hargajual b ON b.kdbrg=a.kdbrg and b.kdharga='$kdharga' and b.kdcabang=mid('$noresi',1,5)
							LEFT JOIN tabel_menu c ON c.kode_menu=a.kdbrg
					        WHERE a.nobukti ='$noresi' 	and b.stat='1'
					        GROUP BY nobukti,kdbrg;");
                if ($layan == '3') {
                    $diskon = 0;
                    $nilai = 0;
                    $ongkir = $this->db->query("select a.nilai from ongkir a
				                             left join tabel_penjualan b on a.kode=b.kdcabang
				                             where a.st='1' and a.drtgl<=b.tgl_penjualan and a.smptgl>=b.tgl_penjualan
				                             and b.no_faktur_penjualan='$noresi';");
                    $onk = $ongkir->row_array();

                    $dongkir = $this->db->query("select a.diskon from detailongkir a
				                             left join tabel_penjualan b on a.kode=b.kdcabang
				                             where a.st='1' and a.drtgl<=b.tgl_penjualan and a.smptgl>=b.tgl_penjualan
				                             and b.no_faktur_penjualan='$noresi';");
                    $donk = $dongkir->row_array();
                    if (isset($donk)) {
                        $diskon = $donk['diskon'];
                    }
                    if (isset($onk)) {
                        $nilai = $onk['nilai'];
                    }
                    $netongkir = $nilai - $diskon;
                    //   if($idpromo !='054') {                         
                    //  $this->db->query("update tabel_penjualan set ongkir='$netongkir' where no_faktur_penjualan ='$noresi' ;");
                    //	    }
                }
            } else {
                $this->db->query("
				    INSERT IGNORE INTO tabel_rinci_penjualan(no_faktur_penjualan,kd_barang,nm_barang,jumlah,harga_modal,harga,kodeta,sub_total_jual,nolap,jnsbarang,tgl)
					        SELECT a.nobukti,a.kdbrg,b.nama_menu,SUM(a.qty),b.harga_modal,0,'Ojol',0,b.nolap,b.jenisbrg,curdate() FROM fakturpromo a
					        LEFT JOIN tabel_menu b ON b.kode_menu=a.kdbrg
					        WHERE a.nobukti ='$noresi' 
					        GROUP BY nobukti,kdbrg;");
            }
        }
        $dis = 0;
        if ($idpromo != null) {
            $min = 0;
            $max = 0;
            $dd = 0;

            $pr = $this->db->query("select minorder,maxdisc,disc1,ndisc1 from promoheader where idprogram='$idpromo';");
            $dprom = $pr->row_array();
            if (isset($dprom)) {
                $min = $dprom['minorder'];
                $max = $dprom['maxdisc'];
                $dd = $dprom['disc1'];
                $ndd = $dprom['ndisc1'];
                if ($total_sdiskon >= $min) {
                    if ($dd > 0) {
                        $dis = ($total_sdiskon * ($dd / 100));
                        if ($dis > $max) {
                            $dis = $max;
                        }
                    }
                    if ($ndd > 0) {
                        $dis = $ndd;
                    }
                }
            }
        }

        $this->db->query("UPDATE tabel_penjualan SET posting='1',netto=if(disc>0,(total_penjualan_sdiskon*(disc/100)),ndisc)+ongkir WHERE  no_faktur_penjualan='$noresi';");
        header("Location: " . $uri, TRUE);
    }

    public function mesin_kasir_bayar()
    {
        $noresi = $this->uri->segment(3);
        $username = $this->session->userdata('ses_username');
        $data_faktur = $this->kasir_model->getDataPenjualan($noresi, $username)->row();
        $list_barang = $this->kasir_model->getListPenjualan($noresi);
        if ($data_faktur) {
            $data['tgl'] = date('Y-m-d');
            $data['faktur'] = $data_faktur;
            $data['list'] = $list_barang;
            $data['tot_item'] = 0;
            $data['tot_ppn'] = 0;
            $data['tot_belanja'] = 0;
            $data['belanja'] = $this->kasir_model->getTotalBelanja($noresi)->row();
            $this->load->view('header', $data);
            $this->load->view('kasir/mesin_kasir_bayar');
        } else {
            $ca = $this->db->query("select selesai,stbayar from tabel_penjualan where no_faktur_penjualan='$noresi';");
            $car = $ca->row_array();
            $selesai = $car['selesai'];
            $bayar = $car['stbayar'];
            if ($selesai == '3') {
                echo $this->session->set_flashdata('error', 'Faktur Sudah Dipending');
                redirect('kasir/penjualan-pending/', 'refresh');
            } else {
                $this->load->view('error404');
            }
        }
    }
    public function mesin_kasir_bayar1()
    {
        $noresi = $this->uri->segment(3);
        $username = $this->session->userdata('ses_username');
        $data_faktur = $this->kasir_model->getDataPenjualan($noresi, $username)->row();
        $list_barang = $this->kasir_model->getListPenjualan($noresi);
        if ($data_faktur) {
            $data['tgl'] = date('Y-m-d');
            $data['faktur'] = $data_faktur;
            $data['list'] = $list_barang;
            $data['tot_item'] = 0;
            $data['tot_ppn'] = 0;
            $data['tot_belanja'] = 0;
            $data['belanja'] = $this->kasir_model->getTotalBelanja($noresi)->row();
            $this->load->view('header', $data);
            $this->load->view('kasir/mesin_kasir_bayar');
        } else {
            $ca = $this->db->query("select selesai,stbayar from tabel_penjualan where no_faktur_penjualan='$noresi';");
            $car = $ca->row_array();
            $selesai = $car['selesai'];
            $bayar = $car['stbayar'];
            if ($selesai == '3') {
                $this->db->query("update tabel_penjualan set selesai='0' where no_faktur_penjualan='$noresi';");
            } else {
                $this->load->view('error404');
            }
        }
    }
    public function dapur()
    {
        $kdtoko = $this->session->userdata('kd_toko');
        $ntoko = $this->db->query("select * from tabel_toko where kd_toko='$kdtoko';");
        $tgl = date('Y-m-d');
        $ntoko1 = $ntoko->row_array();
        $namatoko = $ntoko1['nm_toko'];
        $n = 0;
        $n1 = 0;
        $n1a = 0;
        $n1b = 0;
        $n1c = 0;
        $n1d = 0;
        $n2 = 0;
        $n2a = 0;
        $n2b = 0;
        $n2c = 0;
        $n2d = 0;
        $n3 = 0;
        $n3a = 0;
        $n3b = 0;
        $n3c = 0;
        $n3d = 0;
        $n4 = 0;
        $n4a = 0;
        $n4b = 0;
        $n4c = 0;
        $n4d = 0;
        $n5 = 0;
        $n5a = 0;
        $n5b = 0;
        $n5c = 0;
        $n5d = 0;
        $n6 = 0;
        $n7 = 0;
        $n8 = 0;
        $n9 = 0;
        $n10 = 0;
        $n11 = 0;
        $n12 = 0;
        $n13 = 0;
        $n14 = 0;
        $n15 = 0;
        $jml = 0;
        $antri = $this->db->query("select a.* from tabel_antri a
		                        left join tabel_penjualan b on b.no_faktur_penjualan =a.nobukti
		                        where a.kdcabang='$kdtoko' and a.stat='1' and a.tgl='$tgl'
		                        and b.no_faktur_penjualan is not null; ");

        $antri1 = $this->db->query("
		                select a.* from tabel_antri a
		                left join tabel_penjualan b on b.no_faktur_penjualan =a.nobukti
		                where a.kdcabang='$kdtoko' and a.stat='1' and a.tgl='$tgl' and a.jml>0
		                and b.no_faktur_penjualan is not null
		                order by a.nourut asc limit 0,1;");

        $antri2 = $this->db->query("select a.* from tabel_antri a
		                left join tabel_penjualan b on b.no_faktur_penjualan =a.nobukti
		                where a.kdcabang='$kdtoko' and a.stat='1' and a.tgl='$tgl' and a.jml>0
		                and b.no_faktur_penjualan is not null
		                order by a.nourut asc limit 1,1;");
        $antri3 = $this->db->query("select a.* from tabel_antri a
		                left join tabel_penjualan b on b.no_faktur_penjualan =a.nobukti
		                where a.kdcabang='$kdtoko' and a.stat='1' and a.tgl='$tgl' and a.jml>0
		                and b.no_faktur_penjualan is not null
		                order by a.nourut asc limit 2,1;");
        $antri4 = $this->db->query("select a.* from tabel_antri a
		                left join tabel_penjualan b on b.no_faktur_penjualan =a.nobukti
		                where a.kdcabang='$kdtoko' and a.stat='1' and a.tgl='$tgl' and a.jml>0
		                and b.no_faktur_penjualan is not null
		                order by a.nourut asc limit 3,1;");
        $antri5 = $this->db->query("select a.* from tabel_antri a
		                left join tabel_penjualan b on b.no_faktur_penjualan =a.nobukti
		                where a.kdcabang='$kdtoko' and a.stat='1' and a.tgl='$tgl' and a.jml>0
		                and b.no_faktur_penjualan is not null
		                order by a.nourut asc limit 4,1;");
        $antri6 = $this->db->query("select a.* from tabel_antri a
		                left join tabel_penjualan b on b.no_faktur_penjualan =a.nobukti
		                where a.kdcabang='$kdtoko' and a.stat='1' and a.tgl='$tgl' and a.jml>0
		                and b.no_faktur_penjualan is not null
		                order by a.nourut asc limit 5,1;");
        $antri7 = $this->db->query("select a.* from tabel_antri a
		                left join tabel_penjualan b on b.no_faktur_penjualan =a.nobukti
		                where a.kdcabang='$kdtoko' and a.stat='1' and a.tgl='$tgl' and a.jml>0
		                and b.no_faktur_penjualan is not null
		                order by a.nourut asc limit 6,1;");
        $antri8 = $this->db->query("select a.* from tabel_antri a
		                left join tabel_penjualan b on b.no_faktur_penjualan =a.nobukti
		                where a.kdcabang='$kdtoko' and a.stat='1' and a.tgl='$tgl' and a.jml>0
		                and b.no_faktur_penjualan is not null
		                order by a.nourut asc limit 7,1;");
        $antri9 = $this->db->query("select a.* from tabel_antri a
		                left join tabel_penjualan b on b.no_faktur_penjualan =a.nobukti
		                where a.kdcabang='$kdtoko' and a.stat='1' and a.tgl='$tgl' and a.jml>0
		                and b.no_faktur_penjualan is not null
		                order by a.nourut asc limit 8,1;");
        $antri10 = $this->db->query("select a.* from tabel_antri a
		                left join tabel_penjualan b on b.no_faktur_penjualan =a.nobukti
		                where a.kdcabang='$kdtoko' and a.stat='1' and a.tgl='$tgl' and a.jml>0
		                and b.no_faktur_penjualan is not null
		                order by a.nourut asc limit 9,1;");
        $antri11 = $this->db->query("select a.* from tabel_antri a
		                left join tabel_penjualan b on b.no_faktur_penjualan =a.nobukti
		                where a.kdcabang='$kdtoko' and a.stat='1' and a.tgl='$tgl' and a.jml>0
		                and b.no_faktur_penjualan is not null
		                order by a.nourut asc limit 10,1;");
        $antri12 = $this->db->query("select a.* from tabel_antri a
		                left join tabel_penjualan b on b.no_faktur_penjualan =a.nobukti
		                where a.kdcabang='$kdtoko' and a.stat='1' and a.tgl='$tgl' and a.jml>0
		                and b.no_faktur_penjualan is not null
		                order by a.nourut asc limit 11,1;");
        $antri13 = $this->db->query("select a.* from tabel_antri a
		                left join tabel_penjualan b on b.no_faktur_penjualan =a.nobukti
		                where a.kdcabang='$kdtoko' and a.stat='1' and a.tgl='$tgl' and a.jml>0
		                and b.no_faktur_penjualan is not null
		                order by a.nourut asc limit 12,1;");
        $antri14 = $this->db->query("select a.* from tabel_antri a
		                left join tabel_penjualan b on b.no_faktur_penjualan =a.nobukti
		                where a.kdcabang='$kdtoko' and a.stat='1' and a.tgl='$tgl' and a.jml>0
		                and b.no_faktur_penjualan is not null
		                order by a.nourut asc limit 13,1;");
        $antri15 = $this->db->query("select a.* from tabel_antri a
		                left join tabel_penjualan b on b.no_faktur_penjualan =a.nobukti
		                where a.kdcabang='$kdtoko' and a.stat='1' and a.tgl='$tgl' and a.jml>0
		                and b.no_faktur_penjualan is not null
		                order by a.nourut asc limit 14,1;");
        $a = $antri->row_array();
        $a1 = $antri1->row_array();
        $a2 = $antri2->row_array();
        $a3 = $antri3->row_array();
        $a4 = $antri4->row_array();
        $a5 = $antri5->row_array();
        $a6 = $antri6->row_array();
        $a7 = $antri7->row_array();
        $a8 = $antri8->row_array();
        $a9 = $antri9->row_array();
        $a10 = $antri10->row_array();
        $a11 = $antri11->row_array();
        $a12 = $antri12->row_array();
        $a13 = $antri13->row_array();
        $a14 = $antri14->row_array();
        $a15 = $antri15->row_array();

        if (isset($a1)) {
            $fak1 = $a1['nobukti'];
            $list1 = $this->kasir_model->getDatadapur1($fak1);
            $list1a = $this->kasir_model->getDatadapur1a($fak1);
            $list1b = $this->kasir_model->getDatadapur1b($fak1);
            $list1c = $this->kasir_model->getDatadapur1c($fak1);
            $list1d = $this->kasir_model->getDatadapur1d($fak1);
            $data_faktur1 = $this->kasir_model->getDatadapurh1($fak1)->row();
            if ($list1) {
                $data['faktur1'] = $data_faktur1;
                $data['list1'] = $list1;
                $n1 = 1;
            }
            if ($list1a) {
                $data['list1a'] = $list1a;
                if ($list1a->num_rows() > 0) {
                    $n1a = 2;
                }
            }
            if ($list1b) {
                $data['list1b'] = $list1b;
                if ($list1b->num_rows() > 0) {
                    $n1b = 2;
                }
            }
            if ($list1c) {
                $data['list1c'] = $list1c;
                if ($list1c->num_rows() > 0) {
                    $n1c = 2;
                }
            }
            if (isset($list1d)) {
                $data['list1d'] = $list1d;
                if ($list1d->num_rows() > 0) {
                    $n1d = 2;
                }
            }
        }
        if (isset($a2)) {
            $fak2 = $a2['nobukti'];
            $list2 = $this->kasir_model->getDatadapur2($fak2);
            $list2a = $this->kasir_model->getDatadapur2a($fak2);
            $list2b = $this->kasir_model->getDatadapur2b($fak2);
            $list2c = $this->kasir_model->getDatadapur2c($fak2);
            $list2d = $this->kasir_model->getDatadapur2d($fak2);
            $data_faktur2 = $this->kasir_model->getDatadapurh2($fak2)->row();
            if ($list2) {
                $data['faktur2'] = $data_faktur2;
                $data['list2'] = $list2;
                $n2 = 1;
            }
            if ($list2a) {
                $data['list2a'] = $list2a;
                if ($list2a->num_rows() > 0) {
                    $n2a = 2;
                }
            }
            if ($list2b) {
                $data['list2b'] = $list2b;
                if ($list2b->num_rows() > 0) {
                    $n2b = 2;
                }
            }
            if ($list2c) {
                $data['list2c'] = $list2c;
                if ($list2c->num_rows() > 0) {
                    $n2c = 2;
                }
            }
            if ($list2d) {
                $data['list2d'] = $list2d;
                if ($list2d->num_rows() > 0) {
                    $n2d = 2;
                }
            }
        }
        if (isset($a3)) {
            $fak3 = $a3['nobukti'];
            $list3 = $this->kasir_model->getDatadapur3($fak3);
            $list3a = $this->kasir_model->getDatadapur3a($fak3);
            $list3b = $this->kasir_model->getDatadapur3b($fak3);
            $list3c = $this->kasir_model->getDatadapur3c($fak3);
            $list3d = $this->kasir_model->getDatadapur3d($fak3);
            $data_faktur3 = $this->kasir_model->getDatadapurh3($fak3)->row();
            if ($data_faktur3) {
                $data['faktur3'] = $data_faktur3;
                $data['list3'] = $list3;
                $n3 = 1;
            }
            if ($list3a) {
                $data['list3a'] = $list3a;
                if ($list3a->num_rows() > 0) {
                    $n3a = 2;
                }
            }
            if ($list3b) {
                $data['list3b'] = $list3b;
                if ($list3b->num_rows() > 0) {
                    $n3b = 2;
                }
            }
            if ($list3c) {
                $data['list3c'] = $list3c;
                if ($list3c->num_rows() > 0) {
                    $n3c = 2;
                }
            }
            if ($list3d) {
                $data['list3d'] = $list3d;
                if ($list3d->num_rows() > 0) {
                    $n3d = 2;
                }
            }
        }
        if (isset($a4)) {
            $fak4 = $a4['nobukti'];
            $list4 = $this->kasir_model->getDatadapur4($fak4);
            $list4a = $this->kasir_model->getDatadapur4a($fak4);
            $list4b = $this->kasir_model->getDatadapur4b($fak4);
            $list4c = $this->kasir_model->getDatadapur4c($fak4);
            $list4d = $this->kasir_model->getDatadapur4d($fak4);
            $data_faktur4 = $this->kasir_model->getDatadapurh4($fak4)->row();
            if ($data_faktur4) {
                $data['faktur4'] = $data_faktur4;
                $data['list4'] = $list4;
                $n4 = 1;
            }
            if ($list4a) {
                $data['list4a'] = $list4a;
                if ($list4a->num_rows() > 0) {
                    $n4a = 2;
                }
            }
            if ($list4b) {
                $data['list4b'] = $list4b;
                if ($list4c->num_rows() > 0) {
                    $n4c = 2;
                }
            }
            if ($list4c) {
                $data['list4c'] = $list4c;
                if ($list4c->num_rows() > 0) {
                    $n4c = 2;
                }
            }
            if ($list4d) {
                $data['list4d'] = $list4d;
                if ($list4d->num_rows() > 0) {
                    $n4d = 2;
                }
            }
        }
        if (isset($a5)) {
            $fak5 = $a5['nobukti'];
            $list5 = $this->kasir_model->getDatadapur5($fak5);
            $list5a = $this->kasir_model->getDatadapur5a($fak5);
            $list5b = $this->kasir_model->getDatadapur5b($fak5);
            $list5c = $this->kasir_model->getDatadapur5c($fak5);
            $list5d = $this->kasir_model->getDatadapur5d($fak5);
            $data_faktur5 = $this->kasir_model->getDatadapurh5($fak5)->row();
            if ($data_faktur5) {
                $data['faktur5'] = $data_faktur5;
                $data['list5'] = $list5;
                $n5 = 1;
            }
            if ($list5a) {
                $data['list5a'] = $list5a;
                if ($list5a->num_rows() > 0) {
                    $n5a = 2;
                }
            }
            if ($list5b) {
                $data['list5b'] = $list5b;
                if ($list5b->num_rows() > 0) {
                    $n5b = 2;
                }
            }
            if ($list5c) {
                $data['list5c'] = $list5c;
                if ($list5c->num_rows() > 0) {
                    $n5c = 2;
                }
            }
            if ($list5d) {
                $data['list5d'] = $list5d;
                if ($list5d->num_rows() > 0) {
                    $n5d = 2;
                }
            }
        }
        if (isset($a6)) {
            $fak6 = $a6['nobukti'];

            $list6 = $this->kasir_model->getDatadapur6($fak6);
            $data_faktur6 = $this->kasir_model->getDatadapurh6($fak6)->row();
            if ($data_faktur6) {
                $data['faktur6'] = $data_faktur6;
                $data['list6'] = $list6;
                $n6 = 1;
            }
        }
        if (isset($a7)) {
            $fak7 = $a7['nobukti'];

            $list7 = $this->kasir_model->getDatadapur7($fak7);
            $data_faktur7 = $this->kasir_model->getDatadapurh7($fak7)->row();
            if ($data_faktur7) {
                $data['faktur7'] = $data_faktur7;
                $data['list7'] = $list7;
                $n7 = 1;
            }
        }
        if (isset($a8)) {
            $fak8 = $a8['nobukti'];

            $list8 = $this->kasir_model->getDatadapur8($fak8);
            $data_faktur8 = $this->kasir_model->getDatadapurh8($fak8)->row();
            if ($data_faktur8) {
                $data['faktur8'] = $data_faktur8;
                $data['list8'] = $list8;
                $n8 = 1;
            }
        }
        if (isset($a9)) {

            $fak9 = $a9['nobukti'];
            $list9 = $this->kasir_model->getDatadapur9($fak9);
            $data_faktur9 = $this->kasir_model->getDatadapurh9($fak9)->row();
            if ($data_faktur9) {
                $data['faktur9'] = $data_faktur9;
                $data['list9'] = $list9;
                $n9 = 1;
            }
        }
        if (isset($a10)) {
            $fak10 = $a10['nobukti'];

            $list10 = $this->kasir_model->getDatadapur10($fak10);
            $data_faktur10 = $this->kasir_model->getDatadapurh10($fak10)->row();
            if ($data_faktur10) {
                $data['faktur10'] = $data_faktur10;
                $data['list10'] = $list10;
                $n10 = 1;
            }
        }
        if (isset($a11)) {

            $fak11 = $a11['nobukti'];
            $list11 = $this->kasir_model->getDatadapur11($fak11);
            $data_faktur11 = $this->kasir_model->getDatadapurh11($fak11)->row();
            if ($data_faktur11) {
                $data['faktur11'] = $data_faktur11;
                $data['list11'] = $list11;
                $n11 = 1;
            }
        }
        if (isset($a12)) {

            $fak12 = $a12['nobukti'];
            $list12 = $this->kasir_model->getDatadapur12($fak12);
            $data_faktur12 = $this->kasir_model->getDatadapurh12($fak12)->row();
            if ($data_faktur12) {
                $data['faktur12'] = $data_faktur12;
                $data['list12'] = $list12;
                $n12 = 1;
            }
        }
        if (isset($a13)) {
            $fak13 = $a13['nobukti'];

            $list13 = $this->kasir_model->getDatadapur13($fak13);
            $data_faktur13 = $this->kasir_model->getDatadapurh13($fak13)->row();
            if ($data_faktur13) {
                $data['faktur13'] = $data_faktur13;
                $data['list13'] = $list13;
                $n13 = 1;
            }
        }
        if (isset($a14)) {
            $fak14 = $a14['nobukti'];

            $list14 = $this->kasir_model->getDatadapur14($fak14);
            $data_faktur14 = $this->kasir_model->getDatadapurh14($fak14)->row();
            if ($data_faktur14) {
                $data['faktur14'] = $data_faktur14;
                $data['list14'] = $list14;
                $n14 = 1;
            }
        }
        if (isset($a15)) {

            $fak15 = $a15['nobukti'];
            $list15 = $this->kasir_model->getDatadapur15($fak15);
            $data_faktur15 = $this->kasir_model->getDatadapurh15($fak15)->row();
            if ($data_faktur15) {
                $data['faktur15'] = $data_faktur15;
                $data['list15'] = $list15;
                $n15 = 1;
            }
        }
        if (isset($a)) {
            $n = 1;
            $listall = $this->kasir_model->getDatadapurall($kdtoko, $tgl);
            $listalla = $this->kasir_model->getDatadapuralla($kdtoko, $tgl);
            $listallb = $this->kasir_model->getDatadapurallb($kdtoko, $tgl);
            $listallc = $this->kasir_model->getDatadapurallc($kdtoko, $tgl);
            $listalld = $this->kasir_model->getDatadapuralld($kdtoko, $tgl);
            $totalmie = $this->kasir_model->getTotalMie($kdtoko, $tgl)->row();
            $data['listall'] = $listall;
            $data['listalla'] = $listalla;
            $data['listallb'] = $listallb;
            $data['listallc'] = $listallc;
            $data['listalld'] = $listalld;
            $data['totalmie'] = $totalmie;
        }
        $nt = $this->db->query("select * from tabel_toko where kd_toko='$kdtoko';");
        $nmt = $nt->row_array();
        $namatoko = $nmt['nm_toko'];
        $data['namatoko'] = $namatoko;

        $data['tgl'] = date('Y-m-d');
        $data['tot_item'] = 0;
        $data['tot_item1'] = 0;
        $data['tot_item2'] = 0;
        $data['tot_item3'] = 0;
        $data['tot_item4'] = 0;
        $data['tot_item5'] = 0;
        $data['tot_item6'] = 0;
        $data['tot_item7'] = 0;
        $data['tot_item8'] = 0;
        $data['tot_item9'] = 0;
        $data['tot_item10'] = 0;
        $data['tot_item11'] = 0;
        $data['tot_item12'] = 0;
        $data['tot_item13'] = 0;
        $data['tot_item14'] = 0;
        $data['tot_item15'] = 0;
        $data['n'] = $n;
        $data['n1'] = $n1;
        $data['n1a'] = $n1a;
        $data['n1b'] = $n1b;
        $data['n1c'] = $n1c;
        $data['n1d'] = $n1d;
        $data['n2'] = $n2;
        $data['n2a'] = $n2a;
        $data['n2b'] = $n2b;
        $data['n2c'] = $n2c;
        $data['n2d'] = $n2d;
        $data['n3'] = $n3;
        $data['n3a'] = $n3a;
        $data['n3b'] = $n3b;
        $data['n3c'] = $n3c;
        $data['n3d'] = $n3d;
        $data['n4'] = $n4;
        $data['n4a'] = $n4a;
        $data['n4b'] = $n4b;
        $data['n4c'] = $n4c;
        $data['n4d'] = $n4d;
        $data['n5'] = $n5;
        $data['n5a'] = $n5a;
        $data['n5b'] = $n5b;
        $data['n5c'] = $n5c;
        $data['n5d'] = $n5d;
        $data['n6'] = $n6;
        $data['n7'] = $n7;
        $data['n8'] = $n8;
        $data['n9'] = $n9;
        $data['n10'] = $n10;
        $data['n11'] = $n11;
        $data['n12'] = $n12;
        $data['n13'] = $n13;
        $data['n14'] = $n14;
        $data['n15'] = $n15;

        $data['tot_ppn'] = 0;
        $data['tot_belanja'] = 0;
        $this->load->view('header', $data);
        $this->load->view('kasir/dapur_display');
    }
    public function masak()
    {
        $noresi = $this->input->post('nobuk');
        $jam = date('H:i:s');
        $this->db->query("update tabel_antri set stat='2',selesai='$jam' where nobukti='$noresi';");
        $uri = base_url('kasir/dapur/');
        header("Location: " . $uri, TRUE);
    }

    public function transaksi_bayar()
    {
        $nofaktur = urldecode($this->uri->segment(3));
        $jnsbayar = urldecode($this->uri->segment(4));
        $cash = urldecode($this->uri->segment(5));
        $kembali = urldecode($this->uri->segment(6));
        $tglbayar = date('Y-m-d H:i:s');
        $uri = base_url('kasir/mesin_kasir_bayar/') . $nofaktur;
        $data = array(
            'jnsbayar' => $jnsbayar,
            'nbayar' => $cash,
            'nkembali' => $kembali,
            'tglbayar' => $tglbayar,
            'stbayar' => '1',

        );
        $this->db->where('no_faktur_penjualan', $nofaktur);
        $this->db->update('tabel_penjualan', $data);
        header("Location: " . $uri, TRUE);
    }




    public function cekbarang()
    {
        $nofaktur = urldecode($this->uri->segment(3));
        $idbarang = urldecode($this->uri->segment(4));
        $aw = $this->db->query("select layanan,posting,kdharga,idpromo,item,jnspromo,netto,nbayar,nkembali,stbayar from tabel_penjualan where no_faktur_penjualan='$nofaktur';");
        $awa = $aw->row_array();
        $jnspromo = $awa['jnspromo'];
        $netto = $awa['netto'];
        $kembali = $awa['nkembali'];
        $bayar = $awa['nbayar'];
        $stbayar = $awa['stbayar'];

        if ($stbayar == '1') {
            $uri = base_url('kasir/mesin-kasir-bayar/') . $nofaktur;
            echo $this->session->set_flashdata('error', 'Faktur Sudah Dibayar');
            header("Location: " . $uri, TRUE);
        } else {


            $produk = $this->kasir_model->getbarang($idbarang, $nofaktur);
            $cek_stok = $this->kasir_model->cek_jumlah_stok($idbarang);
            $cari = $this->db->query("select count(*) as ada from tabel_antri where nobukti='$nofaktur';");
            $adac = $cari->row_array();
            if (isset($adac)) {
                $ada = $adac['ada'];
            }

            if ($ada == '1') {
                $uri = base_url('kasir/transaksi-selesai/') . $netto . '/' . $bayar . '/' . $kembali . '/' . $nofaktur;
                echo $this->session->set_flashdata('error', 'Faktur Sudah Pernah Dicetak');
                header("Location: " . $uri, TRUE);
            } else {


                $x = $produk->row_array();
                $harga_jual = $x['hargajual'];
                $harga_jual1 = $x['hargajual'];
                $kelmenu = $x['idmenu'];
                $idpromo = '';
                $ppn = 0;
                $no = 1;
                $kpro = "";
                $jpromo = '';
                $idbonus = '';
                $diskonrp = "0";
                $diskonpersen = "0";
                $nppn = 0;
                $disrp = "0";
                $titem = 0;
                $jumlah = "1";
                $brgbonus = "";
                $qtybonus = "";
                $minqtybonus = "";
                $maxqtybonus = "";
                $perqtybonus = "";
                if ($x['ppn'] == 'Y') {
                    $ppn = '10';
                }

                $kb = $this->db->query("select a.kdbrgbonus,b.id,jnsbonus,a.extrabonus from tabel_menu a
								left join jenismenu b on a.jenisbrg=b.kdjenis
								where a.kode_menu='$idbarang';");
                $kbo = $kb->row_array();
                $kdbonus = $kbo['kdbrgbonus'];
                $idmenu = $kbo['id'];
                $jnsbonus = $kbo['jnsbonus'];
                $extrabonus = $kbo['extrabonus'];

                $lay = $this->db->query("select layanan,posting,kdharga,idpromo,item,jnspromo,netto from tabel_penjualan where no_faktur_penjualan='$nofaktur';");
                $laya = $lay->row_array();
                $layanan = $laya['layanan'];
                $kdharga = $laya['kdharga'];
                $idbonus = $laya['idpromo'];
                $titem = $laya['item'];
                $nettop=$laya['netto'];

                if ($x['jnspromo'] == 1) {
                    $harga_jual = $x['hargajual'];
                    $harga_jual1 = $x['hargajual'];
                }elseif ($x['jnspromo'] == 4) {
                    $cbonus = $this->db->query("select * from promoheader where idprogram='$idbonus' and jnsmenu='$idmenu';");
                    $pbonus = $cbonus->row_array();
                    if ($cbonus->num_rows() > 0) {
                        $minqtybonus = $pbonus['minqty'];
                        $maxqtybonus = $pbonus['maxbonus'];
                        $perqtybonus = $pbonus['perqty'];
                        $minorderp = $pbonus['minorder'];
                        $nourut = $no;
                        $nou = $this->db->query("select max(nourut) as nourut from tabel_rinci_penjualan where no_faktur_penjualan='$nofaktur' and nourut<50;");
                        if ($nou->num_rows() > 0) {
                            $nour = $nou->row_array();
                            $nourut = $nour['nourut'] + 1;
                        }
                        $nobonus = $nourut + 70;
                        if ($x['maxbonus']) {
                            if ($x['item'] < $x['maxbonus']) {
                                $kdbns = array(
                                    'nobukti' => $nofaktur,
                                    'kdbrg' => $brgbonus,
                                    'kdbrg1' => $x['kode_menu'],
                                    'qty' => $jumlah,
                                    'nourut' => $nobonus,
                                    'idmenu' => $idmenu,
                                    'kdpromo' => $idbonus,

                                );
                                $this->db->insert('fakturbonus', $kdbns);
                                $cbonus = $this->db->query("select * from promodetail where idpromo='$idbonus' and kdbrg='$idbarang';");
                                if ($cbonus->num_rows() > 0) {
                                    $idpromo = $idbonus;
                                    $jpromo = 'P';
                                }
                                
                                
                            }
                        }
                    }else{
                    if($idmenu == 2){
                    $queryx = $this->db->query("SELECT IFNULL(SUM(jumlah), 0) AS xnya FROM tabel_rinci_penjualan WHERE no_faktur_penjualan = '$nofaktur' AND jpromo = 'X';")->row_array();
                    if($queryx['xnya'] == 0){
                        // $idpromo = $idbonus;
                        $jpromo = 'X';
                    }else{
                        $idpromo = '';
                        $jpromo =  '';
                    }
                    
                    }
                    }
                }elseif ($x['jnspromo'] == 3) {
                    $cbonus = $this->db->query("select * from promodetail where idpromo='$idbonus' and (idmenu='$idmenu' or kdbrg='$idbarang');");
                    $pbonus = $cbonus->row_array();
                    if ($cbonus->num_rows() > 0) {
                        $brgbonus = $pbonus['kdbonus'];
                        $qtybonus = $pbonus['qtybonus'];
                        $minqtybonus = $pbonus['minqty'];
                        $maxqtybonus = $pbonus['maxqty'];
                        $perqtybonus = $pbonus['perqty'];
                        $nourut = $no;
                        $nou = $this->db->query("select max(nourut) as nourut from tabel_rinci_penjualan where no_faktur_penjualan='$nofaktur' and nourut<50;");
                        if ($nou->num_rows() > 0) {
                            $nour = $nou->row_array();
                            $nourut = $nour['nourut'] + 1;
                        }
                        $nobonus = $nourut + 70;
                        if ($x['maxbonus']) {
                            if ($x['item'] < $x['maxbonus']) {
                                $kdbns = array(
                                    'nobukti' => $nofaktur,
                                    'kdbrg' => $brgbonus,
                                    'kdbrg1' => $x['kode_menu'],
                                    'qty' => $jumlah,
                                    'nourut' => $nobonus,
                                    'idmenu' => $idmenu,
                                    'kdpromo' => $idbonus,

                                );
                                $this->db->insert('fakturbonus', $kdbns);
                                $idpromo = $idbonus;
                                $kpro = " Promo *";
                                $jpromo = 'P';
                            }
                        }
                    }
                }elseif ($x['jnspromo'] == 2) {
                    $cbonus = $this->db->query("select minorder from promoheader where idprogram='$idbonus';");
                    $pbonus = $cbonus->row_array();
                    $minorderp=$pbonus['minorder'];
                    
                    if ($x['maxbonus'] > 0) {
                        if ($x['item'] < $x['maxbonus']) {
                            if($nettop>=$minorderp) {
                                $harga_jual = $x['newharga'];
                           
                            $harga_jual = $x['newharga'];
                            
                            if ($harga_jual == 0) {
                                if ($x['disc1'] > 0) {
                                    $diskonpersen = $x['disc1'];
                                }
                                $harga_jual = $x['hargajual'];
                            }
                            $harga_jual1 = $x['hargajual'];
                            $idpromo = $x['idpromo'];
                            $kpro = " Promo *";
                            $jpromo = 'P';

                            if ($x['newharga'] > 0) {
                                if ($idbonus == '048') {
                                    $ppn = 0;
                                    $jpromo = 'K';
                                }
                            }
                            } else {
                                $harga_jual = $x['hargajual'];
                            } 
                        }
                        //--
                        if ($x['item'] > $x['maxbonus']) {
                            $harga_jual = $x['hargajual'];
                            $harga_jual1 = $x['hargajual'];
                            $kpro = '';
                            $idpromo = '';
                            $jpromo = '';
                        }
                    }
                    if ($idpromo == NULL) {
                        $kpro = '';
                        $idpromo = '';
                        $jpromo = '';
                    }
                    if ($harga_jual == null) {
                        $harga_jual = $x['hargajual'];
                    }
                    if ($harga_jual == 0) {
                        if ($diskonpersen > 0) {
                            $harga_jual = $x['hargajual'];
                        }
                    }
                }



                if ($jnspromo == '4' || $jnspromo == '9') {
                    $jnsbrg = urldecode($this->uri->segment(5));
                    if ($jnsbrg == $idbonus) {
                        $harga_jual = 0;
                        $idpromo = $idbonus;
                        $kpro = " Bonus *";
                        $jpromo = 'B';
                    }
                } 
                




                $uri = base_url('kasir/mesin-kasir/') . $nofaktur;
                $cek_sudah_ada = $this->kasir_model->cek_sudah_ada_promo($idbarang, $nofaktur, $jpromo);
                if ($produk->num_rows() > 0) {
                    $i = $cek_stok->row_array();
                    $stok_sekarang = $i['stok'];
                    if ($cek_sudah_ada->num_rows() > 0) {
                        $s = $cek_sudah_ada->row_array();
                        $jum_beli = $s['jumlah'];
                        $jum_beli_sekarang = $jumlah + $jum_beli;

                        if ($diskonpersen > 0) {
                            $diskonrp = ($harga_jual * $jum_beli_sekarang) * ($diskonpersen / 100);
                        }
                        if ($disrp > 0) {
                            $diskonrp = ($disrp * $jum_beli_sekarang);
                        }



                        $subtot_sekarang = ($harga_jual * $jum_beli_sekarang) - $diskonrp;
                        $nppn_sekarang = 0;
                        if ($ppn == 10) {
                            $nppn_sekarang = $subtot_sekarang * ($ppn / 100);
                        }
                        if ($jum_beli_sekarang > $stok_sekarang) {
                            //		echo $this->session->set_flashdata('error', 'Periksa Transaksi Penerimaan Barang');
                            $this->db->query("UPDATE tabel_rinci_penjualan SET ppn='$ppn',nppn='$nppn_sekarang',jumlah='$jum_beli_sekarang', sub_total_jual='$subtot_sekarang', diskonrp='$diskonrp', diskonpersen='$diskonpersen' WHERE kd_barang='$idbarang' AND no_faktur_penjualan='$nofaktur' and harga=$harga_jual and kdpromo='$idpromo';");
                            $this->db->query("UPDATE fakturpromo SET qty='$jum_beli_sekarang'  WHERE kdbrg1='$idbarang' AND nobukti='$nofaktur'");
                            header("Location: " . $uri, TRUE);
                        } else {
                            $this->db->query("UPDATE tabel_rinci_penjualan SET ppn='$ppn',nppn='$nppn_sekarang',jumlah='$jum_beli_sekarang', sub_total_jual='$subtot_sekarang', diskonrp='$diskonrp', diskonpersen='$diskonpersen' WHERE kd_barang='$idbarang' AND no_faktur_penjualan='$nofaktur' and harga=$harga_jual and kdpromo='$idpromo';");
                            $this->db->query("UPDATE fakturpromo SET qty='$jum_beli_sekarang'  WHERE kdbrg1='$idbarang' AND nobukti='$nofaktur'");
                            header("Location: " . $uri, TRUE);
                        }
                    } else {
                        $nourut = $no;
                        $nou = $this->db->query("select max(nourut) as nourut from tabel_rinci_penjualan where no_faktur_penjualan='$nofaktur' and nourut<50;");
                        if ($nou->num_rows() > 0) {
                            $nour = $nou->row_array();
                            $nourut = $nour['nourut'] + 1;
                        }

                        $nobonus = $nourut + 50;

                        if ($diskonpersen > 0) {
                            $diskonrp = ($harga_jual * $jumlah) * ($diskonpersen / 100);
                        }
                        if ($disrp > 0) {
                            $diskonrp = ($disrp * $jumlah);
                        }

                        $subtotal = ($harga_jual * $jumlah) - $diskonrp;
                        if ($ppn == 10) {
                            $nppn = $subtotal * ($ppn / 100);
                        }
                        if ($stok_sekarang < $jumlah) {
                            //	echo $this->session->set_flashdata('error', 'Ada Transaksi Masuk Barang Belum Diproses');
                            if ($jnsbonus == '1') {
                                $kdbns = array(
                                    'nobukti' => $nofaktur,
                                    'kdbrg' => $kdbonus,
                                    'kdbrg1' => $x['kode_menu'],
                                    'qty' => $jumlah,
                                    'nourut' => $nobonus,
                                    'idmenu' => $idmenu,

                                );
                                $this->db->insert('fakturpromo', $kdbns);

                                if ($extrabonus != '') {
                                    $kdbns = array(
                                        'nobukti' => $nofaktur,
                                        'kdbrg' => $extrabonus,
                                        'kdbrg1' => $x['kode_menu'],
                                        'qty' => $jumlah,
                                        'nourut' => $nobonus + 1,
                                        'idmenu' => $idmenu,
                                    );
                                    $this->db->insert('fakturpromo', $kdbns);
                                }
                            }
                            if ($subtotal < 0) {
                                echo $this->session->set_flashdata('error', 'Error');
                                header("Location: " . $uri, TRUE);
                            } else {
                                $input = array(
                                    'no_faktur_penjualan' => $nofaktur,
                                    'kd_barang' => $x['kode_menu'],
                                    'nm_barang' => $x['nama_menu'] . $kpro,
                                    'jnsbarang' => $x['jenisbrg'],
                                    'jumlah' => $jumlah,
                                    'harga_modal' => $x['harga_modal'],
                                    'harga' => $harga_jual,
                                    'harga1' => $harga_jual1,
                                    'diskonrp' => $diskonrp,
                                    'ppn' => $ppn,
                                    'nppn' => $nppn,
                                    'diskonpersen' => $diskonpersen,
                                    'sub_total_jual' => $subtotal,
                                    'nourut' => $nourut,
                                    'idmenu' => $idmenu,
                                    'takeaway' => $layanan,
                                    'nolap' => $x['nolap'],
                                    'kdpromo' => $idpromo,
                                    'jpromo' => $jpromo,
                                    'tgl'   => date('Y-m-d')
                                );
                                $this->db->insert('tabel_rinci_penjualan', $input);
                            }
                            header("Location: " . $uri, TRUE);
                        } else {
                            if ($diskonpersen > 0) {
                                $diskonrp = ($harga_jual * $jumlah) * ($diskonpersen / 100);
                            }
                            if ($disrp > 0) {
                                $diskonrp = ($disrp * $jumlah);
                            }

                            $subtotal = ($harga_jual * $jumlah) - $diskonrp;
                            if ($jnsbonus == '1') {
                                $kdbns = array(
                                    'nobukti' => $nofaktur,
                                    'kdbrg' => $kdbonus,
                                    'kdbrg1' => $x['kode_menu'],
                                    'qty' => $jumlah,
                                    'nourut' => $nobonus,
                                    'idmenu' => $idmenu,
                                );
                                $this->db->insert('fakturpromo', $kdbns);
                                if ($extrabonus != '') {
                                    $kdbns = array(
                                        'nobukti' => $nofaktur,
                                        'kdbrg' => $extrabonus,
                                        'kdbrg1' => $x['kode_menu'],
                                        'qty' => $jumlah,
                                        'nourut' => $nobonus + 1,
                                        'idmenu' => $idmenu,
                                    );
                                    $this->db->insert('fakturpromo', $kdbns);
                                }
                            }

                            if ($subtotal < 0) {
                                echo $this->session->set_flashdata('error', 'Error');
                                header("Location: " . $uri, TRUE);
                            } else {
                                $input = array(
                                    'no_faktur_penjualan' => $nofaktur,
                                    'kd_barang' => $x['kode_menu'],
                                    'nm_barang' => $x['nama_menu'] . $kpro,
                                    'jnsbarang' => $x['jenisbrg'],
                                    'nolap' => $x['nolap'],
                                    'jumlah' => $jumlah,
                                    'harga_modal' => $x['harga_modal'],
                                    'harga' => $harga_jual,
                                    'harga1' => $harga_jual1,
                                    'diskonrp' => $diskonrp,
                                    'ppn' => $ppn,
                                    'nppn' => $nppn,
                                    'diskonpersen' => $diskonpersen,
                                    'sub_total_jual' => $subtotal,
                                    'nourut' => $nourut,
                                    'idmenu' => $idmenu,
                                    'takeaway' => $layanan,
                                    'kdpromo' => $idpromo,
                                    'jpromo' => $jpromo,
                                    'tgl'   => date('Y-m-d')

                                );
                                $this->db->insert('tabel_rinci_penjualan', $input);
                                header("Location: " . $uri, TRUE);
                            }
                        }
                    }
                    if ($layanan > 1) {
                        $cek_sudah_ada1 = $this->kasir_model->cek_sudah_ada($kdbonus, $nofaktur);
                        if ($cek_sudah_ada1->num_rows() > 0) {
                            $this->db->query("UPDATE tabel_rinci_penjualan a SET a.jumlah=
							(select sum(qty) from fakturpromo WHERE kdbrg='$kdbonus' AND nobukti='$nofaktur')
							where no_faktur_penjualan='$nofaktur' and kd_barang='$kdbonus';");
                            $this->db->query("UPDATE tabel_rinci_penjualan  SET sub_total_jual=jumlah*harga,nppn=((jumlah*harga)*(ppn/100)) where no_faktur_penjualan='$nofaktur' and kd_barang='$kdbonus';");
                            if ($extrabonus != '') {
                                $this->db->query("UPDATE tabel_rinci_penjualan a SET a.jumlah=
							(select sum(qty) from fakturpromo WHERE kdbrg='$extrabonus' AND nobukti='$nofaktur')
							where no_faktur_penjualan='$nofaktur' and kd_barang='$extrabonus';");
                                $this->db->query("UPDATE tabel_rinci_penjualan  SET sub_total_jual=jumlah*harga,nppn=((jumlah*harga)*(ppn/100)) where no_faktur_penjualan='$nofaktur' and kd_barang='$extrabonus';");
                            }
                        } else {
                            if ($kdharga == 'KH01') {
                                $this->db->query("
									INSERT IGNORE INTO tabel_rinci_penjualan(no_faktur_penjualan,kd_barang,nm_barang,jumlah,harga_modal,harga,kodeta,sub_total_jual,nourut,idmenu,takeaway,nolap,jnsbarang,ppn,nppn,tgl)
									SELECT a.nobukti,a.kdbrg,c.nama_menu,SUM(a.qty),c.harga_modal,b.hargajual,'Takeaway',(sum(a.qty)*b.hargajual),nourut,idmenu,'$layanan',c.nolap,c.jenisbrg,if(b.ppn='Y',10,0),SUM(IF(b.ppn='Y',((10/100)*(b.hargajual*a.qty)),0)),curdate() FROM fakturpromo a
									LEFT JOIN hargajual b ON b.kdbrg=a.kdbrg and b.kdharga='$kdharga' and b.kdcabang=mid('$nofaktur',1,5)
									LEFT JOIN tabel_menu c ON c.kode_menu=a.kdbrg
									WHERE a.nobukti ='$nofaktur' and a.kdbrg='$kdbonus'
									GROUP BY nobukti,kdbrg;");
                            } else {

                                $this->db->query("INSERT IGNORE INTO tabel_rinci_penjualan(no_faktur_penjualan,kd_barang,nm_barang,jumlah,harga_modal,harga,kodeta,sub_total_jual,nourut,idmenu,takeaway,nolap,jnsbarang,tgl)
									SELECT a.nobukti,a.kdbrg,b.nama_menu,SUM(a.qty),b.harga_modal,0,'Ojol',0,nourut,idmenu,'$layanan',b.nolap,b.jenisbrg,curdate() FROM fakturpromo a
									LEFT JOIN tabel_menu b ON b.kode_menu=a.kdbrg
									WHERE a.nobukti ='$nofaktur' and a.kdbrg='$kdbonus'
									GROUP BY nobukti,kdbrg;");
                                if ($extrabonus != '') {
                                    $this->db->query("INSERT IGNORE INTO tabel_rinci_penjualan(no_faktur_penjualan,kd_barang,nm_barang,jumlah,harga_modal,harga,kodeta,sub_total_jual,nourut,idmenu,takeaway,nolap,jnsbarang,tgl)
									SELECT a.nobukti,a.kdbrg,b.nama_menu,SUM(a.qty),b.harga_modal,0,'Ojol',0,nourut,idmenu,'$layanan',b.nolap,b.jenisbrg,curdate() FROM fakturpromo a
									LEFT JOIN tabel_menu b ON b.kode_menu=a.kdbrg
									WHERE a.nobukti ='$nofaktur' and a.kdbrg='$extrabonus'
									GROUP BY nobukti,kdbrg;");
                                }
                            }
                        }
                    }
                    if ($x['jnspromo'] == '3') {
                        $cek_sudah_ada1 = $this->kasir_model->cek_sudah_adab($brgbonus, $nofaktur);
                        if ($cek_sudah_ada1->num_rows() > 0) {
                            $this->db->query("UPDATE tabel_rinci_penjualan a SET a.jumlah=
							(select sum(qty) from fakturbonus WHERE kdbrg='$brgbonus' AND nobukti='$nofaktur')
							where no_faktur_penjualan='$nofaktur' and kd_barang='$brgbonus' and jpromo='P';");
                            $this->db->query("UPDATE tabel_rinci_penjualan  SET sub_total_jual=0,nppn=0 where no_faktur_penjualan='$nofaktur' and kd_barang='$brgbonus' and jpromo='P';");
                        } else {

                            $this->db->query("
									INSERT IGNORE INTO tabel_rinci_penjualan(no_faktur_penjualan,kd_barang,nm_barang,jumlah,harga_modal,harga,kodeta,sub_total_jual,nourut,idmenu,takeaway,nolap,jnsbarang,ppn,nppn,jpromo,tgl)
									SELECT a.nobukti,a.kdbrg,concat('Bonus ',c.nama_menu),SUM(a.qty),c.harga_modal,0,'Bonus',0,nourut,idmenu,'$layanan',c.nolap,c.jenisbrg,0,0,'P',curdate() FROM fakturbonus a
									LEFT JOIN hargajual b ON b.kdbrg=a.kdbrg and b.kdharga='$kdharga' and b.kdcabang=mid('$nofaktur',1,5) and b.stat='1'
									LEFT JOIN tabel_menu c ON c.kode_menu=a.kdbrg
									WHERE a.nobukti ='$nofaktur' and a.kdbrg='$brgbonus'
									GROUP BY nobukti,kdbrg;");
                        }
                    }
                } else {
                    echo $this->session->set_flashdata('error', 'Kode ' . $idbarang . ' tidak tersedia :(');
                    header("Location: " . $uri, TRUE);
                }
            }
        }
    }


    public function hapus_barang_beli()
    {
        $nofaktur = urldecode($this->uri->segment(3));
        $idbarang = urldecode($this->uri->segment(4));
        $harga = urldecode($this->uri->segment(5));
        $harga1 = urldecode($this->uri->segment(6));
        $kid = urldecode($this->uri->segment(7));
        $jenis = '0';
        $ada = 0;
        if ($harga1 - $harga > 2) {
            $jenis = '1';
        }
        $brgbonus = '';
        $kdpromo = '';
        $jpromo = '';
        $qtyta = 0;
        $qtyhps = 0;
        $jnsbarangpromo = '';
        $idmenupromo = '';
        $uri = base_url('kasir/mesin-kasir/') . $nofaktur;
        $kb1 = $this->db->query("select a.kdbrgbonus,b.id,jnsbonus,a.extrabonus from tabel_menu a
								left join jenismenu b on a.jenisbrg=b.kdjenis
								where a.kode_menu='$idbarang';");
        $kbo = $kb1->row_array();
        $kdbonus = $kbo['kdbrgbonus'];
        $extrabonus = $kbo['extrabonus'];
        $idmenu = $kbo['id'];

        $ly = $this->db->query("select layanan,idpromo,jnspromo,selesai,netto,nbayar,nkembali,stbayar from tabel_penjualan WHERE no_faktur_penjualan='$nofaktur';");
        $kly = $ly->row_array();
        $layan = $kly['layanan'];
        $idbonus = $kly['idpromo'];
        $jnspromo = $kly['jnspromo'];
        $selesai = $kly['selesai'];
        $netto = $kly['netto'];
        $bayar = $kly['nbayar'];
        $kembali = $kly['nkembali'];
        $stbayar = $kly['stbayar'];

        if ($stbayar == '1') {
            $uri = base_url('kasir/mesin-kasir-bayar/') . $nofaktur;
            echo $this->session->set_flashdata('error', 'Faktur Sudah Dibayar');
            header("Location: " . $uri, TRUE);
        } else {



            $cari = $this->db->query("select count(*) as ada from tabel_antri where nobukti='$nofaktur';");
            $adac = $cari->row_array();
            if (isset($adac)) {
                $ada = $adac['ada'];
            }

            if ($ada == '1') {
                $uri = base_url('kasir/transaksi-selesai/') . $netto . '/' . $bayar . '/' . $kembali . '/' . $nofaktur;
                echo $this->session->set_flashdata('error', 'Faktur Sudah Pernah Dicetak');
                header("Location: " . $uri, TRUE);
            } else {

                $kb = $this->db->query("select jumlah,qtyta,jpromo,kdpromo,idmenu,jnsbarang from tabel_rinci_penjualan WHERE no_faktur_penjualan='$nofaktur' AND kd_barang='$idbarang' and kdpromo='$kid';");
                $kbo = $kb->row_array();
                if (isset($kbo)) {
                    $qtyhps = $kbo['jumlah'];
                    $qtyta = $kbo['qtyta'];
                    $kdpromo = $kbo['kdpromo'];
                    $jpromo = $kbo['jpromo'];
                    $idmenupromo = $kbo['idmenu'];
                    $jnsbarangpromo = $kbo['jnsbarang'];
                }

                $cbonus = $this->db->query("select * from promodetail where idpromo='$idbonus' and (idmenu='$idmenu' or kdbrg='$idbarang');");
                $pbonus = $cbonus->row_array();
                if ($cbonus->num_rows() > 0) {
                    $brgbonus = $pbonus['kdbonus'];
                }


                if ($layan == '1') {
                    $this->db->query("DELETE FROM tabel_rinci_penjualan WHERE no_faktur_penjualan='$nofaktur' AND kd_barang='$idbarang' and harga='$harga' and kdpromo='$kid';");
                    if ($idmenupromo == '4') {

                        $this->db->query("DELETE FROM tabel_rinci_penjualan WHERE no_faktur_penjualan='$nofaktur' and harga='0' and jnsbarang=kdpromo;");
                    }
                    $this->db->query("update fakturpromo set qty=qty-'$qtyhps' WHERE nobukti='$nofaktur' AND kdbrg1='$idbarang' and jenis='$jenis';");
                    $this->db->query("delete from  fakturpromo  WHERE nobukti='$nofaktur' AND kdbrg1='$idbarang';");
                    $this->db->query("delete from  fakturpromo  WHERE nobukti='$nofaktur' and qty<=0;");
                    $this->db->query("update tabel_rinci_penjualan set jumlah=jumlah-'$qtyta' WHERE no_faktur_penjualan='$nofaktur' AND kd_barang='$kdbonus';");
                    if ($extrabonus != '') {
                        $this->db->query("update tabel_rinci_penjualan set jumlah=jumlah-'$qtyta' WHERE no_faktur_penjualan='$nofaktur' AND kd_barang='$extrabonus';");
                        $this->db->query("UPDATE tabel_rinci_penjualan  SET sub_total_jual=jumlah*harga,nppn=((jumlah*harga)*(ppn/100)) where no_faktur_penjualan='$nofaktur' and kd_barang='$extrabonus';");
                    }
                    $this->db->query("delete from  tabel_rinci_penjualan  WHERE no_faktur_penjualan='$nofaktur' and jumlah<=0;");
                    $this->db->query("UPDATE tabel_rinci_penjualan  SET sub_total_jual=jumlah*harga,nppn=((jumlah*harga)*(ppn/100)) where no_faktur_penjualan='$nofaktur' and kd_barang='$kdbonus';");
                } else {
                    $this->db->query("DELETE FROM tabel_rinci_penjualan WHERE no_faktur_penjualan='$nofaktur' AND kd_barang='$idbarang' and harga='$harga' and kdpromo='$kid';");
                    $this->db->query("update fakturpromo set qty=qty-'$qtyhps' WHERE nobukti='$nofaktur' AND kdbrg1='$idbarang' and jenis='$jenis';");
                    $this->db->query("delete from  fakturpromo  WHERE nobukti='$nofaktur' AND kdbrg1='$idbarang' and jenis='$jenis';");
                    $this->db->query("delete from  fakturpromo  WHERE nobukti='$nofaktur' and qty=0;");
                    $this->db->query("update tabel_rinci_penjualan set jumlah=jumlah-'$qtyhps' WHERE no_faktur_penjualan='$nofaktur' AND kd_barang='$kdbonus';");
                    if ($extrabonus != '') {
                        $this->db->query("update tabel_rinci_penjualan set jumlah=jumlah-'$qthps' WHERE no_faktur_penjualan='$nofaktur' AND kd_barang='$extrabonus';");
                        $this->db->query("UPDATE tabel_rinci_penjualan  SET sub_total_jual=jumlah*harga,nppn=((jumlah*harga)*(ppn/100)) where no_faktur_penjualan='$nofaktur' and kd_barang='$extrabonus';");
                    }
                    $this->db->query("delete from  tabel_rinci_penjualan  WHERE no_faktur_penjualan='$nofaktur' and jumlah<=0;");
                    $this->db->query("UPDATE tabel_rinci_penjualan  SET sub_total_jual=jumlah*harga,nppn=((jumlah*harga)*(ppn/100)) where no_faktur_penjualan='$nofaktur' and kd_barang='$kdbonus';");
                }
                if ($jnspromo == '3') {
                    $this->db->query("update fakturbonus set qty=qty-'$qtyhps' WHERE nobukti='$nofaktur' AND kdbrg1='$idbarang' and kdpromo='$kdpromo';");
                    $this->db->query("delete from  fakturbonus  WHERE nobukti='$nofaktur' AND kdbrg1='$idbarang' and kdpromo='$kdpromo';");
                    $this->db->query("delete from  fakturbonus  WHERE nobukti='$nofaktur' and qty<=0;");
                    if ($kdpromo <> '') {
                        $this->db->query("update tabel_rinci_penjualan set jumlah=jumlah-'$qtyhps' WHERE no_faktur_penjualan='$nofaktur' AND kd_barang='$brgbonus' and jpromo='P';");
                    }
                    $this->db->query("delete from  tabel_rinci_penjualan  WHERE no_faktur_penjualan='$nofaktur' and jumlah<=0;");
                }
            }
            header("Location: " . $uri, TRUE);
        }
    }

    public function edit_jumlah_beli()
    {
        $idbarang = $this->input->post('kd_barang_e');
        $nofaktur = $this->input->post('nofak_e');
        $harga = $this->input->post('harga');
        $kdpromo = $this->input->post('kdpromo');
        $jumlah = $this->input->post('jml');
        $maxbonus = $this->input->post('maxbonus');
        $minorder = $this->input->post('minorder');
        $uri = base_url('kasir/mesin-kasir/') . $nofaktur;
        $cek_stok = $this->kasir_model->cek_jumlah_stok($idbarang);
        $rinci = $this->kasir_model->cek_sudah_ada($idbarang, $nofaktur);
        if ($kdpromo != '') {
            if ($maxbonus > 0) {
                if ($jumlah > $maxbonus) {
                    $jumlah = $maxbonus;
                }
            }
        }

        $i = $cek_stok->row_array();
        $x = $rinci->row_array();
        $stok_sekarang = $i['stok'];
        $diskonrp = $x['diskonrp'];
        $kb = $this->db->query("select kdbrgbonus from tabel_menu where kode_menu='$idbarang';");
        $kbo = $kb->row_array();
        $kdbonus = $kbo['kdbrgbonus'];
        $ly = $this->db->query("select layanan,jnspromo,selesai,nbayar,netto,nkembali,stbayar from tabel_penjualan where no_faktur_penjualan ='$nofaktur';");
        $kly = $ly->row_array();
        $layan = $kly['layanan'];
        $jnspromo = $kly['jnspromo'];
        $selesai = $kly['selesai'];
        $bayar = $kly['nbayar'];
        $kembali = $kly['nkembali'];
        $netto = $kly['netto'];
        $stbayar = $kly['stbayar'];

        if ($stbayar == '1') {
            $uri = base_url('kasir/mesin-kasir-bayar/') . $nofaktur;
            echo $this->session->set_flashdata('error', 'Faktur Sudah Dibayar');
            header("Location: " . $uri, TRUE);
        } else {

            $ada = '0';
            $cari = $this->db->query("select count(*) as ada from tabel_antri where nobukti='$nofaktur';");
            $adac = $cari->row_array();
            if (isset($adac)) {
                $ada = $adac['ada'];
            }
            if ($ada == '1') {
                $uri = base_url('kasir/transaksi-selesai/') . $netto . '/' . $bayar . '/' . $kembali . '/' . $nofaktur;
                echo $this->session->set_flashdata('error', 'Faktur Sudah Pernah Dicetak');
                header("Location: " . $uri, TRUE);
            }


            $subtot_sekarang = ($harga * $jumlah);
            $nppn = (($harga * $jumlah) * ($x['ppn'] / 100));
            if ($x['diskonpersen'] > 0) {
                $diskonrp = $jumlah * $harga * $x['diskonpersen'] / 100;
                $subtot_sekarang = ($harga * $jumlah) - $diskonrp;
            }
            if ($x['diskonrp'] > 0) {
                $subtot_sekarang = ($harga - $x['diskonrp']) * $jumlah;
            }
            //di sini
            $netto = (($subtot_sekarang * ($x['ppn'] / 100)) + $subtot_sekarang);
            if ($jumlah > $stok_sekarang) {
                //		echo $this->session->set_flashdata('error', 'Stok tidak cukup');
                $this->db->query("UPDATE tabel_rinci_penjualan SET jumlah='$jumlah', sub_total_jual='$subtot_sekarang', diskonrp='$diskonrp',nppn='$nppn' WHERE kd_barang='$idbarang' AND no_faktur_penjualan='$nofaktur' and harga='$harga' and kdpromo='$kdpromo'");
                $this->db->query("UPDATE fakturpromo SET qty='$jumlah'  WHERE kdbrg1='$idbarang' AND nobukti='$nofaktur' and din='0'");
                if ($layan == '1') {
                    $this->db->query("UPDATE tabel_rinci_penjualan a SET a.jumlah=
							(select sum(qty) from fakturpromo WHERE kdbrg='$kdbonus' AND nobukti='$nofaktur' and din='1')
							where no_faktur_penjualan='$nofaktur' and kd_barang='$kdbonus';");
                } else {
                    $this->db->query("UPDATE tabel_rinci_penjualan a SET a.jumlah=
							(select sum(qty) from fakturpromo WHERE kdbrg='$kdbonus' AND nobukti='$nofaktur')
							where no_faktur_penjualan='$nofaktur' and kd_barang='$kdbonus';");
                }
                $this->db->query("UPDATE tabel_rinci_penjualan  SET sub_total_jual=jumlah*harga,nppn=((jumlah*harga)*(ppn/100)) where no_faktur_penjualan='$nofaktur' and kd_barang='$kdbonus';");
                header("Location: " . $uri, TRUE);
            } else {
                $this->db->query("UPDATE tabel_rinci_penjualan SET jumlah='$jumlah', sub_total_jual='$subtot_sekarang', diskonrp='$diskonrp',nppn='$nppn' WHERE kd_barang='$idbarang' AND no_faktur_penjualan='$nofaktur' and harga='$harga' and kdpromo='$kdpromo'");
                $this->db->query("UPDATE fakturpromo SET qty='$jumlah'  WHERE kdbrg1='$idbarang' AND nobukti='$nofaktur' and din='0'");
                if ($layan == '1') {
                    $this->db->query("UPDATE tabel_rinci_penjualan a SET a.jumlah=
							(select sum(qty) from fakturpromo WHERE kdbrg='$kdbonus' AND nobukti='$nofaktur' and din='1')
							where no_faktur_penjualan='$nofaktur' and kd_barang='$kdbonus';");
                } else {
                    $this->db->query("UPDATE tabel_rinci_penjualan a SET a.jumlah=
							(select sum(qty) from fakturpromo WHERE kdbrg='$kdbonus' AND nobukti='$nofaktur')
							where no_faktur_penjualan='$nofaktur' and kd_barang='$kdbonus';");
                }

                $this->db->query("UPDATE tabel_rinci_penjualan  SET sub_total_jual=jumlah*harga,nppn=((jumlah*harga)*(ppn/100)) where no_faktur_penjualan='$nofaktur' and kd_barang='$kdbonus';");


                header("Location: " . $uri, TRUE);
            }
        }
    }

    public function edit_diskon_beli()
    {
        $idbarang = $this->input->post('kd_barang_d');
        $nofaktur = $this->input->post('nofak_d');
        $diskonpersen = $this->input->post('dis_d');
        $uri = base_url('kasir/mesin-kasir/') . $nofaktur;
        $rinci = $this->kasir_model->cek_sudah_ada($idbarang, $nofaktur);
        $x = $rinci->row_array();
        $subtot_sekarang = ($x['harga'] * $x['jumlah']);

        if ($x['diskonpersen'] > 0) {
            $diskonrp = $x['jumlah'] * $x['harga'] * $x['diskonpersen'] / 100;
            $subtot_sekarang = ($x['harga'] * $x['jumlah']) - $diskonrp;
        }
        if ($x['diskonrp'] > 0) {
            $subtot_sekarang = ($x['harga'] - $x['diskonrp']) * $jumlah;
        }

        if ($diskonpersen > 100) {
            echo $this->session->set_flashdata('error', 'Diskon tidak valid');
            header("Location: " . $uri, TRUE);
        } else {
            $this->db->query("UPDATE tabel_rinci_penjualan SET sub_total_jual='$subtot_sekarang', diskonrp='$diskonrp', diskonpersen='$diskonpersen' WHERE kd_barang='$idbarang' AND no_faktur_penjualan='$nofaktur'");
            header("Location: " . $uri, TRUE);
        }
    }

    public function hitung_diskon()
    {
        $nofaktur = $this->input->post('nofak_dis');
        $input_diskon = $this->input->post('diskon');
        $total_penjualan = $this->input->post('sum_belanja');
        $diskon = str_replace(".", "", $input_diskon);
        $ket_dis = $this->input->post('ket_dis');
        $penjualan_sdiskon = $total_penjualan - $diskon;
        $uri = base_url('kasir/mesin-kasir/') . $nofaktur;
        if ($penjualan_sdiskon < 0) {
            echo $this->session->set_flashdata('error', 'Diskon tidak valid');
            header("Location: " . $uri, TRUE);
        } else {
            $data = array(
                'total_penjualan' => $total_penjualan,
                'diskon' => $diskon,
                'total_penjualan_sdiskon' => $penjualan_sdiskon,
                'ket_diskon' => $ket_dis,
            );
            $this->db->where('no_faktur_penjualan', $nofaktur);
            $this->db->update('tabel_penjualan', $data);
            header("Location: " . $uri, TRUE);
        }
    }

    public function kode_harga()
    {
        $nofaktur = $this->input->post('nobuk');
        $kdharga = $this->input->post('kdharga');
        $uri = base_url('kasir/mesin-kasir/') . $nofaktur;
        if ($kdharga == 'KH01') {
            $keter = 'Reguler';
            $layanan = '1';
            $jnsbayar = '1';
        }
        if ($kdharga == 'KH02') {
            $keter = 'Gofood';
            $layanan = '2';
            $jnsbayar = '3';
        }
        if ($kdharga == 'KH03') {
            $keter = 'Grabfood';
            $layanan = '2';
            $jnsbayar = '4';
        }
        if ($kdharga == 'KH04') {
            $keter = 'ShopeeFood';
            $layanan = '2';
            $jnsbayar = '6';
        }
        if ($kdharga == 'KH05') {
            $keter = 'Reguler';
            $layanan = '1';
            $jnsbayar = '1';
        }
        $noorder = 'M';
        $kod = $this->db->query("select a.kdcabang,a.kdharga,a.tgl_penjualan,a.waktu,b.jnsbayar,b.id,date_format(tgl_penjualan,'%w') as hari,layanan,noorder from tabel_penjualan a
								left join kodeharga b on a.kdharga=b.kdharga		
								where no_faktur_penjualan='$nofaktur';");
        $kode = $kod->row_array();
        $layanlama = $kode['layanan'];
        $noorder = $kode['noorder'];
        if($noorder !='M') {
            if($layanlama=='3') {
                $layanan=$kode['layanan'];
            }
        }
        
        $data = array(
            'kdharga' => $kdharga,
            'keter' => $keter,
            'jnsbayar' => $jnsbayar,
            'layanan' => $layanan,
        );
        $this->db->where('no_faktur_penjualan', $nofaktur);
        $this->db->update('tabel_penjualan', $data);
        header("Location: " . $uri, TRUE);
    }

    public function kode_harga_layan()
    {
        $kdtoko = $this->session->userdata('kd_toko');
        $nofaktur = $this->input->post('nobuk');
        $custno = $this->input->post('idpromo');
        $notelp = $this->input->post('notelp');
        $waiter1 = $this->input->post('waiter1');
        $waiter2 = $this->input->post('waiter2');
        $kurir = $this->input->post('kurir');
        $pinojol = $this->input->post('pinojol');
        $struk = $this->input->post('struk');
        $type = $this->input->post('type');
        $npelanggan = $this->input->post('npelanggan');
        $promo = $this->input->post('promo');
        $tamu = $this->input->post('tamu');
        $nomeja = $this->input->post('nomeja');
        $layan = $this->input->post('layan');
        $uri = base_url('kasir/mesin-kasir/') . $nofaktur;

        $kpro = " Promo *";
        $noorder = 'M';
        $disc1 = 0;
        $diskon = 0;
        $idprogram = '';
        $noprogram = '';
        $jnsdisc = 0;
        $maxbonus = 0;
        $jnspromo = '';
        $jpromo = '';
        $kod = $this->db->query("select a.kdcabang,a.kdharga,a.tgl_penjualan,a.waktu,b.jnsbayar,b.id,date_format(tgl_penjualan,'%w') as hari,layanan,noorder from tabel_penjualan a
								left join kodeharga b on a.kdharga=b.kdharga		
								where no_faktur_penjualan='$nofaktur';");
        $kode = $kod->row_array();
        $kdharga = $kode['kdharga'];
        $kdcabang = $kode['kdcabang'];
        $layanlama = $kode['layanan'];
        $noorder = $kode['noorder'];
        if($noorder !='M') {
            if($layanlama=='3') {
                $layan=$kode['layanan'];
            }
        }
        if ($layanlama != $layan) {
            $up = $this->db->query("update tabel_penjualan set custno='',promo='1',idpromo='' where no_faktur_penjualan='$nofaktur';");
            $upd = $this->db->query("update tabel_rinci_penjualan a,tabel_menu b set a.nm_barang=b.nama_menu where a.kd_barang=b.kode_menu and a.no_faktur_penjualan='$nofaktur';");
        }
        if ($promo == 2) {
            $tgl = $kode['tgl_penjualan'];
            $waktu = $kode['waktu'];
            $jnsbayar = $kode['jnsbayar'];
            $idbayar = $kode['id'];
            $hari = $kode['hari'];

            if (isset($custno)) {
                $prom = $this->db->query("SELECT a.disc1,a.ndisc1,a.idprogram,a.nobukti,a.jnsdisc,a.jnspromo,a.jnsmenu,a.maxbonus FROM promoheader a
					                        LEFT JOIN promoarea b ON a.nobukti=b.nobukti 
					                        WHERE a.idprogram='$custno' and b.kdwil='$kdcabang' and a.hari like '%$hari%' and  (a.jnslayanan='$layan' or a.jnslayanan1='$layan' or a.jnslayanan2='$layan' OR a.jnslayanan='0');");
            }
            if (empty($custno)) {
                $prom = $this->db->query("SELECT a.disc1,a.ndisc1,a.idprogram,a.nobukti,a.jnsdisc,a.jnspromo,a.jnsmenu,a.maxbonus FROM promoheader a
								LEFT JOIN promoarea b ON a.nobukti=b.nobukti
								WHERE a.stat='1' AND a.tglawal<='$tgl' AND a.tglakhir>='$tgl' AND a.jamawal<='$waktu' AND a.jamakhir>='$waktu' and stpromo='1' and (eorder='0' or eorder='2') and manual='1'
								AND (a.jnslayanan='$layan' or a.jnslayanan1='$layan' or a.jnslayanan2='$layan' OR a.jnslayanan='0') AND b.kdwil='$kdcabang' and a.hari like '%$hari%' and jnspromo<>'9'
								AND (a.custno='$idbayar' OR a.custno='$jnsbayar' OR a.custno='0');");
            }
            $dprom = $prom->row_array();

            if (isset($dprom)) {
                $disc1 = $dprom['disc1'];
                $diskon = $dprom['ndisc1'];
                $idprogram = $dprom['idprogram'];
                $noprogram = $dprom['nobukti'];
                $jnsdisc = $dprom['jnsdisc'];
                $jnspromo = $dprom['jnspromo'];
                $jnsmenu = $dprom['jnsmenu'];
                $maxbonus = $dprom['maxbonus'];
                $jpromo = "P";
                $upd = $this->db->query("update tabel_rinci_penjualan a,tabel_menu b set a.nm_barang=concat(b.nama_menu,'$kpro'),a.kdpromo='$idprogram' where a.kd_barang=b.kode_menu and a.no_faktur_penjualan='$nofaktur' and jpromo='P';");
            }
        }


        $netongkir = 0;
        if ($layan == '3') {
            $diskon = 0;
            $nilai = 0;
            $ongkir = $this->db->query("select a.nilai from ongkir a
				                             left join tabel_penjualan b on a.kode=b.kdcabang
				                             where a.st='1' and a.drtgl<=b.tgl_penjualan and a.smptgl>=b.tgl_penjualan
				                             and b.no_faktur_penjualan='$nofaktur';");
            $onk = $ongkir->row_array();

            $dongkir = $this->db->query("select a.diskon from detailongkir a
				                             left join tabel_penjualan b on a.kode=b.kdcabang
				                             where a.st='1' and a.drtgl<=b.tgl_penjualan and a.smptgl>=b.tgl_penjualan
				                             and b.no_faktur_penjualan='$nofaktur';");
            $donk = $dongkir->row_array();
            if (isset($donk)) {
                $diskon = $donk['diskon'];
            }
            if (isset($onk)) {
                $nilai = $onk['nilai'];
            }
            $netongkir = $nilai - $diskon;
        }
        if ($layan != '1') {
            $kode = $kod->row_array();
            $kdharga = $kode['kdharga'];
            if ($layanlama == 1) {
                if ($kdharga == 'KH01') {
                    $this->db->query("delete from tabel_rinci_penjualan where no_faktur_penjualan='$nofaktur' and kodeta like '%Din-Ta%';");
                    $this->db->query("update tabel_rinci_penjualan set qtytakeaway=0,qtypanasta=0,qtydinginta=0 where no_faktur_penjualan='$nofaktur';");
                    $this->db->query("
									INSERT IGNORE INTO tabel_rinci_penjualan(no_faktur_penjualan,kd_barang,nm_barang,jumlah,harga_modal,harga,kodeta,sub_total_jual,nourut,idmenu,takeaway,nolap,jnsbarang,ppn,nppn,tgl)
									SELECT a.nobukti,a.kdbrg,c.nama_menu,SUM(a.qty),c.harga_modal,b.hargajual,'Takeaway',(sum(a.qty)*b.hargajual),nourut,idmenu,'$layan',c.nolap,c.jenisbrg,if(b.ppn='Y',10,0),sum(if(b.ppn='Y',((10/100)*(b.hargajual*a.qty)),0)),curdate() FROM fakturpromo a
									LEFT JOIN hargajual b ON b.kdbrg=a.kdbrg and b.kdharga='$kdharga' and b.kdcabang=mid('$nofaktur',1,5)
									LEFT JOIN tabel_menu c ON c.kode_menu=a.kdbrg
									WHERE a.nobukti ='$nofaktur' and a.din='0' and b.stat='1'
									GROUP BY nobukti,kdbrg;");
                } else {

                    $this->db->query("INSERT IGNORE INTO tabel_rinci_penjualan(no_faktur_penjualan,kd_barang,nm_barang,jumlah,harga_modal,harga,kodeta,sub_total_jual,nourut,idmenu,takeaway,nolap,jnsbarang,tgl)
									SELECT a.nobukti,a.kdbrg,b.nama_menu,SUM(a.qty),b.harga_modal,0,'Ojol',0,nourut,idmenu,'$layan',b.nolap,b.jenisbrg,curdate() FROM fakturpromo a
									LEFT JOIN tabel_menu b ON b.kode_menu=a.kdbrg
									WHERE a.nobukti ='$nofaktur' and din='0'
									GROUP BY nobukti,kdbrg;");
                }
            }
        }

        if ($layan == '1') {
            $this->db->query("delete from tabel_rinci_penjualan where no_faktur_penjualan='$nofaktur' and (kodeta like '%Takeaway%' or kodeta like '%Ojol%');");
        }
        if ($idprogram == '') {
            $tglharga = date('Y-m-d');
            $this->db->query("update tabel_rinci_penjualan a, hargajual b set a.disc2=0,a.ndisc2=0,a.diskonpersen=0,a.diskonrp=0,a.harga=b.hargajual,takeaway='$layan',kdpromo='$idprogram',
			a.sub_total_jual=jumlah*b.hargajual,a.nppn=((jumlah*b.hargajual)*(a.ppn/100)),jpromo='$jpromo' where a.no_faktur_penjualan='$nofaktur' and b.kdharga='$kdharga' and b.kdcabang='$kdcabang' and a.kd_barang=b.kdbrg
			AND b.tglawal<='$tglharga' AND b.tglakhir>='$tglharga' and b.stat='1'
			;");
            //$this->db->query("update tabel_penjualan set disc=0,ndisc=0,netto=total_penjualan where no_faktur_penjualan='$nofaktur';");
        }
        if ($idprogram != '') {
            if ($jnsdisc == '1') {
                $this->db->query("update tabel_rinci_penjualan a,promodetail b set a.diskonpersen=if(b.disc1>0,b.disc1,0),a.takeaway='$layan',a.kdpromo='$idprogram',
			            a.diskonrp=if(b.disc1>0,(a.jumlah*a.harga*(b.disc1/100)),b.ndisc1*a.jumlah),a.sub_total_jual=(a.jumlah*a.harga)-(if(b.disc1>0,(a.jumlah*a.harga*(b.disc1/100)),b.ndisc1*a.jumlah)),
						a.nppn=((a.jumlah*a.harga)-(if(b.disc1>0,(a.jumlah*a.harga*(b.disc1/100)),b.ndisc1*a.jumlah))*(a.ppn/100)),jpromo='$jpromo'
				        where no_faktur_penjualan='$nofaktur' and a.kd_barang=b.kdbrg and b.idpromo='$idprogram' and b.kdcabang='$kdcabang' ;");
            }
            if ($jnsdisc == '2') {
                $this->db->query("update tabel_rinci_penjualan a,promodetail b set 
			            a.harga=b.newharga,
			            a.sub_total_jual=(a.jumlah*b.newharga),
						a.nppn=((a.jumlah*b.newharga)*(a.ppn/100)),
						a.kdpromo='$idprogram',
						a.jpromo='$jpromo'
				        where no_faktur_penjualan='$nofaktur' and a.kd_barang=b.kdbrg and b.idpromo='$idprogram' and b.kdcabang='$kdcabang' and a.kdpromo<>'' and b.newharga>0;");
            }
        }
        if ($jnspromo == '9') {
            $jnsdisc = $jnspromo;
        }
        $data = array(
            'layanan' => $layan,
            'custno' => $custno,
            'notelp' => $notelp,
            'waiter1' => $waiter1,

            'kurir' => $kurir,
            'pinojol' => $pinojol,
            'struk' => $struk,
            'typecust' => $type,
            'npelanggan' => $npelanggan,
            'promo' => $promo,
            'tamu' => $tamu,
            'nomeja' => $nomeja,
            'ongkir' => $netongkir,
            'disc' => $disc1,
            'diskon' => $diskon,
            'idpromo' => $idprogram,
            'jnspromo' => $jnsdisc,
            'posting' => '2',
            'maxbonus' => $maxbonus,


        );
        $this->db->where('no_faktur_penjualan', $nofaktur);
        $this->db->update('tabel_penjualan', $data);
        $upd = $this->db->query("update tbl_invoice set nobukti='$nofaktur',inv_status='Menunggu Pembayaran',stat='3' where inv_no='$noorder' ");
        if ($this->db->affected_rows() > 0) {
          $insert_rinci = $this->db->query("SELECT a.detail_menu_id,a.detail_menu_nama,a.detail_porsi,c.harga_modal,a.detail_harjul,a.detail_subtotal AS sub_total_jual,
  	IF(b.ppn='Y',10,0) AS ppn,IF(b.ppn='Y',((a.detail_subtotal)*(10/100)),0) AS nppn,d.id AS idmenu,c.jenisbrg,1,a.kdpromo,
  	a.jpromo,b.hargajual
	FROM tbl_detail a
 	LEFT JOIN hargajual b ON a.detail_menu_id=b.kdbrg 
 	LEFT JOIN tabel_menu c ON c.kode_menu=a.detail_menu_id
 	LEFT JOIN jenismenu d ON c.jenisbrg=d.kdjenis
 	WHERE a.detail_inv_no='$noorder' AND b.kdharga='KH01' AND b.kdcabang='$kdtoko' AND b.tglawal<=CURDATE() AND b.tglakhir>=CURDATE()")->result();
	
 	foreach ($insert_rinci as $dt) {
 	    $insert_tabel_penjualan = [
 	             'no_faktur_penjualan'  =>$nofaktur,
 	             'kd_barang'            =>$dt->detail_menu_id,
 	             'nm_barang'            =>$dt->detail_menu_nama,
 	             'jumlah'               =>$dt->detail_porsi,
 	             'harga_modal'          =>$dt->harga_modal,
 	             'harga'                =>$dt->detail_harjul,
 	             'sub_total_jual'       =>$dt->sub_total_jual,
 	             'ppn'                  =>$dt->ppn,
 	             'nppn'                 =>$dt->nppn,
 	             'idmenu'               =>$dt->idmenu,
 	             'jnsbarang'            =>$dt->jenisbrg,
 	             'nourut'               =>1,
 	             'kdpromo'              =>$dt->kdpromo,
 	             'jpromo'               =>$dt->jpromo,
 	             'harga1'               =>$dt->hargajual,
 	             'takeaway'             =>$layan,
 	             'tgl'                  =>date('Y-m-d')
	        
 	        ];
 	        $this->db->insert('tabel_rinci_penjualan', $insert_tabel_penjualan);
	    
 	}
        
        
        // $invice = $this->db->query("SELECT a.no_faktur_penjualan,b.kdbrgbonus,a.kd_barang,a.jumlah,a.idmenu,ROW_NUMBER() OVER (ORDER BY a.no_faktur_penjualan) + 50 AS urutan 
        // FROM tabel_rinci_penjualan a 
        // JOIN tabel_menu b ON b.kode_menu = a.kd_barang 
        // WHERE a.no_faktur_penjualan = '$nofaktur' AND b.jnsbonus = 1 AND a.paket != 1")->result();
        
        // foreach ($invice as $key) {
        //     $kdbns = array(
        //         'nobukti' => $key->no_faktur_penjualan,
        //         'kdbrg' => $key->kdbrgbonus,
        //         'kdbrg1' => $key->kd_barang,
        //         'qty' => $key->jumlah,
        //         'nourut' => $key->urutan,
        //         'idmenu' => $key->idmenu,
        //       );
        //       $this->db->insert('fakturpromo', $kdbns);
            
        // }
        
        // Query kedua: Ambil data dari tabel_rinci_promo
        // $invice = $this->db->query("
        //     SELECT a.nobukti, b.kdbrgbonus, a.kdbrg1, a.kdbrg, a.qty, c.id, 
        //           ROW_NUMBER() OVER (ORDER BY a.nobukti) + 50 AS urutan
        //     FROM tabel_rinci_promo a
        //     JOIN tabel_menu b ON b.kode_menu = a.kdbrg1
        //     JOIN jenismenu c ON c.kdjenis = b.jenisbrg
        //     WHERE a.nobukti = '$nofaktur' AND b.jnsbonus = 1
        // ")->result();
        
        // foreach ($invice as $key) {
        //     // Cek apakah sudah ada data dengan kdbrg yang sama
        //     $existing = $this->db->query("
        //         SELECT * FROM fakturpromo WHERE kdbrg = '{$key->kdbrgbonus}' AND kdbrg1 = '{$key->kdbrg}' AND nobukti = '{$key->nobukti}'
        //     ")->row();
        
        //     if ($existing) {
        //         // Jika sudah ada, update data
        //         $this->db->query("
        //             UPDATE fakturpromo
        //             SET qty = qty + '{$key->qty}' WHERE kdbrg = '{$key->kdbrgbonus}' AND nobukti = '{$key->nobukti}'
        //         ");
        //     } else {
        //         // Jika belum ada, insert data baru
        //         $this->db->query("
        //             INSERT INTO fakturpromo (nobukti, kdbrg, kdbrg1, qty, nourut, idmenu)
        //             VALUES ('{$key->nobukti}', '{$key->kdbrgbonus}', '{$key->kdbrg}', '{$key->qty}', '{$key->urutan}', '{$key->id}')
        //         ");
        //     }
        // }


    }


        header("Location: " . $uri, TRUE);
    }

    public function kode_harga_layan1()
    {
        $nofaktur = $this->input->post('nobuk');
        $tglfaktur = $this->input->post('tgl');
        $noorder = $this->input->post('noorder');
        $kd_toko = $this->session->userdata('kd_toko');
        $uri = base_url('kasir/mesin-kasir/') . $nofaktur;
        $custno = '';
        $npelanggan = '';
        $promo = '';
        $kdcabang = '';
        $notelp = '';
        $kdharga = '';
        $jnsbayar = '1';
        $an = NULL;
        $cek_an = $this->kasir_model->cek_sudah_ada_order($noorder); //disini
        $ia = $cek_an->row_array();
        if (isset($ia)) {
            $an = $ia['no_faktur_penjualan'];
            $ntgl = $ia['tgl_penjualan'];
            $ns = $ia['selesai'];
            $nc = $ia['kdcabang'];
            if ($an != null) {
                echo $this->session->set_flashdata('error', 'No Order Ini sudah diProses Dengan No:  ' . $an);
                header("Location: " . $uri, TRUE);
            }
        }
        $inv = $this->db->query("select * from tbl_invoice a
		                        left join tbl_pelanggan b on a.inv_plg_id=b.plg_id
		                        where a.inv_no='$noorder' and a.kdcabang='$kd_toko';");
        $inva = $inv->row_array();
        if (isset($inva)) {
            $custno = $inva['inv_plg_id'];
            $npelanggan = $inva['inv_plg_nama'];
            $kdharga = $inva['layanan'];
            $promo = $inva['promo'];
            $kdcabang = $inva['kdcabang'];
            $notelp = $inva['plg_notelp'];
            $jnsbayar = $inva['jnsbayar'];
        }
        $type = '2';
        $waiter1 = $this->input->post('waiter1');
        $waiter2 = $this->input->post('waiter2');
        $kurir = $this->input->post('kurir');
        $struk = $this->input->post('struk');
        $nomeja = $this->input->post('nomeja');


        $netongkir = 0;
        if ($kdharga == '3') {
            $diskon = 0;
            $nilai = 0;
            $ongkir = $this->db->query("select a.nilai from ongkir a
				                             left join tabel_penjualan b on a.kode=b.kdcabang
				                             where a.st='1' and a.drtgl<=b.tgl_penjualan and a.smptgl>=b.tgl_penjualan
				                             and b.no_faktur_penjualan='$nofaktur';");
            $onk = $ongkir->row_array();

            $dongkir = $this->db->query("select a.diskon from detailongkir a
				                             left join tabel_penjualan b on a.kode=b.kdcabang
				                             where a.st='1' and a.drtgl<=b.tgl_penjualan and a.smptgl>=b.tgl_penjualan
				                             and b.no_faktur_penjualan='$nofaktur';");
            $donk = $dongkir->row_array();
            if (isset($donk)) {
                $diskon = $donk['diskon'];
            }
            if (isset($onk)) {
                $nilai = $onk['nilai'];
            }
            $netongkir = $nilai - $diskon;
        }


        $data = array(
            'layanan' => $kdharga,
            'custno' => $custno,
            'notelp' => $notelp,
            'waiter1' => $waiter1,

            'kurir' => $kurir,
            'struk' => $struk,
            'typecust' => $type,
            'npelanggan' => $npelanggan,
            'promo' => $promo,
            'nomeja' => $nomeja,
            'ongkir' => $netongkir,
            'noorder' => $noorder,
            'posting' => '2',
            'jnsbayar' => $jnsbayar,
        );
        $this->db->where('no_faktur_penjualan', $nofaktur);
        $this->db->update('tabel_penjualan', $data);

        if ($an == null) {
            //	$invd=$this->db->query("
            //		        select a.detail_menu_id,a.detail_menu_nama,a.detail_porsi,b.hargajual,if(b.ppn='Y',10,0) as ppn,(a.detail_porsi*b.hargajual) as sub_total_jual,((a.detail_porsi*b.hargajual)*(10/100)) as nppn,d.id as idmenu,c.harga_modal
            //		        from tbl_detail a
            //		        left join hargajual b on a.detail_menu_id=b.kdbrg 
            //		        left join tabel_menu c on c.kode_menu=a.detail_menu_id
            //		        left join jenismenu d on c.jenisbrg=d.kdjenis
            //		        where a.detail_inv_no='$noorder' and b.kdharga='KH01' and kdcabang='$kd_toko' and b.tglawal<='$tglfaktur' and tglakhir>='$tglfaktur' ");
            //		$invad=$invd->row_array();
            //		if (isset($invad)) {
            //		    $kd_barang=$invad['detail_menu_id'];
            //		    $nm_barang=$invad['detail_menu_nama'];
            //		    $jumlah=$invad['detail_porsi'];
            //		    $harga=$invad['hargajual'];
            //		    $harga_modal=$invad['harga_modal'];
            //		    $ppn=$invad['ppn'];
            //		    $nppn=$invad['nppn'];
            //		    $idmenu=$invad['idmenu'];
            //		    $sub_total_jual=$invad['sub_total_jual'];


            //			$data1 = array(				
            //				'no_faktur_penjualan' => $nofaktur,
            //				'kd_barang' =>$kd_barang,
            //				'nm_barang' =>$nm_barang,
            //				'jumlah' =>$jumlah,
            //				'harga_modal' =>$harga_modal,
            //				'harga' =>$harga,
            //				'sub_total_jual' =>$sub_total_jual,
            //				'ppn' =>$ppn,
            //				'nppn' =>$nppn,
            //				'idmenu' =>$idmenu,
            //				
            //			);
            //			$this->db->insert('tabel_rinci_penjualan', $data1);
            //		}	

            $upd = $this->db->query("update tbl_invoice1 set nobukti='$nofaktur',inv_status='Menunggu Pembayaran',stat='3' where inv_no='$noorder' ");
        }
        header("Location: " . $uri, TRUE);
    }


    public function kode_harga_token()
    {
        $nofaktur = $this->input->post('nobuk');
        $token = $this->input->post('token');
        $idtoken = $this->input->post('idtoken');
        $note = $this->input->post('note');
        $password = (($token / 1305));
        $uri = base_url('kasir/mesin-kasir/') . $nofaktur;

        if ($password != $idtoken) {
            echo $this->session->set_flashdata('error', 'Password Salah');
            $uri = base_url('kasir/mesin-kasir-bayar/') . $nofaktur;
            header("Location: " . $uri, TRUE);
        } else {
            $data = array(
                'token' => $token,
                'idtoken' => $idtoken,
                'note' => $note,
                'posting' => '5',
                'nbayar' => '0',
                'nkembali' => '0',

            );
            $this->db->where('no_faktur_penjualan', $nofaktur);
            $this->db->update('tabel_penjualan', $data);
            $this->db->query("delete from tabel_rinci_penjualan where no_faktur_penjualan='$nofaktur' and (kodeta like '%Takeaway%' or kodeta like '%Ojol%');");
            header("Location: " . $uri, TRUE);
        }
    }
    public function kode_promo()
    {
        $nofaktur = $this->input->post('nobuk');
        $idtoken = $this->input->post('idtoken');
        $promax = 0;
        $promo = '1';
        $jnspromo = '';
        $idpromo = '';

        $tgls = date('Y-m-d');
        $uri = base_url('kasir/mesin-kasir/') . $nofaktur;
        $c = $this->db->query("select * from tabel_voucher where novoucher='$idtoken';");
        $ci = $c->row_array();
        if (!isset($ci)) {
            echo $this->session->set_flashdata('error', 'Voucher Salah/Tidak ada');
            header("Location: " . $uri, TRUE);
        } else {
            if ($ci['tglexp'] < $tgls) {
                echo $this->session->set_flashdata('error', 'Voucher Expired');
                header("Location: " . $uri, TRUE);
            }
            if ($ci['tgl'] != null) {
                echo $this->session->set_flashdata('error', 'Voucher Sudah Digunakan ' . $ci['tgl']);
                header("Location: " . $uri, TRUE);
            } else {
                $idpromo = $ci['idpromo'];
                $cp = $this->db->query("select * from promoheader where idprogram='$idpromo';");
                $cpi = $cp->row_array();
                if (isset($cpi)) {
                    $promax = $cpi['maxbonus'];
                    $promo = $cpi['jnsdisc'];
                    $jnspromo = $cpi['jnspromo'];
                    $minorder = $cpi['minorder'];
                }

                $data = array(
                    'waiter2' => $idtoken,
                    'maxbonus' => $promax,
                    'promo' => $promo,
                    'jnspromo' => $jnspromo,
                    'idpromo' => $idpromo,
                    'point' => $minorder,
                );
                $this->db->where('no_faktur_penjualan', $nofaktur);
                $this->db->update('tabel_penjualan', $data);
                header("Location: " . $uri, TRUE);
            }
        }
    }
    public function kode_harga_token_1()
    {
        $nofaktur = $this->input->post('nobuk');
        $token = $this->input->post('token');
        $idtoken = $this->input->post('idtoken');
        $note = $this->input->post('note');
        $password = (($token / 1305));
        $uri = base_url('kasir/mesin-kasir/') . $nofaktur;
        $ada = '0';
        $cari = $this->db->query("select count(*) as ada from tabel_antri where nobukti='$nofaktur';");
        $adac = $cari->row_array();
        if (isset($adac)) {
            $ada = $adac['ada'];
        }
        if ($ada == '1') {
            $aw = $this->db->query("select layanan,posting,kdharga,idpromo,item,jnspromo,netto,nbayar,nkembali from tabel_penjualan where no_faktur_penjualan='$nofaktur';");
            $awa = $aw->row_array();
            $netto = $awa['netto'];
            $kembali = $awa['nkembali'];
            $bayar = $awa['nbayar'];
            $uri = base_url('kasir/transaksi-selesai/') . $netto . '/' . $bayar . '/' . $kembali . '/' . $nofaktur;
            echo $this->session->set_flashdata('error', 'Faktur Sudah Pernah Dicetak');
            header("Location: " . $uri, TRUE);
        } else {

            $data = array(
                'note' => $note,
                'nbayar' => '0',
                'nkembali' => '0',
            );
            $this->db->where('no_faktur_penjualan', $nofaktur);
            $this->db->update('tabel_penjualan', $data);
            header("Location: " . $uri, TRUE);
        }
    }
    public function kode_harga_token1()
    {
        $tgl = date('Y-m-d');
        $kdtoko = $this->session->userdata('kd_toko');
        $nofaktur = $this->input->post('nobuk');
        $token = $this->input->post('token');
        $idtoken = $this->input->post('idtoken');
        $note = $this->input->post('note');
        $password = (($token / 1305));
        $uri = base_url('kasir/get-data-faktur/') . $nofaktur;

        if ($password != $idtoken) {
            echo $this->session->set_flashdata('error', 'Password Salah');
            $uri = base_url('kasir/rekap/');
            header("Location: " . $uri, TRUE);
        } else {
            $data = array(
                'kdtoko' => $kdtoko,
                'nobukti' => $nofaktur,
                'token' => $token,
                'idtoken' => $idtoken,
                'keterangan' => $note,
                'tgl' => $tgl,
            );
            $this->db->insert('tabel_retur_header', $data);
            $this->load->view('header');
            $this->load->view('kasir/retur');
        }
    }

    public function kode_harga1()
    {
        $nofaktur = $this->input->post('nobuk');
        $kdharga = $this->input->post('kdharga');
        $tgl = $this->input->post('tgl');
        $posting = $this->input->post('posting');
        $kdcabang = $this->input->post('kdcabang');
        $kd = $this->db->query("select * from tabel_penjualan where no_faktur_penjualan='$nofaktur';");
        $kd1 = $kd->row_array();
        $kdhargalama = $kd1['kdharga'];
        $uri = base_url('kasir/mesin-kasir/') . $nofaktur;
        if ($kdharga == 'KH01') {
            $keter = 'Reguler';
            $layanan = '1';
            $jnsbayar = '1';
        }
        if ($kdharga == 'KH05') {
            $keter = 'Reg Mandiri';
            $layanan = '1';
            $jnsbayar = '1';
        }
        if ($kdharga == 'KH02') {
            $keter = 'Gofood';
            $layanan = '2';
            $jnsbayar = '3';
        }
        if ($kdharga == 'KH03') {
            $keter = 'Grabfood';
            $layanan = '2';
            $jnsbayar = '4';
        }
        if ($kdharga == 'KH04') {
            $keter = 'ShopeeFood';
            $layanan = '2';
            $jnsbayar = '6';
        }
         $noorder = 'M';
        $kod = $this->db->query("select a.kdcabang,a.kdharga,a.tgl_penjualan,a.waktu,b.jnsbayar,b.id,date_format(tgl_penjualan,'%w') as hari,layanan,noorder from tabel_penjualan a
								left join kodeharga b on a.kdharga=b.kdharga		
								where no_faktur_penjualan='$nofaktur';");
        $kode = $kod->row_array();
        $layanlama = $kode['layanan'];
        $noorder = $kode['noorder'];
        if($noorder !='M') {
            if($layanlama=='3') {
                $layanan=$kode['layanan'];
            }
        }
        if ($posting == '0' or $posting == '5') {
            $this->db->query("UPDATE tabel_penjualan SET kdharga='$kdharga',keter='$keter',layanan='$layanan',jnsbayar='$jnsbayar',promo='1',idpromo=''   WHERE  no_faktur_penjualan='$nofaktur';");
            $this->db->query("UPDATE tabel_rinci_penjualan a,hargajual b SET a.harga=b.hargajual ,a.sub_total_jual=(a.jumlah*b.hargajual),a.ppn=IF(b.ppn='Y',10,0),a.nppn=((a.jumlah*b.hargajual)*(a.ppn/100)),takeaway='$layanan'
		                    WHERE a.no_faktur_penjualan='$nofaktur'
		                    AND b.kdharga='$kdharga' 
		                    AND a.kd_barang=b.kdbrg
		                    AND b.tglawal<='$tgl'
		                    AND b.tglakhir>='$tgl'
		                    AND b.kdcabang='$kdcabang' and b.stat='1';");
            if (($kdhargalama == 'KH01') or ($kdhargalama == 'KH05')) {
                if (($kdharga >= 'KH01') && ($kdharga <= 'KH04')) {
                    $this->db->query("INSERT IGNORE INTO tabel_rinci_penjualan(no_faktur_penjualan,kd_barang,nm_barang,jumlah,harga_modal,harga,kodeta,sub_total_jual,nourut,idmenu,takeaway,nolap,jnsbarang,tgl)
									SELECT a.nobukti,a.kdbrg,b.nama_menu,SUM(a.qty),b.harga_modal,0,'Ojol',0,nourut,idmenu,'$layanan',b.nolap,b.jenisbrg,curdate() FROM fakturpromo a
									LEFT JOIN tabel_menu b ON b.kode_menu=a.kdbrg
									WHERE a.nobukti ='$nofaktur' and din='0'
									GROUP BY nobukti,kdbrg;");
                }
            }
            if (($kdharga == 'KH01') or ($kdharga == 'KH05')) {
                if ($layanan == '1') {
                    $this->db->query("delete from tabel_rinci_penjualan where no_faktur_penjualan='$nofaktur' and (kodeta like '%Takeaway%' or kodeta like '%Ojol%');");
                }
            }
        }
        header("Location: " . $uri, TRUE);
    }

    public function kode_harga2()
    {
        $nofaktur = $this->input->post('nobuk');
        $jenisbrg = $this->input->post('jenis');
        $jenismn = $this->input->post('jenisbrg');
        if ($jenismn == NUll) {
            $jenismn = $this->input->post('jenis');
        }
        $uri = base_url('kasir/mesin-kasir/') . $nofaktur;

        $data = array(
            'jnsmenu' => $jenisbrg,
            'jenisbrg' => $jenismn,
            'cari' => '',
        );
        $this->db->where('no_faktur_penjualan', $nofaktur);
        $this->db->update('tabel_penjualan', $data);
        header("Location: " . $uri, TRUE);
    }
    public function kode_harga3()
    {
        $nofaktur = $this->input->post('nobuk');
        $kdpromo = $this->input->post('jenis');
        $tpromo=0;
        
        $uri = base_url('kasir/mesin-kasir/') . $nofaktur;
        $querypro = $this->db->query("SELECT sum(jumlah) tprom FROM tabel_rinci_penjualan WHERE no_faktur_penjualan='$nofaktur' AND (jpromo = 'P' OR jpromo = 'X')");
        $jpro = $querypro->row_array(); // Menggunakan result_array() untuk mendapatkan semua baris hasil query
        $tpromo=$jpro['tprom'];
        
        $query = $this->db->query("SELECT * FROM tabel_rinci_penjualan WHERE no_faktur_penjualan='$nofaktur' AND (jpromo = 'P' OR jpromo = 'X')");
        $rows = $query->result_array(); // Menggunakan result_array() untuk mendapatkan semua baris hasil query

        $no=1;
        $disc=20;
        foreach ($rows as $r){
            $jum = $r['jumlah'];
            $diskon = $r['sub_total_jual'] * ($disc / 100);
            $subtotaljual = $r['sub_total_jual'] - $diskon;
            $nppn = $subtotaljual * (10 / 100);
            
                $data = [
                'diskonpersen' => $disc,
                'sub_total_jual' => $subtotaljual,
                'nppn' => $nppn,
                'diskonrp' => $diskon,
                'kdpromo'   =>$kdpromo
                ];
                $this->db->where('no_faktur_penjualan', $nofaktur);
                $this->db->where('jpromo', $r['jpromo']);
                $this->db->where('kd_barang', $r['kd_barang']);
                $this->db->update('tabel_rinci_penjualan', $data);
            $no +=$jum;
    
        }   
    
        header("Location: " . $uri, TRUE);
    }

    public function updatecari()
    {
        $nofaktur = urldecode($this->uri->segment(3));
        $idbarang = urldecode($this->uri->segment(4));
        $uri = base_url('kasir/mesin-kasir/') . $nofaktur;

        $data = array(
            'cari' => $idbarang,
        );
        $this->db->where('no_faktur_penjualan', $nofaktur);
        $this->db->update('tabel_penjualan', $data);
        header("Location: " . $uri, TRUE);
    }


    public function simpan_edit()
    {
        $nofaktur = $this->input->post('nobuk');

        $kdbrg = $this->input->post('kdbrg');
        $jenis = $this->input->post('jenis');
        $takeaway = $this->input->post('takeaway');
        $qtyregu = $this->input->post('qtyregu');
        $qtyb = $this->input->post('qty');
        $note = $this->input->post('note');
        $idmenu = $this->input->post('idmenu');
        $kdharga = $this->input->post('kdharga');
        $harga = $this->input->post('harga');
        $harga1 = $this->input->post('harga1');
        
        if($this->input->post('qtypanasta') == '' || empty($this->input->post('qtypanasta'))){
        $qtypanasta = 0;    
        }else{
        $qtypanasta = $this->input->post('qtypanasta');    
        }
        
        if($this->input->post('qtydinginta') == '' || empty($this->input->post('qtydinginta'))){
        $qtydinginta = 0;    
        }else{
        $qtydinginta = $this->input->post('qtydinginta');  
        }
        
        if($this->input->post('qtytakeaway') == '' || empty($this->input->post('qtytakeaway')) ){
        $qtytakeaway = 0;    
        }else{
        $qtytakeaway = $this->input->post('qtytakeaway');  
        }
        
        
        
        $qtypanas = $this->input->post('qtypanas');
        
        $qtyta = $qtypanasta + $qtydinginta + $qtytakeaway;
        
        $subtotal = (($qtyb - $qtyregu) * $harga) + ($qtyregu * $harga1);
        $npromo = (($qtyb - $qtyregu) * ($harga1 - $harga));
        $pajak = ($subtotal / 10);
        $kdpromo = '';
        $cek = $this->db->query("select * from hargajual where kdbrg='$kdbrg' and kdharga='$kdharga' and tglawal<=curdate() and tglakhir>=curdate() and stat='1';");
        $cek1 = $cek->row_array();
        $lay = $this->db->query("select layanan,posting,kdharga,idpromo,item,jnspromo,netto,nbayar,nkembali,stbayar from tabel_penjualan where no_faktur_penjualan='$nofaktur';");
        $laya = $lay->row_array();
        $layanan = $laya['layanan'];
        $kdharga = $laya['kdharga'];
        $idbonus = $laya['idpromo'];
        $titem = $laya['item'];
        $jnspromo = $laya['jnspromo'];
        $netto = $laya['netto'];
        $bayar = $laya['nbayar'];
        $kembali = $laya['nkembali'];
        $stbayar = $laya['stbayar'];
        if ($stbayar == '1') {
            $uri = base_url('kasir/mesin-kasir-bayar/') . $nofaktur;
            echo $this->session->set_flashdata('error', 'Faktur Sudah Dibayar');
            header("Location: " . $uri, TRUE);
        } else {

            $ada = '0';
            $cari = $this->db->query("select count(*) as ada from tabel_antri where nobukti='$nofaktur';");
            $adac = $cari->row_array();
            if (isset($adac)) {
                $ada = $adac['ada'];
            }
            if ($ada == '1') {
                $uri = base_url('kasir/transaksi-selesai/') . $netto . '/' . $bayar . '/' . $kembali . '/' . $nofaktur;
                echo $this->session->set_flashdata('error', 'Faktur Sudah Pernah Dicetak');
                header("Location: " . $uri, TRUE);
            } else {

                $uri = base_url('kasir/mesin-kasir/') . $nofaktur;
                $kdpromo = '';
                if ($qtyta > 0) {

                    $kdp = $this->db->query("select kdpromo,takeaway,jumlah from tabel_rinci_penjualan where no_faktur_penjualan='$nofaktur' and kd_barang='$kdbrg' and harga='$harga';");
                    if ($kdp->num_rows() > 0) {
                        $kdo = $kdp->row_array();
                        $kdpromo = $kdo['kdpromo'];
                        $jumlah = $kdo['jumlah'];
                    }

                    $nou = $this->db->query("select max(nourut) as nourut,takeaway from tabel_rinci_penjualan where no_faktur_penjualan='$nofaktur' and nourut<50;");
                    if ($nou->num_rows() > 0) {
                        $nour = $nou->row_array();
                        $nourut = $nour['nourut'] + 1;
                        $layanan = $nour['takeaway'];
                    }
                    $nobonus = $nourut + 50;
                    $bn = $this->db->query("select * from tabel_menu where kode_menu='$kdbrg';");
                    if ($bn->num_rows() > 0) {
                        $bns = $bn->row_array();
                        $kdbonus = $bns['kdbrgbonus'];
                        $hps = $this->db->query("delete from fakturpromo where nobukti='$nofaktur' and kdbrg='$kdbonus' and kdbrg1='$kdbrg'  and jenis='0';");
                        $kdbns = array(
                            'nobukti' => $nofaktur,
                            'kdbrg' => $kdbonus,
                            'kdbrg1' => $kdbrg,
                            'qty' => $qtyta,
                            'nourut' => $nobonus,
                            'idmenu' => $idmenu,
                            'din' => '1',
                        );
                        $this->db->insert('fakturpromo', $kdbns);
                    }
                    if ($kdpromo != "") {
                        $cek_sudah_ada = $this->kasir_model->cek_sudah_ada_promo($kdbrg, $nofaktur, $harga1);

                        if ($cek_sudah_ada->num_rows() > 0) {
                            $this->db->query("UPDATE tabel_rinci_penjualan a SET a.jumlah=jumlah+'$qtytakeaway',qtytakeaway='$qtytakeaway',takeaway='Din-Ta'
							 WHERE kd_barang='$kdbrg' AND no_faktur_penjualan='$nofaktur' and harga='$harga1'");
                            $this->db->query("UPDATE tabel_rinci_penjualan  SET sub_total_jual=jumlah*harga,nppn=(jumlah*harga)/10,kdpromo='' where no_faktur_penjualan='$nofaktur' and kd_barang='$kdbrg' and harga=$harga1;");
                        } else {
                            $this->db->query("
									INSERT IGNORE INTO tabel_rinci_penjualan(no_faktur_penjualan,kd_barang,nm_barang,jumlah,harga_modal,harga,harga1,kodeta,sub_total_jual,nourut,idmenu,takeaway,nolap,jnsbarang,qtytakeaway,ppn,nppn,kdpromo,tgl)
									select '$nofaktur','$kdbrg',a.nama_menu,'$qtytakeaway',a.harga_modal,'$harga1','$harga1','Din-Ta',('$qtytakeaway'*'$harga1'),'$nourut',b.id,'$takeaway',a.nolap,a.jenisbrg,'$qtytakeaway',10,(('$qtytakeaway'*'$harga1')*10/100),'',curdate() FROM tabel_menu a
									left join jenismenu b on a.jenisbrg=b.kdjenis
									where a.kode_menu ='$kdbrg'
									");
                        }
                    }
                    $cek_sudah_ada1 = $this->kasir_model->cek_sudah_ada($kdbonus, $nofaktur);
                    if ($cek_sudah_ada1->num_rows() > 0) {
                        $this->db->query("UPDATE tabel_rinci_penjualan a SET a.jumlah=
							(select sum(qty) from fakturpromo WHERE kdbrg='$kdbonus' AND nobukti='$nofaktur' and din='1' and jenis='0')
							where no_faktur_penjualan='$nofaktur' and kd_barang='$kdbonus' and kodeta like '%Din-Ta%' ");
                        $this->db->query("UPDATE tabel_rinci_penjualan  SET sub_total_jual=jumlah*harga,nppn=((jumlah*harga)*(ppn/100)) where no_faktur_penjualan='$nofaktur' and kd_barang='$kdbonus' and kodeta like '%Din-Ta%';");
                    } else {
                        $this->db->query("
									INSERT IGNORE INTO tabel_rinci_penjualan(no_faktur_penjualan,kd_barang,nm_barang,jumlah,harga_modal,harga,harga1,kodeta,sub_total_jual,nourut,idmenu,takeaway,nolap,jnsbarang,ppn,nppn,tgl)
									SELECT a.nobukti,a.kdbrg,c.nama_menu,SUM(a.qty),c.harga_modal,b.hargajual,b.hargajual,'Din-Ta',(sum(a.qty)*b.hargajual),nourut,idmenu,'$takeaway',c.nolap,c.jenisbrg,if(b.ppn='Y',10,0),sum(if(b.ppn='Y',((10/100)*(b.hargajual*a.qty)),0)),curdate() FROM fakturpromo a
									LEFT JOIN hargajual b ON b.kdbrg=a.kdbrg and b.kdharga='$kdharga' and b.kdcabang=mid('$nofaktur',1,5)
									LEFT JOIN tabel_menu c ON c.kode_menu=a.kdbrg
									WHERE a.nobukti ='$nofaktur' and a.kdbrg='$kdbonus' and a.din='1' and b.stat='1' and a.jenis='0'
									GROUP BY nobukti,kdbrg;");
                    }
                    if ($kdpromo <> '') {
                        $upbonus = $this->db->query("update fakturbonus set qty=qty-'$qtyta' where kdbrg1='$kdbrg' and kdpromo='$kdpromo';");
                        $hps = $this->db->query("delete from fakturbonus where qty<=0;");

                        if ($jnspromo == '3') {
                            $cek_sudah_ada1 = $this->kasir_model->cek_sudah_adab($brgbonus, $nofaktur);
                            if ($cek_sudah_ada1->num_rows() > 0) {
                                $this->db->query("UPDATE tabel_rinci_penjualan a SET a.jumlah=
							(select sum(qty) from fakturbonus WHERE kdbrg='$brgbonus' AND nobukti='$nofaktur')
							where no_faktur_penjualan='$nofaktur' and kd_barang='$brgbonus' and jpromo='P';");
                                $this->db->query("UPDATE tabel_rinci_penjualan  SET sub_total_jual=0,nppn=0 where no_faktur_penjualan='$nofaktur' and kd_barang='$brgbonus' and jpromo='P';");
                            } else {

                                $this->db->query("
									INSERT IGNORE INTO tabel_rinci_penjualan(no_faktur_penjualan,kd_barang,nm_barang,jumlah,harga_modal,harga,kodeta,sub_total_jual,nourut,idmenu,takeaway,nolap,jnsbarang,ppn,nppn,jpromo,tgl)
									SELECT a.nobukti,a.kdbrg,concat('Bonus ',c.nama_menu),SUM(a.qty),c.harga_modal,0,'Bonus',0,nourut,idmenu,'$layanan',c.nolap,c.jenisbrg,0,0,'P',curdate() FROM fakturbonus a
									LEFT JOIN hargajual b ON b.kdbrg=a.kdbrg and b.kdharga='$kdharga' and b.kdcabang=mid('$nofaktur',1,5) and b.stat='1'
									LEFT JOIN tabel_menu c ON c.kode_menu=a.kdbrg
									WHERE a.nobukti ='$nofaktur' and a.kdbrg='$brgbonus'
									GROUP BY nobukti,kdbrg;");
                            }
                        }
                    }
                }
                if ($qtyta == 0) {
                    $bn = $this->db->query("select * from tabel_menu where kode_menu='$kdbrg';");
                    if ($bn->num_rows() > 0) {
                        $bns = $bn->row_array();
                        $kdbonus = $bns['kdbrgbonus'];
                        $this->db->query("UPDATE tabel_rinci_penjualan a SET a.jumlah=a.jumlah-
							(ifnull((select qty from fakturpromo WHERE kdbrg='$kdbonus' and kdbrg1='$kdbrg' and nobukti='$nofaktur' and din='1' and jenis='0'),0))
							where no_faktur_penjualan='$nofaktur' and kd_barang='$kdbonus' and kodeta like '%Din-Ta%' and nourut>=50");
                        $this->db->query("UPDATE tabel_rinci_penjualan  SET sub_total_jual=jumlah*harga where no_faktur_penjualan='$nofaktur' and kd_barang='$kdbonus';");
                        $hps = $this->db->query("delete from fakturpromo where nobukti='$nofaktur' and kdbrg='$kdbonus' and kdbrg1='$kdbrg' and din='1' and jenis='1';");
                        $hps = $this->db->query("delete from tabel_rinci_penjualan where no_faktur_penjualan='$nofaktur' and kd_barang='$kdbonus'  and jumlah<=0 and kodeta like '%Din-Ta%' and nourut>=50;");
                    }
                }
                if ($kdpromo == '') {
                    $data = array(
                        'takeaway' => $takeaway,
                        'note' => $note,
                        'qtytakeaway' => $qtytakeaway,
                        'qtypanas' => $qtypanas,
                        'qtypanasta' => $qtypanasta,
                        'qtydinginta' => $qtydinginta,
                        'qty' => $qtyregu,
                        'qtyta' => $qtyta,
                        'sub_total_jual' => $subtotal,
                        'nppn' => $pajak,
                        'npromo' => $npromo,

                    );
                    $this->db->where('no_faktur_penjualan', $nofaktur);
                    $this->db->where('kd_barang', $kdbrg);
                    $this->db->where('harga', $harga);
                    $this->db->update('tabel_rinci_penjualan', $data);
                }
                if ($kdpromo != '') {
                    $subtotal = ($jumlah - $qtytakeaway) * $harga;
                    $pajak = ($subtotal / 10);
                    $data = array(
                        'qtypanas' => $qtypanas,
                        'qtypanasta' => $qtypanasta,
                        'qtydinginta' => $qtydinginta,
                        'jumlah' => $jumlah - $qtytakeaway,
                        'sub_total_jual' => $subtotal,
                        'nppn' => $pajak,
                        'npromo' => $npromo,

                    );
                    $this->db->where('no_faktur_penjualan', $nofaktur);
                    $this->db->where('kd_barang', $kdbrg);
                    $this->db->where('harga', $harga);
                    $this->db->update('tabel_rinci_penjualan', $data);
                }
                $this->db->query("delete from tabel_rinci_penjualan where no_faktur_penjualan='$nofaktur' and jumlah=0;");
                header("Location: " . $uri, TRUE);
            }
        }
        function get_autocomplete()
        {
            if (isset($_GET['term'])) {
                $result = $this->kasir_model->cari_nama($_GET['term']);
                if (count($result) > 0) {
                    foreach ($result as $row) {
                        $arr_result[] = array(
                            'label' => $row->nama_menu,
                            'kode' => $row->kode_menu,
                        );
                    }
                    echo json_encode($arr_result);
                }
            }
        }
    }

    public function simpan_edit_biaya()
    {
        $id = $this->input->post('kode_menu_e', TRUE);
        $jenis = $this->input->post('nama_menu_e', TRUE);
        $ket = $this->input->post('status_e', TRUE);
        $biaya = str_replace(".", "", $this->input->post('alamat_e', TRUE));
        $this->db->query("update tabel_biaya set ket='$ket',biaya='$biaya' where id='$id';");
        redirect('kasir/input_biaya', 'refresh');
    }

    public function simpan_edit_dapat()
    {
        $id = $this->input->post('kode_menu_e', TRUE);
        $jenis = $this->input->post('nama_menu_e', TRUE);
        $ket = $this->input->post('status_e', TRUE);
        $biaya = str_replace(".", "", $this->input->post('alamat_e', TRUE));
        $this->db->query("update tabel_pendapatan set ket='$ket',biaya='$biaya' where id='$id';");
        redirect('kasir/input_pendapatan', 'refresh');
    }


    public function cetak_struk()
    {
        $tgl = date('Y-m-d');
        $waktu = date('H:i:s');
        $kdtoko = $this->session->userdata('kd_toko');
        $sekarang =  date('d-m-Y H:i:s');
        $debet = 0;
        $bayar = 0;
        $id_user = $this->session->userdata('ses_username');
        $nofaktur = $this->input->post('nofak_print');
        $diskon = $this->input->post('diskon_print');
        $total_penjualan = $this->input->post('sum_print');
        $bayar = $this->input->post('display');
        $debet = $this->input->post('debet_print');
        $bank = $this->input->post('bank_print');
        $kdharga = $this->input->post('kdharga');
        $noorder = $this->input->post('noorder');
        $stok_bahan = 0;
        $stok_potong = 0;
        $cash = $total_penjualan - $debet;
        $kembali = ($bayar + $debet) - $total_penjualan;
        $selesai = 1;
        $ket_ks = "Penjualan " . $nofaktur;
        $uri = base_url('kasir/mesin-kasir/') . $nofaktur;
        $this->db->trans_start();
        $data_faktur = $this->kasir_model->getPenjualanSelesai($nofaktur)->row();
        $datastruk = $this->kasir_model->getPenjualanstruk($nofaktur);
        $sd = $datastruk->row_array();
        $struk = $sd['struk'];
        $notelp = $sd['notelp'];
        $netto = number_format($sd['netto'], 0, ',', '.');
        $nm_toko = $sd['nm_toko'];
        $nosha = $sd['no_sha'];
        $kirimwa = "https://tinyurl.com/42pnj99j/" . $nosha;
        $do = "https://tinyurl.com/4636228v";

        $list_produk = $this->kasir_model->getProdukDijual($nofaktur)->result();
        $stat = $data_faktur->selesai;
        if ($data_faktur && $list_produk) {
            foreach ($list_produk as $key) {
                $kd_barang_item = $key->kd_barang;
                $jumlah_item = $key->jumlah;
                $validasi_stok = $this->kasir_model->getStok($kd_barang_item);
                $i = $validasi_stok->row_array();
                $stok_sekarang = $i['stok'];
                //	if ($stok_sekarang < $jumlah_item) {
                //		echo $this->session->set_flashdata('error', 'Stok ada yang kurang');
                //		header("Location: " . $uri, TRUE);
                //		return false;
                //	} else {

                $stok_porsi = $this->kasir_model->getStokPorsi($kd_barang_item)->result();
                foreach ($stok_porsi as $key) {
                    $kd_bahan = $key->kode_bahan;
                    $cek_sudah_ada = $this->kasir_model->cek_ada($kd_bahan, $kdtoko);
                    $ctok = $this->kasir_model->cek_stok($kd_bahan, $kdtoko);
                    $cekst = $ctok->row_array();
                    if (isset($cekst)) {
                        $stok_bahan = $cekst['stok'];
                    }

                    $rinci_bahan = $key->qty;
                    $stok_baru = $stok_bahan - ($jumlah_item * $rinci_bahan);
                    $stok_potong = $jumlah_item * $rinci_bahan;
                    if ($stat == '0') {
                        if ($cek_sudah_ada->num_rows() > 0) {
                            $this->db->query("UPDATE tabel_stok_toko SET stok='$stok_baru',tgl_perubahan='$sekarang'  WHERE kd_barang='$kd_bahan' and kd_toko='$kdtoko'");
                        } else {
                            $this->db->query("insert ignore into tabel_stok_toko (kd_toko,kd_barang,stok,stok_min,tgl_perubahan,ket) value ('$kdtoko','$kd_bahan','$stok_baru','5', '$sekarang','')");
                        }

                        $this->db->query("INSERT INTO tabel_kartu_stok (kode_toko,kode_barang,waktu,jam,sebelumnya,keluar,masuk,saldo,keterangan,user,publish,nobukti,kdbrg) VALUES ('$kdtoko','$kd_bahan','$tgl','$waktu','$stok_bahan','$stok_potong','0','$stok_baru','$ket_ks','$id_user','0','$nofaktur','$kd_barang_item')");
                    }
                    //		}
                }
            };
            if ($kdharga == 'KH01') {
                if ($noorder != null) {
                    $this->db->query("update tbl_invoice set stat='3',inv_status='Pembayaran Selesai' where inv_no='$noorder'");
                }
            }
            $update = array(
                'waktu' => $waktu,
                'cash' => $cash,
                'debet' => $debet,
                'ket' => $bank,
                'selesai' => $selesai,
                'stbayar' => $selesai,
            );
            $this->db->where('id_user', $id_user);
            $this->db->where('no_faktur_penjualan', $nofaktur);
            $this->db->update('tabel_penjualan', $update);
            $this->db->trans_complete();
            $data_cetak['toko'] = $this->kasir_model->get_toko();
            $data_cetak['faktur'] = $data_faktur;
            $data_cetak['tgl'] = $tgl;
            $data_cetak['waktu'] = $waktu;
            $data_cetak['bayar'] = $bayar;
            $data_cetak['notelp'] = $notelp;
            $data_cetak['kembali'] = $kembali;
            $data_cetak['debet'] = $debet;
            $data_cetak['produk'] = $list_produk;
            $data_cetak['produk'] = $list_produk;
            $data_cetak['total_item'] = 0;
            $data_cetak['subtotal'] = 0;
            if ($struk == 1) {
                $this->db2 = $this->load->database('db2', TRUE);
                $textStruk = "*MIE NYINYIR* ,Total Resi Nyinyir Lover di Mie Nyinyir $nm_toko 
    *Rp. $netto* 
    
    Silahkan Klik  $kirimwa  untuk rincian nota struk.
    
    Silahkan Klik  $do  untuk e-Order.
    
    _*Mie Pedas Kekinian No 1 Di Indonesia ... Tasty Every Time*_ 
    
    Balas *OK* untuk aktifkan link  
    
    *Terima kasih*. ";
    $query2 = $this->db2->query("INSERT ignore INTO outbox (nobukti, wa_mode, wa_no, wa_text, wa_media, wa_file) VALUE ('$nofaktur', '0', '$notelp',
    '$textStruk','' , '$nofaktur')");
    
    
?>
                <script type="text/javascript">
                    window.setTimeout(function() {
                        window.close();
                    }, 1000);
                </script>
<?php


            } else {
                $this->load->view('kasir/struk_transaksi', $data_cetak);
            }
        } else {
            echo "Error retrieving information from server. <br><br>Halaman ini tidak bisa dimuat ulang, silahkan tutup halaman ini.";
        }
    }

    public function cetak_struk1()
    {
        $tgl = date('Y-m-d');
        $waktu = date('H:i:s');
        $kdtoko = $this->session->userdata('kd_toko');
        $akses = $this->session->userdata('akses');
        $sekarang =  date('d-m-Y H:i:s');
        $debet = 0;
        $bayar = 0;
        $id_user = $this->session->userdata('ses_username');
        $nofaktur = $this->input->post('nofak_print');
        $diskon = $this->input->post('diskon_print');
        $total_penjualan = $this->input->post('sum_print');
        $kdcabang = $this->input->post('kdcabang');
        $bayar = $this->input->post('display');
        $debet = $this->input->post('debet_print');
        $bank = $this->input->post('bank_print');
        $kdharga = $this->input->post('kdharga');
        $noorder = $this->input->post('noorder');
        $stok_bahan = 0;
        $stok_potong = 0;
        $cash = $total_penjualan - $debet;
        $kembali = ($bayar + $debet) - $total_penjualan;
        $selesai = 1;
        $ket_ks = "Penjualan " . $nofaktur;
        $uri = base_url('kasir/mesin-kasir/') . $nofaktur;
        $this->db->trans_start();
        $data_faktur = $this->kasir_model->getPenjualanSelesai($nofaktur)->row();
        $datastruk = $this->kasir_model->getPenjualanstruk($nofaktur);
        $sd = $datastruk->row_array();
        $struk = $sd['struk'];
        $notelp = $sd['notelp'];
        $calam=$kdtoko;
        if($akses !='kasir') {
            $calam= $kdcabang;
        }

        $list_produk = $this->kasir_model->getProdukDijual($nofaktur)->result();
        $stat = $data_faktur->selesai;
        if ($data_faktur && $list_produk) {
            foreach ($list_produk as $key) {
                $kd_barang_item = $key->kd_barang;
                $jumlah_item = $key->jumlah;
                $validasi_stok = $this->kasir_model->getStok($kd_barang_item);
                $i = $validasi_stok->row_array();
                $stok_sekarang = $i['stok'];
                //	if ($stok_sekarang < $jumlah_item) {
                //		echo $this->session->set_flashdata('error', 'Stok ada yang kurang');
                //		header("Location: " . $uri, TRUE);
                //		return false;
                //	} else {

                $stok_porsi = $this->kasir_model->getStokPorsi($kd_barang_item)->result();
                foreach ($stok_porsi as $key) {
                    $kd_bahan = $key->kode_bahan;
                    $cek_sudah_ada = $this->kasir_model->cek_ada($kd_bahan, $kdtoko);
                    $ctok = $this->kasir_model->cek_stok($kd_bahan, $kdtoko);
                    $cekst = $ctok->row_array();
                    if (isset($cekst)) {
                        $stok_bahan = $cekst['stok'];
                    }

                    $rinci_bahan = $key->qty;
                    $stok_baru = $stok_bahan - ($jumlah_item * $rinci_bahan);
                    $stok_potong = $jumlah_item * $rinci_bahan;
                    if ($stat == '0') {
                        if ($cek_sudah_ada->num_rows() > 0) {
                            $this->db->query("UPDATE tabel_stok_toko SET stok='$stok_baru',tgl_perubahan='$sekarang'  WHERE kd_barang='$kd_bahan' and kd_toko='$kdtoko'");
                        } else {
                            $this->db->query("insert ignore into tabel_stok_toko (kd_toko,kd_barang,stok,stok_min,tgl_perubahan,ket) value ('$kdtoko','$kd_bahan','$stok_baru','5', '$sekarang','')");
                        }

                        $this->db->query("INSERT INTO tabel_kartu_stok (kode_toko,kode_barang,waktu,jam,sebelumnya,keluar,masuk,saldo,keterangan,user,publish,nobukti,kdbrg) VALUES ('$kdtoko','$kd_bahan','$tgl','$waktu','$stok_bahan','$stok_potong','0','$stok_baru','$ket_ks','$id_user','0','$nofaktur','$kd_barang_item')");
                    }
                    //		}
                }
            };
            if ($kdharga == 'KH01') {
                if ($noorder != null) {
                    $this->db->query("update tbl_invoice set stat='3',inv_status='Pembayaran Selesai' where inv_no='$noorder'");
                }
            }
            $update = array(
                'waktu' => $waktu,
                'cash' => $cash,
                'debet' => $debet,
                'ket' => $bank,
                'selesai' => $selesai,
                'stbayar' => $selesai,
            );
            $this->db->where('id_user', $id_user);
            $this->db->where('no_faktur_penjualan', $nofaktur);
            $this->db->update('tabel_penjualan', $update);
            $this->db->trans_complete();
            $data_cetak['toko'] = $this->kasir_model->get_tokoku($calam);
            $data_cetak['faktur'] = $data_faktur;
            $data_cetak['tgl'] = $tgl;
            $data_cetak['waktu'] = $waktu;
            $data_cetak['bayar'] = $bayar;
            $data_cetak['notelp'] = $notelp;
            $data_cetak['kembali'] = $kembali;
            $data_cetak['debet'] = $debet;
            $data_cetak['produk'] = $list_produk;
            $data_cetak['produk'] = $list_produk;
            $data_cetak['total_item'] = 0;
            $data_cetak['subtotal'] = 0;

            $this->load->view('kasir/struk_transaksip', $data_cetak);
        } else {
            echo "Error retrieving information from server. <br><br>Halaman ini tidak bisa dimuat ulang, silahkan tutup halaman ini.";
        }
    }

    public function cetak_struk2()
    {
        $tgl = date('Y-m-d');
        $waktu = date('H:i:s');
        $kdtoko = $this->session->userdata('kd_toko');
        $sekarang =  date('d-m-Y H:i:s');
        $debet = 0;
        $bayar = 0;
        $id_user = $this->session->userdata('ses_username');
        $nofaktur = $this->input->post('nobuk');
        $diskon = $this->input->post('diskon_print');
        $total_penjualan = $this->input->post('sum_print');
        $bayar = $this->input->post('display');
        $debet = $this->input->post('debet_print');
        $bank = $this->input->post('bank_print');
        $kdharga = $this->input->post('kdharga');
        $noorder = $this->input->post('noorder');
        $statusnew = $this->input->post('nowanew');
        $this->db->query("update tabel_penjualan set notelp='$statusnew' where no_faktur_penjualan='$nofaktur';");
        $stok_bahan = 0;
        $stok_potong = 0;
        $cash = $total_penjualan - $debet;
        $kembali = ($bayar + $debet) - $total_penjualan;
        $selesai = 1;
        $ket_ks = "Penjualan " . $nofaktur;
        $uri = base_url('kasir/mesin-kasir/') . $nofaktur;
        $this->db->trans_start();
        $data_faktur = $this->kasir_model->getPenjualanSelesai($nofaktur)->row();
        $datastruk = $this->kasir_model->getPenjualanstruk($nofaktur);
        $sd = $datastruk->row_array();
        $struk = $sd['struk'];
        $notelp = $sd['notelp'];

        $list_produk = $this->kasir_model->getProdukDijual($nofaktur)->result();
        $stat = $data_faktur->selesai;
        if ($data_faktur && $list_produk) {
            foreach ($list_produk as $key) {
                $kd_barang_item = $key->kd_barang;
                $jumlah_item = $key->jumlah;
                $validasi_stok = $this->kasir_model->getStok($kd_barang_item);
                $i = $validasi_stok->row_array();
                $stok_sekarang = $i['stok'];
                //	if ($stok_sekarang < $jumlah_item) {
                //		echo $this->session->set_flashdata('error', 'Stok ada yang kurang');
                //		header("Location: " . $uri, TRUE);
                //		return false;
                //	} else {

                $stok_porsi = $this->kasir_model->getStokPorsi($kd_barang_item)->result();
                foreach ($stok_porsi as $key) {
                    $kd_bahan = $key->kode_bahan;
                    $cek_sudah_ada = $this->kasir_model->cek_ada($kd_bahan, $kdtoko);
                    $ctok = $this->kasir_model->cek_stok($kd_bahan, $kdtoko);
                    $cekst = $ctok->row_array();
                    if (isset($cekst)) {
                        $stok_bahan = $cekst['stok'];
                    }

                    $rinci_bahan = $key->qty;
                    $stok_baru = $stok_bahan - ($jumlah_item * $rinci_bahan);
                    $stok_potong = $jumlah_item * $rinci_bahan;
                    if ($stat == '0') {
                        if ($cek_sudah_ada->num_rows() > 0) {
                            $this->db->query("UPDATE tabel_stok_toko SET stok='$stok_baru',tgl_perubahan='$sekarang'  WHERE kd_barang='$kd_bahan' and kd_toko='$kdtoko'");
                        } else {
                            $this->db->query("insert ignore into tabel_stok_toko (kd_toko,kd_barang,stok,stok_min,tgl_perubahan,ket) value ('$kdtoko','$kd_bahan','$stok_baru','5', '$sekarang','')");
                        }

                        $this->db->query("INSERT INTO tabel_kartu_stok (kode_toko,kode_barang,waktu,jam,sebelumnya,keluar,masuk,saldo,keterangan,user,publish,nobukti,kdbrg) VALUES ('$kdtoko','$kd_bahan','$tgl','$waktu','$stok_bahan','$stok_potong','0','$stok_baru','$ket_ks','$id_user','0','$nofaktur','$kd_barang_item')");
                    }
                    //		}
                }
            };
            if ($kdharga == 'KH01') {
                if ($noorder != null) {
                    $this->db->query("update tbl_invoice set stat='3',inv_status='Pembayaran Selesai' where inv_no='$noorder'");
                }
            }
            $update = array(
                'waktu' => $waktu,
                'cash' => $cash,
                'debet' => $debet,
                'ket' => $bank,
                'selesai' => $selesai,
                'stbayar' => $selesai,
            );
            $this->db->where('id_user', $id_user);
            $this->db->where('no_faktur_penjualan', $nofaktur);
            $this->db->update('tabel_penjualan', $update);
            $this->db->trans_complete();
            $data_cetak['toko'] = $this->kasir_model->get_toko();
            $data_cetak['faktur'] = $data_faktur;
            $data_cetak['tgl'] = $tgl;
            $data_cetak['waktu'] = $waktu;
            $data_cetak['bayar'] = $bayar;
            $data_cetak['notelp'] = $notelp;
            $data_cetak['kembali'] = $kembali;
            $data_cetak['debet'] = $debet;
            $data_cetak['produk'] = $list_produk;
            $data_cetak['produk'] = $list_produk;
            $data_cetak['total_item'] = 0;
            $data_cetak['subtotal'] = 0;

            $this->load->view('kasir/struk_transaksi_baru', $data_cetak);
        } else {
            echo "Error retrieving information from server. <br><br>Halaman ini tidak bisa dimuat ulang, silahkan tutup halaman ini.";
        }
    }
    
    
    public function cetak_dapur()
  {

    $tgl = date('Y-m-d');

    $kdtoko = $this->session->userdata('kd_toko');
    $sekarang =  date('d-m-Y H:i:s');
    $debet = 0;
    $bayar = 0;
    $id_user = $this->session->userdata('ses_username');
    $nofaktur = urldecode($this->uri->segment(3));

    $stok_bahan = 0;
    $stok_potong = 0;
    $data_faktur = $this->kasir_model->getPenjualanSelesai($nofaktur)->row();
    $datastruk = $this->kasir_model->getPenjualanstruk($nofaktur);
    $sd = $datastruk->row_array();
    $struk = $sd['struk'];
    $notelp = $sd['notelp'];
    $waktu = $sd['waktu'];
    $list_produk1 = $this->kasir_model->getProdukDijual1($nofaktur)->result();
    $list_produk2 = $this->kasir_model->getProdukDijual2($nofaktur)->result();
    $list_produk3 = $this->kasir_model->getProdukDijual3($nofaktur)->result();
    $list_produk4 = $this->kasir_model->getProdukDijual4($nofaktur)->result();
    $list_produkPaketMie = $this->kasir_model->getProdukPaketMie($nofaktur)->result();
    $list_produkPaketMinum = $this->kasir_model->getProdukPaketMinum($nofaktur)->result();
    $list_produkPaketSnack = $this->kasir_model->getProdukPaketSnack($nofaktur)->result();
    $list_produkPaketTopping = $this->kasir_model->getProdukPaketTopping($nofaktur)->result();
    $stat = $data_faktur->selesai;

    $data_cetak['toko'] = $this->kasir_model->get_toko();
    $data_cetak['faktur'] = $data_faktur;
    $data_cetak['tgl'] = $tgl;
    $data_cetak['waktu'] = $waktu;
    $data_cetak['produk1'] = $list_produk1;
    $data_cetak['produk2'] = $list_produk2;
    $data_cetak['produk3'] = $list_produk3;
    $data_cetak['produk4'] = $list_produk4;
    $data_cetak['paketmie'] = $list_produkPaketMie;
    $data_cetak['paketminum'] = $list_produkPaketMinum;
    $data_cetak['paketsnack'] = $list_produkPaketSnack;
    $data_cetak['pakettopping'] = $list_produkPaketTopping;
    $data_cetak['total_item'] = 0;
    $data_cetak['subtotal'] = 0;
    $this->load->view('kasir/struk_suratjalan', $data_cetak);
  }
    
    
    public function cetak_dapur_backup()
    {

        $tgl = date('Y-m-d');

        $kdtoko = $this->session->userdata('kd_toko');
        $sekarang =  date('d-m-Y H:i:s');
        $debet = 0;
        $bayar = 0;
        $id_user = $this->session->userdata('ses_username');
        $nofaktur = urldecode($this->uri->segment(3));

        $stok_bahan = 0;
        $stok_potong = 0;
        $data_faktur = $this->kasir_model->getPenjualanSelesai($nofaktur)->row();
        $datastruk = $this->kasir_model->getPenjualanstruk($nofaktur);
        $sd = $datastruk->row_array();
        $struk = $sd['struk'];
        $notelp = $sd['notelp'];
        $waktu = $sd['waktu'];
        $list_produk1 = $this->kasir_model->getProdukDijual1($nofaktur)->result();
        $list_produk2 = $this->kasir_model->getProdukDijual2($nofaktur)->result();
        $list_produk3 = $this->kasir_model->getProdukDijual3($nofaktur)->result();
        $list_produk4 = $this->kasir_model->getProdukDijual4($nofaktur)->result();
        $stat = $data_faktur->selesai;

        $data_cetak['toko'] = $this->kasir_model->get_toko();
        $data_cetak['faktur'] = $data_faktur;
        $data_cetak['tgl'] = $tgl;
        $data_cetak['waktu'] = $waktu;
        $data_cetak['produk1'] = $list_produk1;
        $data_cetak['produk2'] = $list_produk2;
        $data_cetak['produk3'] = $list_produk3;
        $data_cetak['produk4'] = $list_produk4;
        $data_cetak['total_item'] = 0;
        $data_cetak['subtotal'] = 0;
        $this->load->view('kasir/struk_suratjalan', $data_cetak);
    }

    public function cetak_dapur1()
    {

        $tgl = date('Y-m-d');

        $kdtoko = $this->session->userdata('kd_toko');
        $sekarang =  date('d-m-Y H:i:s');
        $debet = 0;
        $bayar = 0;
        $id_user = $this->session->userdata('ses_username');
        $nofaktur = $this->input->post('nofak_print');

        $stok_bahan = 0;
        $stok_potong = 0;
        $data_faktur = $this->kasir_model->getPenjualanSelesai($nofaktur)->row();
        $datastruk = $this->kasir_model->getPenjualanstruk($nofaktur);
        $sd = $datastruk->row_array();
        $struk = $sd['struk'];
        $notelp = $sd['notelp'];
        $waktu = $sd['waktu'];
        $list_produk1 = $this->kasir_model->getProdukDijual1($nofaktur)->result();
        $list_produk2 = $this->kasir_model->getProdukDijual2($nofaktur)->result();
        $list_produk3 = $this->kasir_model->getProdukDijual3($nofaktur)->result();
        $list_produk4 = $this->kasir_model->getProdukDijual4($nofaktur)->result();
        $stat = $data_faktur->selesai;

        $data_cetak['toko'] = $this->kasir_model->get_toko();
        $data_cetak['faktur'] = $data_faktur;
        $data_cetak['tgl'] = $tgl;
        $data_cetak['waktu'] = $waktu;
        $data_cetak['produk1'] = $list_produk1;
        $data_cetak['produk2'] = $list_produk2;
        $data_cetak['produk3'] = $list_produk3;
        $data_cetak['produk4'] = $list_produk4;
        $data_cetak['total_item'] = 0;
        $data_cetak['subtotal'] = 0;
        $this->load->view('kasir/struk_suratjalan', $data_cetak);
    }

    public function transaksi_selesai()
    {
        $netto = urldecode($this->uri->segment(3));
        $bayar = urldecode($this->uri->segment(4));
        $kembali = urldecode($this->uri->segment(5));
        $nofak = urldecode($this->uri->segment(6));
        //   $this->db->query("update tabel_penjualan set stat='1' where no_faktur_penjualan='$nofak' and stat='0' and selesai='1';");
        //   $this->db->query("update tabel_penjualan set stat='4' where no_faktur_penjualan='$nofak' and stat='1' and selesai='0';");
        $data = array(
            'netto' => $netto,
            'bayar' => $bayar,
            'kembali' => $kembali,
        );
        $selesai['netto'] = $netto;
        $selesai['bayar'] = $bayar;
        $selesai['kembali'] = $kembali;
        $selesai['nofak'] = $nofak;
        $this->load->view('header');
        $this->load->view('kasir/transaksi_selesai', $selesai);
    }

    public function hapus_faktur()
    {
        $nofaktur = urldecode($this->uri->segment(3));
        $ada = '0';
        $cari = $this->db->query("select count(*) as ada from tabel_antri where nobukti='$nofaktur';");
        $dcari = $cari->row_array();
        if (isset($dcari)) {
            $ada = $dcari['ada'];
        }

        if ($ada == '1') {
            echo $this->session->set_flashdata('error', 'Faktur Sudah Pernah Dicetak');
            redirect('kasir/penjualan-pending/', 'refresh');
        } else {
            $this->db->query("DELETE FROM tabel_penjualan WHERE no_faktur_penjualan='$nofaktur';");
            $this->db->query("DELETE FROM tabel_rinci_penjualan WHERE no_faktur_penjualan='$nofaktur';");
            $this->db->query("DELETE FROM fakturpromo WHERE nobukti='$nofaktur'");
            echo $this->session->set_flashdata('msg', 'Faktur berhasil ' . $nofaktur . ' dihapus');
            redirect('kasir/penjualan-pending/', 'refresh');
        }
    }
     public function rekapbkad()
  {
    $tgl = $this->input->post('utgl');
    if ($tgl == null) {
      $tgl = date('Y-m-d');
    // $tgl = '2025-04-20';
    }
    $stat = $this->input->post('stat');
    if ($stat == null) {
      $stat = '1';
    }
    $akses = $this->session->userdata('akses');
    $kdtoko = $this->session->userdata('kd_toko');
    // $this->db->query("update tabel_penjualan set selesai = 3 where kdcabang = '$kdtoko' AND tgl_penjualan = '$tgl' AND selesai = 1 AND tglbayar IS NULL");
    $data['tanggal'] = $tgl;
    $data['no'] = 1;
    $data['noo'] = 1;
    $data['subtot'] = 0;
    $data['diskon'] = 0;
    $data['nppn'] = 0;
    $data['grandtot'] = 0;
    $data['rg'] = 0;
    $data['rgdo'] = 0;
    $data['rgta'] = 0;
    $data['totGofood'] = 0;
    $data['totGrab'] = 0;
    $data['totShopee'] = 0;
    $data['ongkir'] = 0;
    $data['tot_biaya'] = 0;
    $data['tot_biayap'] = 0;
    $data['penjualan'] = $this->kasir_model->dataTransaksiHariInibkad($tgl, $kdtoko, $stat);
    $data['pengeluaran'] = $this->kasir_model->dataPengeluaranHariIniAll($tgl, $kdtoko);
    $data['pendapatan'] = $this->kasir_model->dataPendapatanHariIniAll($tgl, $kdtoko);
    $this->load->view('header', $data);
    $this->load->view('kasir/rekap_harian');
  }
}

/* End of file Kasir.php */
/* Location: ./application/controllers/Kasir.php */