Added Filter to Order/Index
This commit is contained in:
@@ -91,6 +91,19 @@ class OrderModel {
|
||||
return null;
|
||||
}
|
||||
|
||||
public static function byProduct($filter) {
|
||||
|
||||
|
||||
|
||||
$sql = "SELECT Order.id as order_id, * FROM `Order`
|
||||
LEFT JOIN OrderProduct ON (OrderProduct.order_id = `Order`.id)
|
||||
LEFT JOIN Product ON (Product.id = OrderProduct.product_id)
|
||||
WHERE
|
||||
GROUP BY `Order`.id
|
||||
|
||||
";
|
||||
}
|
||||
|
||||
public static function byNetwork($network_id) {
|
||||
if(!is_numeric($network_id) || !$network_id) {
|
||||
return false;
|
||||
@@ -124,31 +137,28 @@ class OrderModel {
|
||||
$db = FronkDB::singleton();
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$have = [];
|
||||
$sql = "SELECT `Order`.* FROM `Order`, OrderProduct
|
||||
/*$sql = "SELECT `Order`.* FROM `Order`, OrderProduct
|
||||
WHERE OrderProduct.order_id = `Order`.id
|
||||
AND $where
|
||||
GROUP BY OrderProduct.order_id
|
||||
ORDER BY id
|
||||
";
|
||||
";*/
|
||||
$sql = "SELECT `Order`.id as order_id, `Order`.* FROM `Order`
|
||||
LEFT JOIN OrderProduct ON (OrderProduct.order_id = `Order`.id)
|
||||
LEFT JOIN Product ON (Product.id = OrderProduct.product_id)
|
||||
LEFT JOIN Termination ON (Termination.id = OrderProduct.termination_id)
|
||||
LEFT JOIN Building ON (Building.id = Termination.building_id)
|
||||
WHERE $where
|
||||
GROUP BY `Order`.id";
|
||||
//var_dump($sql);exit;
|
||||
mfLoghandler::singleton()->debug($sql);
|
||||
$res = $db->query($sql);
|
||||
if($db->num_rows($res)) {
|
||||
while($data = $db->fetch_object($res)) {
|
||||
$items[] = new Order($data);
|
||||
$have[] = $data->id;
|
||||
}
|
||||
}
|
||||
|
||||
if(count($have)) {
|
||||
$res = $db->select("Order", "*", "$where AND id NOT IN (".implode(",", $have).") ORDER BY id");
|
||||
} else {
|
||||
$res = $db->select("Order", "*", "$where ORDER BY id");
|
||||
}
|
||||
if($db->num_rows($res)) {
|
||||
while($data = $db->fetch_object($res)) {
|
||||
$items[] = new Order($data);
|
||||
}
|
||||
}
|
||||
|
||||
return $items;
|
||||
}
|
||||
@@ -178,7 +188,54 @@ class OrderModel {
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("productgroup_id", $filter)) {
|
||||
$productgroup_id = $filter['productgroup_id'];
|
||||
if(is_numeric($productgroup_id)) {
|
||||
$where .= " AND Product.productgroup_id=$productgroup_id";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("termination_id", $filter)) {
|
||||
$termination_id = $filter['termination_id'];
|
||||
if(is_numeric($termination_id)) {
|
||||
$where .= " AND Product.termination_id=$termination_id";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("network_id", $filter)) {
|
||||
$network_id = $filter['network_id'];
|
||||
if(is_numeric($network_id)) {
|
||||
$where .= " AND Building.network_id=$network_id";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("building_networksection_id", $filter)) {
|
||||
$networksection_id = $filter['building_networksection_id'];
|
||||
if(is_numeric($networksection_id)) {
|
||||
$where .= " AND Building.networksection_id=$networksection_id";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("building_code", $filter)) {
|
||||
$code = FronkDB::singleton()->escape($filter['building_code']);
|
||||
if($code) {
|
||||
$where .= " AND Building.code LIKE '%$code%'";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("building_status_id", $filter)) {
|
||||
$building_status_id = $filter['building_status_id'];
|
||||
if(is_numeric($building_status_id)) {
|
||||
$where .= " AND Building.status_id=$building_status_id";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("building_street", $filter)) {
|
||||
$street = FronkDB::singleton()->escape($filter['building_street']);
|
||||
if($street) {
|
||||
$where .= " AND Building.street LIKE '%$street%'";
|
||||
}
|
||||
}
|
||||
|
||||
//var_dump($filter, $where);exit;
|
||||
return $where;
|
||||
|
||||
Reference in New Issue
Block a user