<?php
class M_menu extends CI_Model
{

    function get_all_menu()
    {
        $hsl = $this->db->query("SELECT * FROM tbl_menu");
        return $hsl;
    }
    
    function get_all_menu_grouped(){
        $today = date('Y-m-d');

        $this->db->select('tm.*');
        $this->db->select("
            GROUP_CONCAT(DISTINCT
                CONCAT(
                    kh.keterangan, ';', 
                    hj.hargajual, ';', 
                    kh.kdharga, ';', 
                    tt.nm_toko, ';', 
                    tt.kd_toko, ';', 
                    IFNULL(hj.tglawal, ''), ';', 
                    IFNULL(hj.tglakhir, ''), ';', 
                    IFNULL(hj.stat, '0')
                ) 
                SEPARATOR '||'
            ) as list_varian_harga
        ", false);

        $this->db->from('tabel_menu tm');
        
        $this->db->join('hargajual hj', "tm.kode_menu = hj.kdbrg AND hj.stat = '1' AND (hj.tglakhir >= '$today')", 'left'); 
        $this->db->join('tabel_toko tt', 'hj.kdcabang = tt.kd_toko AND tt.stat = "2" AND tt.kd_toko != "YOG09"', 'left');
        
        $this->db->join('kodeharga kh', 'hj.kdharga = kh.kdharga', 'left');
        $this->db->group_by('tm.kode_menu');
        $this->db->order_by('tm.nama_menu', 'ASC');
        
        return $this->db->get();
    }
    
    function get_kode_menu_by_id($id){
        $this->db->select('kode_menu');
        $this->db->where('id_menu', $id);
        $q = $this->db->get('tabel_menu');
        if($q->num_rows() > 0){
            return $q->row()->kode_menu;
        }
        return null;
    }

    // --- 2. UPDATE DATA UTAMA MENU ---
    // function update_menu_master($id, $nama, $kategori_id, $kategori_nama, $status, $gambar=null){
    //     $data = array(
    //         'nama_menu' => $nama,
    //         'jenisbrg'  => $kategori_id,
    //         'stat'      => $status
    //         // 'kategori_nama' => $kategori_nama // Uncomment jika kolom ini ada di tabel_menu
    //     );

    //     // Jika ada gambar baru, update kolom foto
    //     if($gambar != null){
    //         $data['foto'] = $gambar;
    //     }

    //     $this->db->where('id_menu', $id);
    //     $this->db->update('tabel_menu', $data);
    // }

    // --- 3. UPDATE HARGA SPESIFIK (Per Cabang & Per Tipe) ---
    // function update_harga_spesifik($kode_menu, $kd_toko, $kd_harga, $nominal){
    //     // Cek apakah harga sudah ada untuk Item ini + Cabang ini + Tipe ini yang AKTIF (stat=1)
    //     // Kita hanya update harga yang sedang aktif.
        
    //     $this->db->where('kdbrg', $kode_menu);
    //     $this->db->where('kdcabang', $kd_toko);
    //     $this->db->where('kdharga', $kd_harga);
    //     $this->db->where('stat', '1');
    //     $q = $this->db->get('hargajual');

    //     if($q->num_rows() > 0){
    //         // JIKA ADA: Update Nominalnya
    //         $this->db->where('kdbrg', $kode_menu);
    //         $this->db->where('kdcabang', $kd_toko);
    //         $this->db->where('kdharga', $kd_harga);
    //         $this->db->where('stat', '1');
    //         $this->db->update('hargajual', array('hargajual' => $nominal));
    //     } else {
    //         // JIKA TIDAK ADA: Insert Baru (Opsional)
    //         // Jika Anda ingin otomatis menambah harga baru saat diedit, aktifkan kode ini:
    //         /*
    //         $data_baru = array(
    //             'kdcabang' => $kd_toko,
    //             'kdbrg'    => $kode_menu,
    //             'kdharga'  => $kd_harga,
    //             'hargajual'=> $nominal,
    //             'tglawal'  => date('Y-m-d'),
    //             'stat'     => '1',
    //             'ppn'      => 'N'
    //         );
    //         $this->db->insert('hargajual', $data_baru);
    //         */
    //     }
    // }

    function simpan_menu($nama, $deskripsi, $harga, $kategori, $kat_nama, $gambar) {
        $data = [
            'menu_nama' => $nama,
            'menu_deskripsi' => $deskripsi,
            'menu_harga_baru' => $harga,
            'menu_kategori_id' => $kategori,
            'menu_kategori_nama' => $kat_nama,
            'menu_gambar' => $gambar
        ];
        return $this->db->insert('tbl_menu', $data);
    }

  //UPDATE MENU DENGAN GAMBAR //
  function update_menu_tanpa_harga_baru($kode, $nama, $deskripsi, $harga_lama, $kategori, $kat_nama, $gambar)
  {
    $hsl = $this->db->query("UPDATE tbl_menu set menu_nama='$nama',menu_deskripsi='$deskripsi',menu_harga_baru='$harga_lama',menu_kategori_id='$kategori',menu_kategori_nama='$kat_nama',menu_gambar='$gambar' where menu_id='$kode'");
    return $hsl;
  }
  function update_menu_dengan_harga_baru($kode, $nama, $deskripsi, $harga_lama, $harga_baru, $kategori, $kat_nama, $gambar)
  {
    $hsl = $this->db->query("UPDATE tbl_menu set menu_nama='$nama',menu_deskripsi='$deskripsi',menu_harga_lama='$harga_lama',menu_harga_baru='$harga_baru',menu_kategori_id='$kategori',menu_kategori_nama='$kat_nama',menu_gambar='$gambar' where menu_id='$kode'");
    return $hsl;
  }
  //END EDIT MENU DENGAN GAMBAR//

  //UPDATE MENU TANPA GAMBAR//
  function update_menu_tanpa_harga_baru_tanpa_gambar($kode, $nama, $deskripsi, $harga_lama, $kategori, $kat_nama)
  {
    $hsl = $this->db->query("UPDATE tbl_menu set menu_nama='$nama',menu_deskripsi='$deskripsi',menu_harga_baru='$harga_lama',menu_kategori_id='$kategori',menu_kategori_nama='$kat_nama' where menu_id='$kode'");
    return $hsl;
  }
  function update_menu_dengan_harga_baru_tanpa_gambar($kode, $nama, $deskripsi, $harga_lama, $harga_baru, $kategori, $kat_nama)
  {
    $hsl = $this->db->query("UPDATE tbl_menu set menu_nama='$nama',menu_deskripsi='$deskripsi',menu_harga_lama='$harga_lama',menu_harga_baru='$harga_baru',menu_kategori_id='$kategori',menu_kategori_nama='$kat_nama' where menu_id='$kode'");
    return $hsl;
  }
  //END UPDATE MENU TANPA GAMBAR//

  function hapus_menu($kode)
  {
    $hsl = $this->db->query("DELETE FROM tbl_menu where menu_id='$kode'");
    return $hsl;
  }

  //j03 TO
  //j01 OR
  //jo2 snc
  //j04 minum
  //j07 gokil
  //MODEL UNTUK MOBILE

  function lokasi()
  {
    $hsl = $this->db->query("select * FROM tabel_toko where gmap<>''");
    return $hsl;
  }

    function lokasisemua(){
      return $this->db->query("SELECT * FROM `tabel_toko` WHERE stat = 2;");
  }

  function lokasiCari($kode)
  {
    if ($kode == 'A1') {
      $ada = $this->db->query("select lat,lng from tabel_toko where kd_toko='YOG01';");
      $ada1 = $ada->row_array();
      $lat = $ada1['lat'];
      $lng = $ada1['lng'];
    }elseif ($kode == 'A2') {
      $ada = $this->db->query("select lat,lng from tabel_toko where kd_toko='YOG02';");
      $ada1 = $ada->row_array();
      $lat = $ada1['lat'];
      $lng = $ada1['lng'];
    }elseif ($kode == 'A3') {
      $ada = $this->db->query("select lat,lng from tabel_toko where kd_toko='YOG04';");
      $ada1 = $ada->row_array();
      $lat = $ada1['lat'];
      $lng = $ada1['lng'];
    }elseif ($kode == 'A4') {
      $ada = $this->db->query("select lat,lng from tabel_toko where kd_toko='YOG08';");
      $ada1 = $ada->row_array();
      $lat = $ada1['lat'];
      $lng = $ada1['lng'];
    }

    $p = $this->session->userdata('telepon');
    $cadmin = $this->m_pelanggan->cek_pelanggan(1, $p);
    $data = $cadmin->row_array();
    if (isset($_COOKIE['Long'])) {
      $lat = $_COOKIE['Lat'];
      $lng = $_COOKIE['Long'];
    }

    $hsl = $this->db->query("SELECT
                            *,IFNULL(((6371 * ACOS(COS(RADIANS('$lat')) * COS(RADIANS(lat) ) * COS(RADIANS(lng) -RADIANS('$lng')) + SIN(RADIANS('$lat')) * SIN(RADIANS(lat))))),0) AS jarak
                            FROM tabel_toko  WHERE lat<>'' and stat = '2' and area LIKE '$kode%'
                            HAVING jarak <= 100
                            ORDER BY jarak ASC;");
    return $hsl;
  }
  function lokasidekat($lat, $lng)
  {
    $hsl = $this->db->query("SELECT
                            *,IFNULL(((6371 * ACOS(COS(RADIANS('$lat')) * COS(RADIANS(lat) ) * COS(RADIANS(lng) -RADIANS('$lng')) + SIN(RADIANS('$lat')) * SIN(RADIANS(lat))))),0) AS jarak
                            FROM tabel_toko  WHERE lat<>'' and stat = '2'
                            HAVING jarak <= 10
                            ORDER BY jarak ASC;");
    return $hsl;
  }
  function lokasiKediri($lat, $lng)
  {
    if ($lat == '' || $lat == '1') {
      $ada = $this->db->query("select lat,lng from tabel_toko where kd_toko='yog01';");
      $ada1 = $ada->row_array();
      $lat = $ada1['lat'];
      $lng = $ada1['lng'];
    }
    $hsl = $this->db->query("SELECT
                            *,IFNULL(((6371 * ACOS(COS(RADIANS('$lat')) * COS(RADIANS(lat) ) * COS(RADIANS(lng) -RADIANS('$lng')) + SIN(RADIANS('$lat')) * SIN(RADIANS(lat))))),0) AS jarak
                            FROM tabel_toko  WHERE lat<>'' and stat = '2' and area = 'A1'
                            ORDER BY jarak ASC;");
    return $hsl;
  }

  function lokasiBlitar($lat, $lng)
  {
    if ($lat == '' || $lat == '1') {
      $ada = $this->db->query("select lat,lng from tabel_toko where kd_toko='BLT01';");
      $ada1 = $ada->row_array();
      $lat = $ada1['lat'];
      $lng = $ada1['lng'];
    }

    $hsl = $this->db->query("SELECT
                            *,IFNULL(((6371 * ACOS(COS(RADIANS('$lat')) * COS(RADIANS(lat) ) * COS(RADIANS(lng) -RADIANS('$lng')) + SIN(RADIANS('$lat')) * SIN(RADIANS(lat))))),0) AS jarak
                            FROM tabel_toko  WHERE lat<>'' and stat = '2' and area = 'A2'
                            ORDER BY jarak ASC;");
    return $hsl;
  }

  function lokasiNganjuk($lat, $lng)
  {
    if ($lat == '' || $lat == '1') {
      $ada = $this->db->query("select lat,lng from tabel_toko where kd_toko='NJK01';");
      $ada1 = $ada->row_array();
      $lat = $ada1['lat'];
      $lng = $ada1['lng'];
    }

    $hsl = $this->db->query("SELECT
                            *,IFNULL(((6371 * ACOS(COS(RADIANS('$lat')) * COS(RADIANS(lat) ) * COS(RADIANS(lng) -RADIANS('$lng')) + SIN(RADIANS('$lat')) * SIN(RADIANS(lat))))),0) AS jarak
                            FROM tabel_toko  WHERE lat<>'' and stat = '2' and area = 'A3'
                            ORDER BY jarak ASC;");
    return $hsl;
  }
  function lokasiMojokerto($lat, $lng)
  {
    if ($lat == '' || $lat == '1') {
      $ada = $this->db->query("select lat,lng from tabel_toko where kd_toko='MJK03';");
      $ada1 = $ada->row_array();
      $lat = $ada1['lat'];
      $lng = $ada1['lng'];
    }
    $hsl = $this->db->query("SELECT
                            *,IFNULL(((6371 * ACOS(COS(RADIANS('$lat')) * COS(RADIANS(lat) ) * COS(RADIANS(lng) -RADIANS('$lng')) + SIN(RADIANS('$lat')) * SIN(RADIANS(lat))))),0) AS jarak
                            FROM tabel_toko  WHERE lat<>'' and stat = '2' and area = 'A5'
                            ORDER BY jarak ASC;");
    return $hsl;
  }

  function lokasiJombang($lat, $lng)
  {
    if ($lat == '' || $lat == '1') {
      $ada = $this->db->query("select lat,lng from tabel_toko where kd_toko='JBG03';");
      $ada1 = $ada->row_array();
      $lat = $ada1['lat'];
      $lng = $ada1['lng'];
    }
    $hsl = $this->db->query("SELECT
                            *,IFNULL(((6371 * ACOS(COS(RADIANS('$lat')) * COS(RADIANS(lat) ) * COS(RADIANS(lng) -RADIANS('$lng')) + SIN(RADIANS('$lat')) * SIN(RADIANS(lat))))),0) AS jarak
                            FROM tabel_toko  WHERE lat<>'' and stat = '2' and area = 'A4'
                            ORDER BY jarak ASC;");
    return $hsl;
  }
  function lokasiMalanga($kode)
  {
    $p = $this->session->userdata('telepon');
    $cadmin = $this->m_pelanggan->cek_pelanggan(1, $p);
    $data = $cadmin->row_array();
    if (isset($_COOKIE['Long'])) {
      $lat = $_COOKIE['Lat'];
      $lng = $_COOKIE['Long'];
    } else {
      $lat = $data['lat'];
      $lng = $data['lng'];
    }
    $hsl = $this->db->query("SELECT
                            *,IFNULL(((6371 * ACOS(COS(RADIANS('$lat')) * COS(RADIANS(lat) ) * COS(RADIANS(lng) -RADIANS('$lng')) + SIN(RADIANS('$lat')) * SIN(RADIANS(lat))))),0) AS jarak
                            FROM tabel_toko  WHERE lat<>'' and stat = '2' and area LIKE 'A6'
                            HAVING jarak <= 100
                            ORDER BY jarak ASC;");
    return $hsl;
  }
  function lokasiSepanjang($kode)
  {
    $p = $this->session->userdata('telepon');
    $cadmin = $this->m_pelanggan->cek_pelanggan(1, $p);
    $data = $cadmin->row_array();
    if (isset($_COOKIE['Long'])) {
      $lat = $_COOKIE['Lat'];
      $lng = $_COOKIE['Long'];
    } else {
      $lat = $data['lat'];
      $lng = $data['lng'];
    }
    $hsl = $this->db->query("SELECT
                            *,IFNULL(((6371 * ACOS(COS(RADIANS('$lat')) * COS(RADIANS(lat) ) * COS(RADIANS(lng) -RADIANS('$lng')) + SIN(RADIANS('$lat')) * SIN(RADIANS(lat))))),0) AS jarak
                            FROM tabel_toko  WHERE lat<>'' and stat = '2' and area LIKE 'A7'
                            HAVING jarak <= 100
                            ORDER BY jarak ASC;");
    return $hsl;
  }





  function lokasiNgronggo($lat, $lng)
  {
    $hsl = $this->db->query("SELECT
                            *,IFNULL(((6371 * ACOS(COS(RADIANS('$lat')) * COS(RADIANS(lat) ) * COS(RADIANS(lng) -RADIANS('$lng')) + SIN(RADIANS('$lat')) * SIN(RADIANS(lat))))),0) AS jarak
                            FROM tabel_toko  WHERE lat<>'' and stat = '2' and kd_toko = 'KDR01'
                            ORDER BY jarak ASC;");
    return $hsl;
  }
  function lokasiPolim($lat, $lng)
  {
    $hsl = $this->db->query("SELECT
                            *,IFNULL(((6371 * ACOS(COS(RADIANS('$lat')) * COS(RADIANS(lat) ) * COS(RADIANS(lng) -RADIANS('$lng')) + SIN(RADIANS('$lat')) * SIN(RADIANS(lat))))),0) AS jarak
                            FROM tabel_toko  WHERE lat<>'' and stat = '2' and kd_toko = 'KDR02'
                            ORDER BY jarak ASC;");
    return $hsl;
  }
  function lokasiVeteran($lat, $lng)
  {
    $hsl = $this->db->query("SELECT
                            *,IFNULL(((6371 * ACOS(COS(RADIANS('$lat')) * COS(RADIANS(lat) ) * COS(RADIANS(lng) -RADIANS('$lng')) + SIN(RADIANS('$lat')) * SIN(RADIANS(lat))))),0) AS jarak
                            FROM tabel_toko  WHERE lat<>'' and stat = '2' and kd_toko = 'KDR03'
                            ORDER BY jarak ASC;");
    return $hsl;
  }
  function lokasiGumul($lat, $lng)
  {
    $hsl = $this->db->query("SELECT
                            *,IFNULL(((6371 * ACOS(COS(RADIANS('$lat')) * COS(RADIANS(lat) ) * COS(RADIANS(lng) -RADIANS('$lng')) + SIN(RADIANS('$lat')) * SIN(RADIANS(lat))))),0) AS jarak
                            FROM tabel_toko  WHERE lat<>'' and stat = '2' and kd_toko = 'yog01'
                            ORDER BY jarak ASC;");
    return $hsl;
  }
  function lokasiPare($lat, $lng)
  {
    $hsl = $this->db->query("SELECT
                            *,IFNULL(((6371 * ACOS(COS(RADIANS('$lat')) * COS(RADIANS(lat) ) * COS(RADIANS(lng) -RADIANS('$lng')) + SIN(RADIANS('$lat')) * SIN(RADIANS(lat))))),0) AS jarak
                            FROM tabel_toko  WHERE lat<>'' and stat = '2' and kd_toko = 'KDR05'
                            ORDER BY jarak ASC;");
    return $hsl;
  }
  function lokasiSrengat($lat, $lng)
  {
    $hsl = $this->db->query("SELECT
                            *,IFNULL(((6371 * ACOS(COS(RADIANS('$lat')) * COS(RADIANS(lat) ) * COS(RADIANS(lng) -RADIANS('$lng')) + SIN(RADIANS('$lat')) * SIN(RADIANS(lat))))),0) AS jarak
                            FROM tabel_toko  WHERE lat<>'' and stat = '2' and kd_toko = 'KNR01'
                            ORDER BY jarak ASC;");
    return $hsl;
  }

  function lokasiJombang1($lat, $lng)
  {
    $hsl = $this->db->query("SELECT
                            *,IFNULL(((6371 * ACOS(COS(RADIANS('$lat')) * COS(RADIANS(lat) ) * COS(RADIANS(lng) -RADIANS('$lng')) + SIN(RADIANS('$lat')) * SIN(RADIANS(lat))))),0) AS jarak
                            FROM tabel_toko  WHERE lat<>'' and stat = '2' and kd_toko = 'JBG01'
                            ORDER BY jarak ASC;");
    return $hsl;
  }
  function lokasiJombang2($lat, $lng)
  {
    $hsl = $this->db->query("SELECT
                            *,IFNULL(((6371 * ACOS(COS(RADIANS('$lat')) * COS(RADIANS(lat) ) * COS(RADIANS(lng) -RADIANS('$lng')) + SIN(RADIANS('$lat')) * SIN(RADIANS(lat))))),0) AS jarak
                            FROM tabel_toko  WHERE lat<>'' and stat = '2' and kd_toko = 'JBG03'
                            ORDER BY jarak ASC;");
    return $hsl;
  }
  function lokasiWijaya($lat, $lng)
  {
    $hsl = $this->db->query("SELECT
                            *,IFNULL(((6371 * ACOS(COS(RADIANS('$lat')) * COS(RADIANS(lat) ) * COS(RADIANS(lng) -RADIANS('$lng')) + SIN(RADIANS('$lat')) * SIN(RADIANS(lat))))),0) AS jarak
                            FROM tabel_toko  WHERE lat<>'' and stat = '2' and kd_toko = 'MJK03'
                            ORDER BY jarak ASC;");
    return $hsl;
  }
  function lokasiJayanegara($lat, $lng)
  {
    $hsl = $this->db->query("SELECT
                            *,IFNULL(((6371 * ACOS(COS(RADIANS('$lat')) * COS(RADIANS(lat) ) * COS(RADIANS(lng) -RADIANS('$lng')) + SIN(RADIANS('$lat')) * SIN(RADIANS(lat))))),0) AS jarak
                            FROM tabel_toko  WHERE lat<>'' and stat = '2' and kd_toko = 'MJK01'
                            ORDER BY jarak ASC;");
    return $hsl;
  }
  function lokasiMojosari($lat, $lng)
  {
    $hsl = $this->db->query("SELECT
                            *,IFNULL(((6371 * ACOS(COS(RADIANS('$lat')) * COS(RADIANS(lat) ) * COS(RADIANS(lng) -RADIANS('$lng')) + SIN(RADIANS('$lat')) * SIN(RADIANS(lat))))),0) AS jarak
                            FROM tabel_toko  WHERE lat<>'' and stat = '2' and kd_toko = 'MJK05'
                            ORDER BY jarak ASC;");
    return $hsl;
  }
  function lokasiPacing($lat, $lng)
  {
    $hsl = $this->db->query("SELECT
                            *,IFNULL(((6371 * ACOS(COS(RADIANS('$lat')) * COS(RADIANS(lat) ) * COS(RADIANS(lng) -RADIANS('$lng')) + SIN(RADIANS('$lat')) * SIN(RADIANS(lat))))),0) AS jarak
                            FROM tabel_toko  WHERE lat<>'' and stat = '2' and kd_toko = 'MJK02'
                            ORDER BY jarak ASC;");
    return $hsl;
  }
  function lokasiPandan($lat, $lng)
  {
    $hsl = $this->db->query("SELECT
                            *,IFNULL(((6371 * ACOS(COS(RADIANS('$lat')) * COS(RADIANS(lat) ) * COS(RADIANS(lng) -RADIANS('$lng')) + SIN(RADIANS('$lat')) * SIN(RADIANS(lat))))),0) AS jarak
                            FROM tabel_toko  WHERE lat<>'' and stat = '2' and kd_toko = 'MJK04'
                            ORDER BY jarak ASC;");
    return $hsl;
  }

  function lokasiMalang($lat, $lng)
  {
    if ($lat == '' || $lat == '1') {
      $ada = $this->db->query("select lat,lng from tabel_toko where kd_toko='MLG01';");
      $ada1 = $ada->row_array();
      $lat = $ada1['lat'];
      $lng = $ada1['lng'];
    }
    $hsl = $this->db->query("SELECT
                            *,IFNULL(((6371 * ACOS(COS(RADIANS('$lat')) * COS(RADIANS(lat) ) * COS(RADIANS(lng) -RADIANS('$lng')) + SIN(RADIANS('$lat')) * SIN(RADIANS(lat))))),0) AS jarak
                            FROM tabel_toko  WHERE lat<>'' and stat = '2' and (kd_toko = 'MLG01' OR kd_toko = 'SDR01')
                            ORDER BY jarak ASC;");
    return $hsl;
  }
  function lokasiSidoarjo($lat, $lng)
  {
    if ($lat == '' || $lat == '1') {
      $ada = $this->db->query("select lat,lng from tabel_toko where kd_toko='SDR01';");
      $ada1 = $ada->row_array();
      $lat = $ada1['lat'];
      $lng = $ada1['lng'];
    }
    $hsl = $this->db->query("SELECT
                            *,IFNULL(((6371 * ACOS(COS(RADIANS('$lat')) * COS(RADIANS(lat) ) * COS(RADIANS(lng) -RADIANS('$lng')) + SIN(RADIANS('$lat')) * SIN(RADIANS(lat))))),0) AS jarak
                            FROM tabel_toko  WHERE lat<>'' and stat = '2' and kd_toko = 'SDR01'
                            ORDER BY jarak ASC;");
    return $hsl;
  }

  function toko($kdtoko)
  {
    $hsl = $this->db->query("select * FROM tabel_toko where kdtoko='$kdtoko'");
    return $hsl;
  }

  public function cari_nama($nm_barang)
  {
    $this->db->like('nama_menu', $nm_barang, 'both');
    $this->db->order_by('kode_menu', 'ASC');
    $this->db->limit(6);
    return $this->db->get('tbl_menu')->result();
  }

  function hot_promo()
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('kdkedai');
    $hsl = $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,a.bahan,a.cekstok,a.kosong,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar 
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                WHERE a.menu_kategori_id='J01' AND b.`kdcabang`='yog01' AND b.`kdharga`='kh01' and a.menu_status='1' and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.menu_id;");
    return $hsl;
  }
  function hot_menu()
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    $hsl = $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,a.bahan,a.cekstok,a.kosong,c.stok,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select qty from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg=a.menu_id and nobukti='$nobukti'  and jpromo<>'B'),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                LEFT JOIN tabel_stok_toko_new c ON c.kd_barang = a.bahan
                                WHERE a.menu_kategori_id='J01' AND b.`kdcabang`='yog01' AND c.kd_toko = '$cabang' AND b.`kdharga`='kh01' and a.menu_status='1' and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.menu_likes desc limit 2;");
    return $hsl;
  }
  function miegurih()
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    return $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,a.bahan,a.cekstok,a.kosong,c.stok,
                                 ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select SUM(qty) from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg1=a.menu_id and nobukti='$nobukti' and jpromo<>'B' GROUP BY kdbrg1 ),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                LEFT JOIN tabel_stok_toko_new c ON c.kd_barang = a.bahan
                                WHERE a.menu_kategori_id='J01' AND b.`kdcabang`='yog01' AND c.kd_toko = '$cabang' 
                                AND b.`kdharga`='kh01'  and a.menu_status='1' and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.nourut,a.menu_id")->result_array();
  }
  
  function miemewahsegar()
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    return $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,a.bahan,a.cekstok,a.kosong,a.pilihan,c.stok,
                                 ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select SUM(qty) from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg1=a.menu_id and nobukti='$nobukti' and jpromo<>'B' GROUP BY kdbrg1 ),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                LEFT JOIN tabel_stok_toko_new c ON c.kd_barang = a.bahan
                                WHERE a.menu_kategori_id='J10' AND b.`kdcabang`='yog01' AND c.kd_toko = '$cabang' AND b.`kdharga`='kh01'  
                                and a.menu_status='1' and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.nourut,a.menu_id")->result_array();
  }
  
   function miemewahcreamy()
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    return $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,a.bahan,a.cekstok,a.kosong,a.pilihan,c.stok,
                                 ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select SUM(qty) from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg1=a.menu_id and nobukti='$nobukti' and jpromo<>'B' GROUP BY kdbrg1 ),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                LEFT JOIN tabel_stok_toko_new c ON c.kd_barang = a.bahan
                                WHERE a.menu_kategori_id='J11' AND b.`kdcabang`='yog01' AND c.kd_toko = '$cabang' AND b.`kdharga`='kh01' 
                                and a.menu_status='1' and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.nourut,a.menu_id")->result_array();
  }
  
  function favorit()
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    return $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,a.bahan,a.cekstok,a.kosong,c.stok,
                                 ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select SUM(qty) from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg1=a.menu_id and nobukti='$nobukti' and jpromo<>'B' GROUP BY kdbrg1 ),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                LEFT JOIN tabel_stok_toko_new c ON c.kd_barang = a.bahan
                                WHERE NOT a.menu_kategori_id ='J09' AND NOT a.menu_kategori_id ='J08' AND c.kd_toko = '$cabang' AND b.`kdcabang`='yog01' AND b.`kdharga`='kh01' and a.menu_status='1' and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.likes desc limit 10")->result_array();
  }
  
  function menupromo($promo)
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    return $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,a.bahan,a.cekstok,a.kosong,a.pilihan,c.stok,a.max_paket,
                                 ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select SUM(qty) from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg1=a.menu_id and nobukti='$nobukti' and jpromo<>'B' GROUP BY kdbrg1 ),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                LEFT JOIN tabel_stok_toko_new c ON c.kd_barang = a.bahan 
                                LEFT JOIN promodetail d ON d.kdbrg = a.menu_id
                                WHERE d.idpromo = '$promo' AND d.kdcabang = '$cabang' AND b.`kdcabang`='tri01' AND c.kd_toko = '$cabang' AND b.`kdharga`='kh01'  and a.menu_status='1' and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.menu_id")->result_array();
  }
  
  
  function miegokil()
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    return $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,a.bahan,a.cekstok,a.kosong,c.stok,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru ,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select SUM(qty) from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg1=a.menu_id and nobukti='$nobukti' and jpromo<>'B' GROUP BY kdbrg1 ),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                LEFT JOIN tabel_stok_toko_new c ON c.kd_barang = a.bahan
                                WHERE a.menu_kategori_id='J07' AND b.`kdcabang`='yog01' AND c.kd_toko = '$cabang' AND b.`kdharga`='kh01'  
                                and a.menu_status='1' and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.nourut,a.menu_id")->result_array();
  }
  function topping()
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    return $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,a.bahan,a.cekstok,a.kosong,
                                 ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select qty from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg=a.menu_id and nobukti='$nobukti' and jpromo<>'B' ),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                WHERE a.menu_kategori_id='J03' AND b.`kdcabang`='yog01' AND b.`kdharga`='kh01' and a.menu_status='1'  and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.menu_id")->result_array();
  }
  
  
  function paket()
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    return $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,a.bahan,a.cekstok,a.kosong,a.menu_kategori_id,c.kdbrg,c.class_menu,c.max_menu,
                                 ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select qty from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg=a.menu_id and nobukti='$nobukti' and jpromo<>'B' ),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                JOIN tabel_menu_promo c ON c.kdbrg1 = a.menu_id
                                WHERE b.`kdcabang`='yog01' AND b.`kdharga`='kh01' and a.menu_status='1'  and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.menu_id")->result_array();
  }
  
  function paketInsert($paket)
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    return $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,a.bahan,a.cekstok,a.kosong,a.menu_kategori_id,
                                 ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select qty from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg=a.menu_id and nobukti='$nobukti' and jpromo<>'B' ),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                JOIN tabel_menu_promo c ON c.kdbrg1 = a.menu_id
                                WHERE  c.kdbrg = '$paket' AND b.`kdcabang`='yog01' AND b.`kdharga`='kh01' and a.menu_status='1'  and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.menu_id")->result_array();
  }
  
  function paketberdua()
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    return $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,a.bahan,a.cekstok,a.kosong,a.menu_kategori_id,
                                 ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select qty from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg=a.menu_id and nobukti='$nobukti' and jpromo<>'B' ),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                JOIN tabel_menu_promo c ON c.kdbrg1 = a.menu_id
                                WHERE c.kdbrg = '9A95' AND b.`kdcabang`='yog01' AND b.`kdharga`='kh01' and a.menu_status='1'  and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.menu_id")->result_array();
  }
  
  
  function paketrame()
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    return $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,a.bahan,a.cekstok,a.kosong,a.menu_kategori_id,
                                 ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select qty from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg=a.menu_id and nobukti='$nobukti' and jpromo<>'B' ),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                JOIN tabel_menu_promo c ON c.kdbrg1 = a.menu_id
                                WHERE  c.kdbrg = '9A96' AND b.`kdcabang`='yog01' AND b.`kdharga`='kh01' and a.menu_status='1'  and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.menu_id")->result_array();
  }
  
