From 3a646ffe77b1078f4f8d6490ee693dba2d972bb7 Mon Sep 17 00:00:00 2001 From: Johann Hoffmann Date: Mon, 20 Apr 2026 11:06:06 +0200 Subject: [PATCH 1/3] adapt AbgabeJob relevant queries so they compare with the pgsql date function CURRENT_DATE instead of NOW() to avoid the cutoff from uploads the happened "yesterday but more than 24 hours ago"; also added another "abgabedatum < CURRENT_DATE" condition, to avoid sending this exact case as updates 2 days in a row; --- application/models/education/Paabgabe_model.php | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/application/models/education/Paabgabe_model.php b/application/models/education/Paabgabe_model.php index be42b7660..d59b7cf62 100644 --- a/application/models/education/Paabgabe_model.php +++ b/application/models/education/Paabgabe_model.php @@ -79,10 +79,16 @@ class Paabgabe_model extends DB_Model JOIN public.tbl_benutzer ON (public.tbl_benutzer.uid = student_uid) JOIN public.tbl_person USING (person_id) - WHERE (campus.tbl_paabgabe.insertamum >= NOW() - INTERVAL ? - OR campus.tbl_paabgabe.updateamum >= NOW() - INTERVAL ?) - AND campus.tbl_paabgabe.paabgabetyp_kurzbz IN ?"; - + WHERE ( + (campus.tbl_paabgabe.insertamum >= CURRENT_DATE - INTERVAL ? + AND campus.tbl_paabgabe.insertamum < CURRENT_DATE + ) + OR + (campus.tbl_paabgabe.updateamum >= CURRENT_DATE - INTERVAL ? + AND campus.tbl_paabgabe.updateamum < CURRENT_DATE + ) + AND campus.tbl_paabgabe.paabgabetyp_kurzbz IN ?"; + return $this->execQuery($query, [$interval, $interval, $relevantTypes]); } @@ -108,7 +114,8 @@ class Paabgabe_model extends DB_Model JOIN public.tbl_person ON (public.tbl_benutzer.person_id = public.tbl_person.person_id) WHERE campus.tbl_paabgabe.abgabedatum IS NOT NULL - AND campus.tbl_paabgabe.abgabedatum >= NOW() - INTERVAL ?"; + AND campus.tbl_paabgabe.abgabedatum >= CURRENT_DATE - INTERVAL ? + AND campus.tbl_paabgabe.abgabedatum < CURRENT_DATE"; if($relevantTypes !== null) { $query .= " AND campus.tbl_paabgabe.paabgabetyp_kurzbz IN ?"; From 5beddbccb431ecf97dab5a362e6c26723a32ca20 Mon Sep 17 00:00:00 2001 From: Johann Hoffmann Date: Tue, 21 Apr 2026 14:18:45 +0200 Subject: [PATCH 2/3] changed the where clause to a simpler = CURRENT_DATE comparison -> works the same if the job runs daily and fetches updates of one day/date; has to be changed back in case we want to find updates in a range larger than 1 day in an interval larger than 1 day; --- application/models/education/Paabgabe_model.php | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/application/models/education/Paabgabe_model.php b/application/models/education/Paabgabe_model.php index d59b7cf62..972b4cdc6 100644 --- a/application/models/education/Paabgabe_model.php +++ b/application/models/education/Paabgabe_model.php @@ -79,14 +79,8 @@ class Paabgabe_model extends DB_Model JOIN public.tbl_benutzer ON (public.tbl_benutzer.uid = student_uid) JOIN public.tbl_person USING (person_id) - WHERE ( - (campus.tbl_paabgabe.insertamum >= CURRENT_DATE - INTERVAL ? - AND campus.tbl_paabgabe.insertamum < CURRENT_DATE - ) - OR - (campus.tbl_paabgabe.updateamum >= CURRENT_DATE - INTERVAL ? - AND campus.tbl_paabgabe.updateamum < CURRENT_DATE - ) + WHERE campus.tbl_paabgabe.insertamum::date = CURRENT_DATE - INTERVAL ? + OR campus.tbl_paabgabe.updateamum::date = CURRENT_DATE - INTERVAL ? AND campus.tbl_paabgabe.paabgabetyp_kurzbz IN ?"; return $this->execQuery($query, [$interval, $interval, $relevantTypes]); @@ -114,8 +108,7 @@ class Paabgabe_model extends DB_Model JOIN public.tbl_person ON (public.tbl_benutzer.person_id = public.tbl_person.person_id) WHERE campus.tbl_paabgabe.abgabedatum IS NOT NULL - AND campus.tbl_paabgabe.abgabedatum >= CURRENT_DATE - INTERVAL ? - AND campus.tbl_paabgabe.abgabedatum < CURRENT_DATE"; + AND campus.tbl_paabgabe.abgabedatum = CURRENT_DATE - INTERVAL ?"; if($relevantTypes !== null) { $query .= " AND campus.tbl_paabgabe.paabgabetyp_kurzbz IN ?"; From 85043e57db44324d17e912a7fde408e98869f4e4 Mon Sep 17 00:00:00 2001 From: Johann Hoffmann Date: Tue, 21 Apr 2026 17:00:07 +0200 Subject: [PATCH 3/3] added missing parenthesis --- application/models/education/Paabgabe_model.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/application/models/education/Paabgabe_model.php b/application/models/education/Paabgabe_model.php index 972b4cdc6..99b9b75f1 100644 --- a/application/models/education/Paabgabe_model.php +++ b/application/models/education/Paabgabe_model.php @@ -79,8 +79,8 @@ class Paabgabe_model extends DB_Model JOIN public.tbl_benutzer ON (public.tbl_benutzer.uid = student_uid) JOIN public.tbl_person USING (person_id) - WHERE campus.tbl_paabgabe.insertamum::date = CURRENT_DATE - INTERVAL ? - OR campus.tbl_paabgabe.updateamum::date = CURRENT_DATE - INTERVAL ? + WHERE (campus.tbl_paabgabe.insertamum::date = CURRENT_DATE - INTERVAL ? + OR campus.tbl_paabgabe.updateamum::date = CURRENT_DATE - INTERVAL ?) AND campus.tbl_paabgabe.paabgabetyp_kurzbz IN ?"; return $this->execQuery($query, [$interval, $interval, $relevantTypes]);