Added termination status filter to Order

This commit is contained in:
Frank Schubert
2021-09-14 23:24:33 +02:00
parent b450203b06
commit b6f3f94bce
5 changed files with 82 additions and 8 deletions

View File

@@ -149,6 +149,8 @@ class OrderModel {
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)
LEFT JOIN Terminationstatus ON (Terminationstatus.id = Termination.status_id)
LEFT JOIN Buildingstatus ON (Buildingstatus.id = Building.status_id)
WHERE $where
GROUP BY `Order`.id)
as o";
@@ -177,6 +179,9 @@ class OrderModel {
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)
LEFT JOIN Terminationstatus ON (Terminationstatus.id = Termination.status_id)
LEFT JOIN Buildingstatus ON (Buildingstatus.id = Building.status_id)
WHERE $where
GROUP BY `Order`.id
ORDER BY `Order`.order_date ASC";
@@ -284,6 +289,60 @@ class OrderModel {
$where .= " AND Building.street LIKE '%$street%'";
}
}
var_dump($filter['building_status_code']);
if(array_key_exists("building_status_code", $filter)) {
if(in_array(substr($filter['building_status_code'], 0, 2), ["<=", ">="])) {
$op = substr($filter['building_status_code'], 0, 2);
$status = substr($filter['building_status_code'], 2);
} elseif(in_array(substr($filter['building_status_code'], 0, 1), ["<", ">"])) {
$op = substr($filter['building_status_code'], 0, 1);
$status = substr($filter['building_status_code'], 1);
} else {
$op = "=";
$status = $filter['building_status_code'];
}
//var_dump($op, $status);exit;
if(is_numeric($status)) {
$where .= " AND Buildingstatus.code $op $status";
} else {
// get code of statusname
$code = BuildingstatusModel::getOne(["name" => $status]);
if($code) {
$status = FronkDB::singleton()->escape($status);
$where .= " AND Buildingstatus.code $op '$status'";
}
}
}
//var_dump($filter['termination_status_code']);
if(array_key_exists("termination_status_code", $filter)) {
if(in_array(substr($filter['termination_status_code'], 0, 2), ["<=", ">="])) {
$op = substr($filter['termination_status_code'], 0, 2);
$status = substr($filter['termination_status_code'], 2);
} elseif(in_array(substr($filter['termination_status_code'], 0, 1), ["<", ">"])) {
$op = substr($filter['termination_status_code'], 0, 1);
$status = substr($filter['termination_status_code'], 1);
} else {
$op = "=";
$status = $filter['termination_status_code'];
}
//var_dump($op, $status);exit;
if(is_numeric($status)) {
$where .= " AND Terminationstatus.code $op $status";
} else {
// get code of statusname
$code = TerminationstatusModel::getOne(["name" => $status]);
if($code) {
$status = FronkDB::singleton()->escape($status);
$where .= " AND Terminationstatus.code $op '$status'";
}
}
}
//var_dump($filter, $where);exit;
return $where;