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:
Luca Haid
2025-01-29 13:06:21 +00:00
2 changed files with 96 additions and 7 deletions

View File

@@ -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)) {