function get_all_type_item_list()
 {
     App::uses('Sanitize', 'Utility');
     $name = Sanitize::escape($this->request->query['term']);
     App::import("Model", "Inventory.Cabinet");
     App::import("Model", "Inventory.Item");
     $item = new Item();
     $query = "SELECT cabinets.id AS id, cabinets.name AS code, 'cabinet' AS item_type, cabinets.manual_unit_price AS price, cabinets.name AS title, 'cabinet' AS item_type\n                FROM cabinets\n                WHERE cabinets.name LIKE '%{$name}%' LIMIT 5\n               UNION\n              SELECT items.id AS id, items.item_title AS code, 'item' AS item_type, items.price AS price, items.item_title AS title, 'item' AS item_type\n                FROM items\n                LEFT JOIN item_departments ON item_departments.id = items.item_department_id\n                WHERE item_departments.direct_sale = 1 AND items.base_item = 0 AND items.item_title LIKE '%{$name}%' LIMIT 5";
     $result = $item->query($query);
     $return_data = array();
     $index = 0;
     foreach ($result as $row) {
         $return_data[$index]['id'] = "{$row[0]['id']}|{$row[0]['item_type']}";
         $return_data[$index]['text'] = $row[0]['code'];
         $return_data[$index]['item_type'] = $row[0]['item_type'];
         if ($row[0]['item_type'] == 'item') {
             $return_data[$index]['door_count'] = 0;
             $return_data[$index]['quote_color_required'] = 0;
             $return_data[$index]['quote_material_required'] = 0;
         } elseif ($row[0]['item_type'] == 'cabinet') {
             $cabinet = new Cabinet();
             $cabinet->recursive = 0;
             $cabinet_detail = $cabinet->find('first', array('conditions' => array('Cabinet.id' => $row[0]['id'])));
             $return_data[$index]['door_count'] = (int) $cabinet_detail['Cabinet']['top_door_count'] + (int) $cabinet_detail['Cabinet']['bottom_door_count'] + (int) $cabinet_detail['Cabinet']['top_drawer_front_count'] + (int) $cabinet_detail['Cabinet']['middle_drawer_front_count'] + (int) $cabinet_detail['Cabinet']['bottom_drawer_front_count'] + (int) $cabinet_detail['Cabinet']['dummy_drawer_front_count'];
             $return_data[$index]['quote_color_required'] = (int) $cabinet_detail['Cabinet']['quote_color_required'];
             $return_data[$index]['quote_material_required'] = (int) $cabinet_detail['Cabinet']['quote_material_required'];
         }
         $index++;
     }
     print json_encode($return_data);
     exit;
 }
 public function ListAllTypesOfItems()
 {
     App::uses("Item", "Inventory.Model");
     $item = new Item();
     $query = "SELECT cabinets.id AS id, cabinets.name AS code, 'cabinet' AS item_type, cabinets.manual_unit_price AS price, cabinets.name AS title FROM cabinets\n              UNION\n                SELECT items.id AS id, items.number AS code, 'item' AS item_type, items.price AS price, items.item_title AS title FROM items\n              UNION\n                SELECT wd.id AS id, wd.wall_door_code AS code, 'wall_door' AS item_type, wd.wall_door_price_each AS price, wd.door_style AS title FROM doors wd WHERE wd.wall_door_code IS NOT NULL AND wd.wall_door_code != ''\n              UNION\n                SELECT d.id AS id, d.drawer_code AS code, 'drawer' AS item_type, d.drawer_price_each AS price, d.door_style AS title FROM doors d WHERE d.drawer_code IS NOT NULL AND d.drawer_code != ''\n              UNION\n                SELECT door.id AS id, door.door_code AS code, 'door' AS item_type, door.door_price_each AS price, door.door_style AS title FROM doors door WHERE door.door_code IS NOT NULL AND door.door_code != ''";
     $result = $item->query($query);
     $list = array();
     $title_list = array();
     $price_list = array();
     foreach ($result as $row) {
         $list["{$row[0]['id']}|{$row[0]['item_type']}"] = $row[0]['code'];
         $price_list["{$row[0]['id']}|{$row[0]['item_type']}"] = $row[0]['price'];
         $title_list["{$row[0]['id']}|{$row[0]['item_type']}"] = $row[0]['title'];
     }
     return array('main_list' => $list, 'price_list' => $price_list, 'title_list' => $title_list);
 }
 function getItemOption()
 {
     App::uses('Sanitize', 'Utility');
     App::uses("Item", "Inventory.Model");
     $item = new Item();
     $query = "SELECT items.id AS id, items.item_title AS code, 'item' AS item_type, items.price AS price, items.item_title AS title\n                FROM items\n                LEFT JOIN `items_options` `items_options` ON `items_options`.item_id = items.id AND items.base_item = 0\n                WHERE `items_options`.inventory_lookup_id = 117";
     $item_list = $item->query($query);
     $return_data = array();
     $index = 0;
     foreach ($item_list as $id => $val) {
         if ($val) {
             $return_data[$val['items']['id']] = $val['items']['code'];
             //                $return_data[$index]['text'] = $val['items']['code'];
             $index++;
         }
     }
     //pr($return_data);
     return $return_data;
 }
 function get_item_accessories()
 {
     App::uses('Sanitize', 'Utility');
     $item_title = Sanitize::escape($this->request->query['term']);
     App::import("Model", "Inventory.Item");
     $item = new Item();
     $query = "SELECT items.id AS id, items.item_title AS code, 'item' AS item_type, items.price AS price, items.item_title AS title\n                FROM items\n                LEFT JOIN `item_departments` `item_departments` ON `item_departments`.id = items.item_department_id\n                WHERE `item_departments`.id = 3 AND items.item_title LIKE '%{$item_title}%' ORDER BY items.item_title ASC";
     $item_list = $item->query($query);
     $return_data = array();
     $index = 0;
     foreach ($item_list as $id => $val) {
         if ($val) {
             $return_data[$index]['id'] = $val['items']['id'];
             $return_data[$index]['text'] = $val['items']['code'];
             $item_detail = $item->find("first", array('conditions' => array('Item.id' => $val['items']['id']), 'limit' => 1));
             $return_data[$index]['detail'] = $item_detail['Item'];
             $index++;
         }
     }
     print json_encode($return_data);
     exit;
 }