  function toppingMenu()
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    return $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,a.bahan,a.cekstok,a.kosong,c.stok,
                                 ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select qty from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg=a.menu_id and nobukti='$nobukti' and jpromo<>'B' ),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                LEFT JOIN tabel_stok_toko_new c ON c.kd_barang = a.bahan
                                WHERE a.menu_kategori_id='J03' AND menu_id != '9C99' AND b.`kdcabang`='yog01' AND b.`kdharga`='kh01' and a.menu_status='1'  and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.menu_id")->result_array();
  }
  
  function topping1()
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    $hsl = $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,a.bahan,a.cekstok,a.kosong,
                                 ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select qty from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg=a.menu_id and nobukti='$nobukti' and jpromo<>'B'),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                WHERE a.menu_kategori_id='J03' AND a.menu_id!='9C99' AND b.`kdcabang`='yog01' AND b.`kdharga`='kh01' and a.menu_status='1'  and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.menu_id;");
    return $hsl;
  }
  function snack()
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    return $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,a.bahan,a.cekstok,a.kosong,c.stok,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select qty from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg=a.menu_id and nobukti='$nobukti' and jpromo<>'B'),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                LEFT JOIN tabel_stok_toko_new c ON c.kd_barang = a.bahan
                                WHERE a.menu_kategori_id='J02' AND b.`kdcabang`='yog01' AND c.kd_toko = '$cabang' AND b.`kdharga`='kh01' and a.menu_status='1'  and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.menu_id;")->result_array();
  }
  function mtop1()
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    $hsl = $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select qty from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg=a.menu_id and nobukti='$nobukti' and jpromo<>'B' ),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                WHERE a.jenismenu='J81' AND b.`kdcabang`='yog01' AND b.`kdharga`='kh01' and a.menu_status='1'  and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.menu_id;");
    return $hsl;
  }
  function mtop2()
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    $hsl = $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select qty from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg=a.menu_id and nobukti='$nobukti' and jpromo<>'B'),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                WHERE a.jenismenu='J82' AND b.`kdcabang`='yog01' AND b.`kdharga`='kh01' and a.menu_status='1'  and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.menu_id;");
    return $hsl;
  }
  function mtop3()
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    $hsl = $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select qty from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg=a.menu_id and nobukti='$nobukti' and jpromo<>'B'),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                WHERE a.jenismenu='J83' AND b.`kdcabang`='yog01' AND b.`kdharga`='kh01' and a.menu_status='1'  and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.menu_id;");
    return $hsl;
  }
  function mtop4()
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    $hsl = $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select qty from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg=a.menu_id and nobukti='$nobukti' and jpromo<>'B' ),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                WHERE a.jenismenu='J84' AND b.`kdcabang`='yog01' AND b.`kdharga`='kh01' and a.menu_status='1'  and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.menu_id;");
    return $hsl;
  }
  function gtop1()
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    $hsl = $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select qty from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg=a.menu_id and nobukti='$nobukti' and jpromo<>'B'),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                WHERE a.jenismenu='J91' AND b.`kdcabang`='yog01' AND b.`kdharga`='kh01' and a.menu_status='1'  and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.menu_id;");
    return $hsl;
  }

  function gtop2()
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    $hsl = $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select qty from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg=a.menu_id and nobukti='$nobukti' and jpromo<>'B' ),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                WHERE a.jenismenu='J92' AND b.`kdcabang`='yog01' AND b.`kdharga`='kh01' and a.menu_status='1'  and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.menu_id;");
    return $hsl;
  }
  function gtop3()
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    $hsl = $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select qty from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg=a.menu_id and nobukti='$nobukti' and jpromo<>'B' ),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                WHERE a.jenismenu='J93' AND b.`kdcabang`='yog01' AND b.`kdharga`='kh01' and a.menu_status='1'  and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.menu_id;");
    return $hsl;
  }
  function gtop4()
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    $hsl = $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select qty from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg=a.menu_id and nobukti='$nobukti'  and jpromo<>'B'),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                WHERE a.jenismenu='J94' AND b.`kdcabang`='yog01' AND b.`kdharga`='kh01' and a.menu_status='1'  and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.menu_id;");
    return $hsl;
  }
  function minuman()
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    return $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,a.bahan,a.cekstok,a.kosong,c.stok,
                                 ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select qty from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg=a.menu_id and nobukti='$nobukti' and jpromo<>'B' ),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                LEFT JOIN tabel_stok_toko_new c ON c.kd_barang = a.bahan
                                WHERE a.menu_kategori_id='J04' AND b.`kdcabang`='yog01' AND c.kd_toko = '$cabang' AND b.`kdharga`='kh01' and a.menu_status='1'  and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.menu_id;")->result_array();
  }
  function promobarang($noresi)
  {
    $nobukti = $this->session->userdata('nobukti');
    $kdcabang = $this->session->userdata('cabang');
    $x = $this->db->query("select idpromo from tbl_belanja1 where nobukti='$nobukti';");
    $xi = $x->row_array();
    $idpromo = $xi['idpromo'];


    return $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,a.bahan,a.cekstok,a.kosong,c.stok,
                                b.newharga AS harga_lama,
                                b.newharga AS harga_baru,0 ppn,
                                b.newharga as menu_harga_lama,b.newharga as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select qty from tbl_belanja_detail1 where kdcabang='$kdcabang' and kdbrg=a.menu_id and nobukti='$nobukti' and jpromo<>'B' ),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN promodetail b ON a.`menu_id`=b.`kdbrg` 
                                LEFT JOIN tabel_stok_toko_new c ON c.kd_barang = a.bahan
                                WHERE b.`kdcabang`='$kdcabang' AND c.kd_toko = '$kdcabang' AND a.menu_status='1' AND b.idpromo = '$idpromo' ORDER BY a.menu_id;")->result_array();;
    // return $hsl;
  }
  
   function promobarangm($noresi)
  {
    $nobukti = $this->session->userdata('nobukti');
    $kdcabang = $this->session->userdata('cabang');
    $x = $this->db->query("select idpromo from tbl_belanja1 where nobukti='$nobukti';");
    $xi = $x->row_array();
    $idpromo = $xi['idpromo'];
    
    $hg=$this->db->query("SELECT a.kdbrg,a.harga,c.`hargajual` FROM tbl_belanja_detail1 a
                    LEFT JOIN tbl_belanja1 d ON a.nobukti=d.nobukti
                    LEFT JOIN tabel_menu b ON a.`kdbrg`=b.`kode_menu`
                    LEFT JOIN hargajual c ON c.`kdbrg`=b.`kdbrg1`
                    WHERE a.kdpromo='$idpromo' AND a.nobukti='$nobukti'
                    AND c.`tglawal`<=d.tgl AND c.`tglakhir`>=d.tgl AND c.`stat`='1' AND c.`kdcabang`=d.`kdcabang` AND c.`kdharga`='KH01'
                    ORDER BY c.`hargajual` DESC LIMIT 1;");
                    
    $di=$hg->row_array();
		    if(!empty($di)) {
		        $ht=$di['hargajual'];
		    }                
     $hsl=$this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,a.bahan,a.cekstok,a.kosong,
                                d.newharga AS harga_lama,
                                d.newharga AS harga_baru,0 ppn,
                                d.newharga as menu_harga_lama,d.newharga as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                 ifnull((select qty from tbl_belanja_detail1 where kdcabang='$kdcabang' and kdbrg=a.menu_id and nobukti='$nobukti' and jpromo='B'),0) as qty
                                FROM `tbl_menu` AS `a` 
            LEFT JOIN `hargajual` AS `b` ON `a`.`menu_id` = `b`.`kdbrg`
            LEFT JOIN `tbl_belanja1` AS `c` ON `b`.`kdcabang` = `c`.`kdcabang`  and c.kdharga=b.kdharga
            LEFT JOIN `promodetail` AS `d` ON `a`.`menu_id` = `d`.`kdbrg` and d.kdcabang=c.kdcabang
            WHERE `d`.`idpromo` = '$idpromo' AND `c`.`nobukti` = '$nobukti' AND `b`.`tglawal` <= curdate() AND `b`.`tglakhir` >= curdate()
            AND `b`.`hargajual` <= '$ht' AND `a`.`stat` = '1' AND `b`.`stat` = '1' ORDER BY `a`.`menu_id` ");

     
    return $hsl;
  }

  function favorite()
  {
    $hsl = $this->db->query("SELECT menu_id,menu_nama,menu_deskripsi,if(menu_harga_lama>=10000,LEFT(menu_harga_lama,2),LEFT(menu_harga_lama,1)) AS harga_lama,if(menu_harga_baru>=10000,LEFT(menu_harga_baru,2),LEFT(menu_harga_baru,1)) AS harga_baru,menu_harga_lama,menu_harga_baru,menu_likes,menu_kategori_id,menu_kategori_nama,menu_gambar FROM tbl_menu WHERE menu_likes <> 0 ORDER BY menu_likes DESC");
    return $hsl;
  }


   function menupaket()
  {
  $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    return $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,a.bahan,a.cekstok,a.kosong,c.stok,a.max_paket,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,b.hargajual as menu_harga_baru ,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar,
                                ifnull((select SUM(qty) from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg1=a.menu_id and nobukti='$nobukti' and jpromo<>'B' GROUP BY kdbrg1 ),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                LEFT JOIN tabel_stok_toko_new c ON c.kd_barang = a.bahan
                                WHERE a.paket='1' AND b.`kdcabang`='yog01' AND c.kd_toko = '$cabang' AND b.`kdharga`='kh01'  and a.menu_status='1' and b.tglawal<=curdate() and b.tglakhir>=curdate() and a.menu_id like '9a98%' and a.menu_harga_lama >=1 ORDER BY a.menu_harga_lama")->result_array();
  }
  
  function cariPromo()
  {
    $kdtoko = $this->session->userdata('cabang');
    $type = $this->session->userdata('typeorder');
    $stat_member = $_COOKIE['member'];
    $tgl = date('Y-m-d');
    $hrr = date('w', strtotime("$tgl"));
    $wkt = date('H:i:s');
    $kopel = $_COOKIE['kopel'];
    
    return $this->db->query("SELECT a.namapromo,a.idprogram FROM promoheader a
    LEFT JOIN promoarea b ON a.nobukti=b.nobukti 
    WHERE a.hit_paket != 1 AND a.stat='1' AND a.tglawal<='$tgl' AND a.tglakhir>='$tgl' and stpromo='1'  
    and a.hari like '%$hrr%' and a.hari like '%$hrr%' and jamawal<='$wkt' and jamakhir>='$wkt' and a.idprogram<>'078' AND (a.jnslayanan='$type' or a.jnslayanan1='$type' or a.jnslayanan2='$type') 
    AND b.kdwil='$kdtoko' AND (a.eorder = 1 OR a.eorder = 2) AND (a.stat_member = '$stat_member' OR a.stat_member = 5)")->result_array();
  }
  
  function cariVoucher(){
    
    $kopel = $_COOKIE['kopel'];
    $jlayan = $this->session->userdata('typeorder');
    
    return $this->db->query("select a.kode_promo, b.namapromo FROM tbl_pelanggan_promo a 
    JOIN promoheader b ON b.idprogram = a.kode_promo 
    where plg_id ='$kopel' and a.stat = 0  and daritgl <= CURDATE() and smptgl >= CURDATE() AND (b.jnslayanan='$jlayan' or b.jnslayanan1='$jlayan' or b.jnslayanan2='$jlayan')")->result_array();
  }
    
  function detail_menu1($kode)
  {
    $nobukti = $this->session->userdata('nobukti');
    $cabang = $this->session->userdata('cabang');
    $hsl = $this->db->query("SELECT a.menu_id,a.menu_nama,a.menu_deskripsi,
                                 ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_lama,
                                ROUND((((b.`hargajual`)*1.1)/1000),1) AS harga_baru,b.ppn,
                                b.hargajual as menu_harga_lama,(b.hargajual*1.1) as menu_harga_baru,a.menu_likes,a.menu_kategori_id,a.menu_kategori_nama,a.menu_gambar, 
                                ifnull((select qty from tbl_belanja_detail1 where kdcabang='$cabang' and kdbrg=a.menu_id and nobukti='$nobukti' and jpromo<>'B' ),0) as qty
                                FROM tbl_menu a 
                                LEFT JOIN hargajual b ON a.`menu_id`=b.`kdbrg` 
                                WHERE a.menu_id='$kode' AND b.`kdcabang`='yog01' AND b.`kdharga`='kh01' and a.menu_status='1'  and b.tglawal<=curdate() and b.tglakhir>=curdate() ORDER BY a.menu_id;");
    return $hsl;
  }

  function detail_menu($kode)
  {
    $tgl = date('Y-m-d');
    $nobukti = $this->session->userdata('nobukti');

    $this->db->select("hargajual,ppn,maxbonus,newharga,menu_nama,c.layanan,c.idpromo,c.item,c.jnspromo,c.promo");
    $this->db->join('hargajual AS b', 'a.menu_id = b.kdbrg', 'left');
    $this->db->join('tbl_belanja1 AS c', 'b.kdcabang = c.kdcabang', 'left');
    $this->db->join('promodetail AS d', 'd.kdbrg = a.menu_id and d.idpromo = c.idpromo and  d.kdcabang=c.kdcabang', 'left');
    $this->db->where('a.menu_id', $kode);
    $this->db->where('c.nobukti', $nobukti);
    $this->db->where('b.kdharga', 'kh01');
    $this->db->where('b.tglawal <=', $tgl);
    $this->db->where('b.tglakhir >=', $tgl);
    $this->db->where('b.stat', '1');
    return $this->db->get('tbl_menu AS a');
  }

  function detail_topping($kdbrg1, $kdbrg2)
  {
    $tgl = date('Y-m-d');
    $nobukti = $this->session->userdata('nobukti');

    $this->db->select('menu_id,hargajual,ppn,maxbonus,newharga,menu_nama,c.idpromo,c.item,c.idpromo,c.jnspromo,c.promo,c.maxbonus');
    $this->db->join('hargajual AS b', 'a.menu_id = b.kdbrg', 'left');
    $this->db->join('tbl_belanja1 AS c', 'b.kdcabang = c.kdcabang', 'left');
    $this->db->join('promodetail AS d', 'd.kdbrg = a.menu_id and d.idpromo = c.idpromo and  d.kdcabang=c.kdcabang', 'left');
    $this->db->where('a.kdbrg1', $kdbrg1);
    $this->db->where('a.kdbrg2', $kdbrg2);
    $this->db->where('c.nobukti', $nobukti);
    $this->db->where('b.kdharga', 'kh01');
    $this->db->where('b.tglawal <=', $tgl);
    $this->db->where('b.tglakhir >=', $tgl);
    $this->db->where('b.stat', '1');
    return $this->db->get('tbl_menu AS a');
  }

  function add_like($kode)
  {
    $hsl = $this->db->query("UPDATE tbl_menu SET menu_likes=menu_likes+1 where menu_id='$kode'");
    return $hsl;
  }

  public function promonya()
  {
    $DB1 = $this->load->database('db2', TRUE);
    return $DB1->query("SELECT * FROM berita where tanggal_publish <= CURDATE() AND tanggal_selesai >= CURDATE()")->result_array();
  }
    
  public function slideself(){
        $DB1 = $this->load->database('db2', TRUE);
        return $DB1->query("SELECT * FROM galeri WHERE id_kategori_galeri = 7")->result_array();	
    }
    
    public function slideorder(){
        $DB1 = $this->load->database('db2', TRUE);
        return $DB1->query("SELECT * FROM galeri WHERE id_kategori_galeri = 8")->result_array();	
    }

  function menuCari($postData)
  {

    $response = array();

    if (isset($postData['search'])) {
      // Select record
      $this->db->select('*');
      $this->db->where("menu_nama like '%" . $postData['search'] . "%' ")
        ->where('menu_kategori_id !=', 'J09')
        ->where('menu_kategori_id !=', 'J08')
        ->where('menu_status', 1)
        ->limit('6');

      $records = $this->db->get('tbl_menu')->result();

      foreach ($records as $row) {
        $response[] = array("value" => $row->menu_nama, "label" => $row->menu_nama);
      }
    }

    return $response;
  }

    function get_new_kode_menu(){
        $this->db->select('kode_menu');
        $this->db->order_by('id_menu', 'DESC');
        $this->db->limit(1);
        $q = $this->db->get('tabel_menu');
        
        if($q->num_rows() > 0){
            $last_kode = $q->row()->kode_menu;
            if(preg_match('/(\d+)$/', $last_kode, $matches)){
                $num = $matches[1] + 1;
                $prefix = preg_replace('/(\d+)$/', '', $last_kode);
                return $prefix . $num;
            }
        }
        return '9N01'; 
    }

    function simpan_menu_lengkap($kode, $nama, $kategori_utama, $nama_kat_utama, $sub_kategori, $deskripsi, $foto, $status, $harga_cabang_array){
        $this->db->trans_start();

        $harga_global = 0;
        if(!empty($harga_cabang_array)){
            $first_store = reset($harga_cabang_array); 
            if(isset($first_store['KH01'])) {
                $harga_global = str_replace([',','.'], '', $first_store['KH01']);
            } else {
                $harga_global = str_replace([',','.'], '', reset($first_store));
            }
        }

        $data_utama = array(
            'kode_menu'  => $kode,
            'nama_menu'  => $nama,
            'harga_jual' => $harga_global, 
            'harga_modal'=> $harga_global,
            'jenisbrg'   => $kategori_utama,
            'jenismenu'  => $sub_kategori,
            'foto'       => $foto,
            'stat'       => $status,
            'cekstok'    => '2',
            'kdbrg1'     => $kode,         
            'kdbrg2'     => '9C99',         
            'ketjenis'   => $nama_kat_utama 
        );
        $this->db->insert('tabel_menu', $data_utama);

        $data_kedua = array(
            'menu_id'            => $kode,
            'menu_nama'          => $nama,
            'menu_deskripsi'     => $deskripsi,
            'menu_harga_baru'    => $harga_global,
            'menu_gambar'        => $foto,
            'menu_kategori_id'   => $kategori_utama, 
            'menu_kategori_nama' => $nama_kat_utama,
            'jenismenu'          => $sub_kategori,
            'kdbrg1'             => $kode,
            'menu_status'        => ($status==1)?1:0,
            'stat'               => (string)$status
        );
        $this->db->insert('tbl_menu', $data_kedua);

        if(!empty($harga_cabang_array)){
            foreach($harga_cabang_array as $kd_toko => $list_harga){
                foreach($list_harga as $kd_jenis_harga => $nominal_raw){
                    
                    $nominal = str_replace([',','.'], '', $nominal_raw);
                    
                    if($nominal == '' || $nominal < 0) continue;

                    $data_harga = array(
                        'kdcabang' => $kd_toko, 
                        'kdbrg'    => $kode,
                        'kdharga'  => $kd_jenis_harga, // KH01, KH02, dll
                        'hargajual'=> $nominal,
                        'tglawal'  => date('Y-m-d'),
                        'tglakhir' => '2030-12-31',
                        'stat'     => '1',
                        'ppn'      => 'Y'
                    );
                    $this->db->insert('hargajual', $data_harga);
                }
            }
        }

        $this->db->trans_complete();
        
        if ($this->db->trans_status() === FALSE) {
            return $this->db->error(); 
        }
        return true;
    }

    function update_menu_master($kode, $nama, $deskripsi, $kategori_utama, $nama_kat_utama, $sub_kategori, $status, $gambar=null){
        $this->db->trans_start();

        $dt1 = array(
            'nama_menu' => $nama,
            'jenisbrg'  => $kategori_utama, 
            'jenismenu' => $sub_kategori,   
            'ketjenis'  => $nama_kat_utama, 
            'stat'      => $status
        );
        if($gambar){ $dt1['foto'] = $gambar; }
        
        $this->db->where('kode_menu', $kode);
        $this->db->update('tabel_menu', $dt1);

        $dt2 = array(
            'menu_nama'          => $nama,
            'menu_deskripsi'     => $deskripsi, 
            'menu_kategori_id'   => $kategori_utama, 
            'menu_kategori_nama' => $nama_kat_utama,
            'jenismenu'          => $sub_kategori,
            'stat'               => (string)$status,
            'menu_status'        => ($status==1)?1:0
        );
        if($gambar){ $dt2['menu_gambar'] = $gambar; }

        $this->db->where('menu_id', $kode);
        $this->db->update('tbl_menu', $dt2);

        $this->db->trans_complete();
    }
    
    function update_harga_spesifik($kode, $kdcabang, $kdharga, $nominal_raw, $tglawal, $tglakhir, $stat){
        
        $is_empty = ($nominal_raw === '' || $nominal_raw === null);
        
        $nominal = (int) preg_replace('/[^0-9]/', '', (string)$nominal_raw);

        $this->db->where('kdbrg', $kode);
        $this->db->where('kdcabang', $kdcabang);
        $this->db->where('kdharga', $kdharga);
        $q = $this->db->get('hargajual');

        if($q->num_rows() > 0){
            $data = array(
                'tglawal'   => $tglawal,
                'tglakhir'  => $tglakhir,
                'stat'      => $stat 
            );
            
            if(!$is_empty && $nominal > 0){
                $data['hargajual'] = $nominal;
            }
            
            $this->db->where('kdbrg', $kode);
            $this->db->where('kdcabang', $kdcabang);
            $this->db->where('kdharga', $kdharga);
            $this->db->update('hargajual', $data);

        } else {
            if(!$is_empty && $nominal > 0){
                $data = array(
                    'kdcabang'  => $kdcabang,
                    'kdbrg'     => $kode,
                    'kdharga'   => $kdharga,
                    'hargajual' => $nominal,
                    'tglawal'   => $tglawal,
                    'tglakhir'  => $tglakhir,
                    'stat'      => $stat,
                    'ppn'       => 'Y'
                );
                $this->db->insert('hargajual', $data);
            }
        }
    }
    
    function hapus_menu_semua($kode) {
        $this->db->trans_start();

        $this->db->where('kdbrg', $kode);
        $this->db->delete('hargajual');
        
        $this->db->where('menu_id', $kode);
        $this->db->delete('tbl_menu');

        $this->db->where('kode_menu', $kode);
        $this->db->delete('tabel_menu');

        $this->db->trans_complete();

        if ($this->db->trans_status() === FALSE) {
            return false; 
        }
        return true; 
    }

}
