function list_produk($start = false, $limit = false, $justcount = false, $key = false, $filter = false, $filter2 = false) { $k = $this->tb_kat; $sk = $this->tb_subkat; $sk2 = $this->tb_subkat2; $p = $this->tb_produk; $kat = $this->tb_katalog; $pp = $this->db->dbprefix($p); $katp = $this->db->dbprefix($kat); $op = $this->db->dbprefix($this->tb_order); $vcp = $this->db->dbprefix($this->tb_vcode); if ($filter) { switch ($filter) { case '1': if (strlen($key) < 5) { return 'err_1'; } $id = get_id_from_kode($key); $this->db->where("{$p}.id", $id); break; case '2': $this->db->like("{$p}.nama_produk", "{$key}"); break; case '3': $this->db->where("{$p}.id_subkategori", "{$key}"); break; #case'4': # $this->db->like("$sk.subkategori","$key"); # break; #case'4': # $this->db->like("$sk.subkategori","$key"); # break; case '5': $this->db->where("date_format(tgl,'%Y-%m-%d') between '{$key['tgl1']}' and '{$key['tgl2']}'"); $this->db->order_by('tgl ' . $key['order']); break; case '6': $this->db->where("{$p}.stock", "{$key}"); break; case '7': $this->db->where("{$p}.id_kode_vendor", "{$key}"); break; } } if ($filter2 && $filter != '7') { $this->db->where("{$p}.id_kode_vendor", "{$filter2}"); } $this->db->join($sk, "{$p}.id_subkategori={$sk}.id", 'left'); $this->db->join($k, "{$sk}.id_kategori={$k}.id", 'left'); $this->db->join($kat, "{$p}.id_katalog={$kat}.id", 'left'); if ($justcount) { $this->db->select('count(*) as jml', FALSE); $query = $this->db->get("{$p}"); $row = $query->row(); return $row->jml; } $this->db->join($sk2, "{$p}.id_subkategori2={$sk2}.id", 'left'); if ($limit !== false) { $this->db->limit($limit, $start); } $this->db->select("{$p}.id,{$p}.nama_produk,{$p}.tgl,{$k}.kategori,{$k}.id as idkat," . "{$sk}.subkategori,{$sk}.id as idsub,{$sk2}.subkategori2, {$kat}.katalog," . "(SELECT kode_produk_vendor FROM {$vcp} WHERE id={$pp}.id_kode_vendor ) AS vcode", FALSE); $this->db->order_by("vcode,{$p}.id,{$p}.nama_produk"); $query = $this->db->get($p); #echo $this->db->last_query(); if ($query->num_rows() > 0) { #break; $row = $query->result(); $query->free_result(); return $row; } #break; return false; }
function list_untung($start = false, $limit = false, $justcount = false, $key = false, $filter = false, $filter2 = false) { $k = $this->tb_kat; $sk = $this->tb_subkat; $sk2 = $this->tb_subkat2; $p = $this->tb_produk; $hb = $this->tb_harga_baru; $hv = $this->tb_harga_vendor; $stc = $this->tb_stock; $atkhu = $this->tb_at_khu; $pp = $this->db->dbprefix($p); $op = $this->db->dbprefix($this->tb_order); $vcp = $this->db->dbprefix($this->tb_vcode); if ($filter) { switch ($filter) { case '1': if (strlen($key) < 5) { return 'err_1'; } $id = get_id_from_kode($key); $this->db->where("{$p}.id", $id); break; case '2': $this->db->like("{$p}.nama_produk", "{$key}"); break; case '3': $this->db->where("{$p}.id_subkategori", "{$key}"); break; #case'4': # $this->db->like("$sk.subkategori","$key"); # break; #case'4': # $this->db->like("$sk.subkategori","$key"); # break; case '5': $this->db->where("date_format(tgl,'%Y-%m-%d') between '{$key['tgl1']}' and '{$key['tgl2']}' and sam_atribut_khusus.stock<='5'"); $this->db->order_by('tgl ' . $key['order']); break; case '6': $this->db->where("{$p}.stock", "{$key}"); break; case '7': $this->db->where("{$p}.id_kode_vendor", "{$key}"); break; } } if ($filter2 && $filter != '7') { $this->db->where("{$p}.id_kode_vendor", "{$filter2}"); } $this->db->join($atkhu, "{$atkhu}.id={$p}.id", 'left'); //$this->db->join($atkhu, "$p.id=$atkhu.id", 'left'); if ($justcount) { $this->db->select('count(*) as jml', FALSE); $query = $this->db->get("{$p}"); $row = $query->row(); return $row->jml; } //$this->db->join($sk2, "$p.id=$sk2.id", 'left'); if ($limit !== false) { $this->db->limit($limit, $start); } $this->db->select("{$p}.id,{$p}.nama_produk,{$p}.harga_baru, {$p}.harga_vendor,{$atkhu}.stock,{$atkhu}.id,", FALSE); $this->db->order_by("{$p}.id,{$p}.nama_produk"); $query = $this->db->get($p); #echo $this->db->last_query(); if ($query->num_rows() > 0) { #break; $row = $query->result(); $query->free_result(); return $row; } #break; return false; }