Merge branch 'add-preorder-filter' into 'master'
Added new Preorder Filter and Filter-Presets See merge request fronk/thetool!957
This commit is contained in:
@@ -416,6 +416,7 @@ class PreorderModel {
|
||||
LEFT JOIN `".FRONKDB_DBNAME."`.Preorderstatus tt_preorderstatus ON (tt_preorder.status_id = tt_preorderstatus.id)
|
||||
LEFT JOIN `".ADDRESSDB_DBNAME."`.view_hausnummer as adb_hausnummer ON (tt_preorder.adb_hausnummer_id = adb_hausnummer.hausnummer_id)
|
||||
LEFT JOIN `".ADDRESSDB_DBNAME."`.Wohneinheit as adb_wohneinheit ON (tt_preorder.adb_wohneinheit_id = adb_wohneinheit.id)
|
||||
|
||||
LEFT OUTER JOIN (SELECT adb_wohneinheit_id, count(*) cnt, MAX(rimo_status) as rimo_status, MAX(rimo_name) as rimo_name, MAX(rimo_team_name) as rimo_team_name, MAX(rimo_team_id) as rimo_team_id FROM `".FRONKDB_DBNAME."`.RimoWorkorder GROUP BY adb_wohneinheit_id) workorder ON adb_wohneinheit.id = workorder.adb_wohneinheit_id
|
||||
WHERE $where
|
||||
ORDER BY lastname, firstname
|
||||
@@ -500,6 +501,31 @@ class PreorderModel {
|
||||
$where .= " AND tt_preorder.status_id > $status_id";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("preorder_status_flags", $filter)) {
|
||||
$preorder_status_flags = $filter['preorder_status_flags'];
|
||||
if (is_array($preorder_status_flags) && count($preorder_status_flags)) {
|
||||
$where .= " AND tt_preorder.id IN (
|
||||
SELECT psv.preorder_id
|
||||
FROM `".FRONKDB_DBNAME."`.PreorderStatusflagValue psv
|
||||
WHERE psv.flag_id IN (" . implode(',', $preorder_status_flags) . ")
|
||||
AND psv.value = 1
|
||||
GROUP BY psv.preorder_id
|
||||
HAVING COUNT(DISTINCT psv.flag_id) = " . count($preorder_status_flags) . "
|
||||
)";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("created_from", $filter)) {
|
||||
$created_from = $filter['created_from'];
|
||||
if(is_numeric($created_from)) {
|
||||
// use mysql function for the date (column is unix epoch)
|
||||
$created_from_epoch = time() - $created_from * 86400;
|
||||
// var_dump($created_from_epoch);
|
||||
// die();
|
||||
$where .= " AND FROM_UNIXTIME(tt_preorder.create) >= FROM_UNIXTIME($created_from_epoch)";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(array_key_exists("status_code", $filter)) {
|
||||
|
||||
Reference in New Issue
Block a user