/**
* This file is part of POS_Light Package, and its copyrights are owned by Acharis IT Consultancy Private Limited.
* Any unauthorized copy or editing of these files is not approved.
* @contact contact@acharis.com
* @author Acharis IT Consultancy Pvt Ltd
* @version 1.3
* @copyright 2012-2013
* @package POS_Light Admin Panel
*/
class Items extends Table {
// Define the table name and table id
protected $table_name = 'sf_items';
protected $table_id = 'item_id';
/**
* Function to get all items, avoid rawmat
* @param company_id
* @return items array
*/
public static function getItems($company_id,$location_id,$is_featured=0,$nonveg_status='all',$category_id_string = NULL) {
$query = 'select
item.item_type,
item.item_description,
item.color_code,
item.item_id,
item.item_logo,
item.item_group,
item.size,
item.item_default_tax_percent,
location_items.location_item_price as item_default_price,
location_items.is_visible,
location_items.apply_taxes,
item.is_featured,
item.item_name,
item.item_short_name,
item.img_url,
item.meat_content_type,
item.item_type,
item.is_new,
item.has_addons,
item.new_till_date,
item.item_default_tax_percent,
category.category_id,
category.category_name,
category.img_url as cat_img_url,
groups.group_id,
groups.img_url as grp_img_url,
groups.group_name
from sf_items as item
inner join sf_location_items as location_items
on location_items.item_id = item.item_id
inner join sf_categories as category
on item.category_id = category.category_id
inner join sf_groups as groups
on groups.group_id = category.group_id
where location_items.location_id = "' . $location_id . '" and item.company_id = "' . $company_id . '" and item.is_sold = 1
and category.is_visible = 1 and item.is_visible = 1 and item.is_online = 1 and location_items.is_visible = 1 and location_items.is_available = 1
and groups.is_visible = 1 and item.is_addon = 0 ';
if($category_id_string != NULL){
//$query .= ' and item.category_id in ('.$category_id_string.') ';
$query .= ' and item.category_id in ('.$category_id_string.') ';
}
if($is_featured == 1){
$query .= ' and item.is_featured = 1 ';
}
if($nonveg_status != 'all'){
$query .=' and item.meat_content_type = '.$nonveg_status ;
}
$query .= ' order by category.display_order,item.item_group ';
if($is_featured == 1){
$query .= ' limit 6 ';
}
$query .= ';';
$db = Database::getInstance();
if ($db -> query($query)) {
$result = $db -> getResult();
return $result;
} else {
echo mysql_errno() . ':' . mysql_error() . '
';
}
}
/**
* Function to get the avialable addon item details for an item
* @param company_id,location_id - default - null,addon_item_id_string
* @return available addons details for this item
*/
public function getAvailableAddonItemDetails($company_id,$location_id = NULL,$addon_item_id_string) {
$db = Database::getInstance();
$query = 'select
items.item_id,items.item_name,items.item_logo,items.img_url,categories.category_name,groups.group_name,location_items.location_item_price as item_price
from sf_items as items
inner join sf_location_items as location_items
on location_items.item_id = items.item_id
inner join sf_categories as categories
on categories.category_id = items.category_id
inner join sf_groups as groups
on groups.group_id = categories.group_id
inner join sf_locations as locations
on locations.location_id = location_items.location_id
where items.is_addon = 1 and items.is_online = 1 and location_items.is_visible = 1 and location_items.is_available = 1 and items.is_visible = 1 and items.item_id in ('.$addon_item_id_string.') ';
if($location_id != NULL){
$query .=' and locations.location_id = "'.$location_id.'";';
}
else{
$query .=' and locations.company_id = "'.$company_id.'";';
}
//Run the query
if ($db -> query($query)) {
//Get the result in the array format
$result = $db -> getResult();
}
return $result;
}
/**
* Function to get the items not in the item_id_string
* @param $item_id_string, category_id
* @return item_details
*/
public function getItemsNotIn($item_id_string='',$category_id){
$db = Database::getInstance();
if($item_id_string != ''){
$items_query ='select item_name,item_id,item_default_price as item_price from sf_items where category_id = '.$category_id.' and item_id not in('.$item_id_string.');';
}
else{
$items_query ='select item_name,item_id,item_default_price as item_price from sf_items where category_id = '.$category_id.';';
}
//echo $items_query;
//Run the query
if ($db -> query($items_query)) {
//Get the result in the array format
$items_query_result = $db -> getResult();
//print_r($items_query_result);
}
return $items_query_result;
}
/**
* Function to get the addons of a company
* @param company_id,location_id,meat_content_type
* @return addon item details
*/
public function getAddons($company_id,$location_id,$meat_content_type = NULL) {
$db = Database::getInstance();
$addon_query = 'select items.item_id,items.item_name,location_items.location_item_price as item_price,cat.category_id,cat.category_name
from sf_items as items
inner join sf_location_items as location_items
on location_items.item_id = items.item_id
inner join sf_categories as cat
on cat.category_id = items.category_id
where items.is_addon = 1 and location_id = "'.$location_id.'" and items.company_id = "' . $company_id . '"
and location_items.is_visible = 1 and location_items.is_available = 1 ';
if($meat_content_type != NULL){
$addon_query .= ' and items.meat_content_type = '.$meat_content_type;
}
$addon_query .= ' order by cat.category_id desc;';
//echo $addon_query;
//Run the query
if ($db -> query($addon_query)) {
//Get the result in the array format
$result = $db -> getResult();
}
return $result;
}
/**
* Function to get the combo items in which the provided item is precent
* @param item_id
* @return combo item details
*/
public function getComboItemDetailsByItemId($location_id,$item_id){
$db = Database::getInstance();
$query = 'select items.item_id,items.item_name,items.item_type,location_items.location_item_price,item_description
from sf_items as items
inner join sf_location_items as location_items
on location_items.item_id = items.item_id
where location_items.is_online = 1 and location_items.location_id = "'.$location_id.'"
and location_items.is_visible = 1 and location_items.item_id in (select combo_item_id from sf_item_combos where item_id = '.$item_id.');';
//Run the query
if ($db -> query($query)) {
//Get the result in the array format
$result = $db -> getResult();
}
else{
$result = array();
}
return $result;
}
/**
* Function to get the location addon detail of a category
* @param caompany_id,category_id string(seperated by comas),location_id
* @return addon_details
*/
public function getCategoryAddonsByCategoryIds($company_id,$category_ids,$location_id) {
$query = 'select items.meat_content_type,category.category_name,category.category_id,items.item_id,location_items.location_item_price as item_price,items.item_name
from sf_items as items
inner join sf_location_items as location_items
on location_items.item_id = items.item_id
inner join sf_categories as category
on category.category_id = items.category_id
where items.category_id in ('.$category_ids.') and items.is_addon = 1 and location_items.is_available = 1 and location_items.is_visible = 1 and location_items.location_id = "'.$location_id.'";';
//echo $query ."
";
$db = Database::getInstance();
if ($db -> query($query)) {
$result = $db -> getResult();
return $result;
} else {
echo mysql_errno() . ':' . mysql_error() . '
';
}
}
/**
* Function to get the items of a combo by combo_item_id
* @param company_id,combos_item_id
* @return items of a combo
*/
public function getItemDetailsByComboItemId($company_id,$combo_item_id){
$query = 'select item_combo.combo_item_id,item_combo.item_id,item_combo.qty,items.item_name
from sf_item_combos as item_combo
inner join sf_items as items
on item_combo.item_id = items.item_id
where item_combo.combo_item_id = '.$combo_item_id.' order by items.item_name;';
//echo $query ."
";
$db = Database::getInstance();
if ($db -> query($query)) {
$result = $db -> getResult();
return $result;
} else {
echo mysql_errno() . ':' . mysql_error() . '
';
}
}
}
?>