mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-25 00:24:35 +00:00
Added Cronjob to automatically add direct groups to schedule
This commit is contained in:
@@ -11,4 +11,14 @@ class Lehreinheitgruppe_model extends DB_Model
|
||||
$this->dbTable = 'lehre.tbl_lehreinheitgruppe';
|
||||
$this->pk = 'lehreinheitgruppe_id';
|
||||
}
|
||||
|
||||
public function getDirectGroup($lehreinheit_id)
|
||||
{
|
||||
$this->addJoin('public.tbl_gruppe', 'gruppe_kurzbz');
|
||||
return $this->loadWhere(array(
|
||||
'tbl_gruppe.direktinskription' => true,
|
||||
'lehreinheit_id' => $lehreinheit_id
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ class Studiensemester_model extends DB_Model
|
||||
*/
|
||||
public function getAusbildungssemesterByStudiensemesterAndStudiengang($studiensemester_kurzbz, $studiengang_kz)
|
||||
{
|
||||
$query = "SELECT DISTINCT semester
|
||||
$query = "SELECT DISTINCT semester
|
||||
FROM lehre.tbl_studienplan
|
||||
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
|
||||
JOIN lehre.tbl_studienplan_semester USING(studienplan_id)
|
||||
@@ -131,9 +131,9 @@ class Studiensemester_model extends DB_Model
|
||||
if (date_format(date_create($from), 'Y-m-d') > (date_format(date_create($to), 'Y-m-d')))
|
||||
return success(array());
|
||||
|
||||
$query = "SELECT *
|
||||
$query = "SELECT *
|
||||
FROM public.tbl_studiensemester
|
||||
WHERE
|
||||
WHERE
|
||||
(ende > ?::date AND start < ?::date)
|
||||
OR start = ?::date
|
||||
OR ende = ?::date
|
||||
@@ -141,4 +141,19 @@ class Studiensemester_model extends DB_Model
|
||||
|
||||
return $this->execQuery($query, array($from, $to, $from, $to));
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert das Studiensemester das aktuell am naehesten zu $studiensemester_kurzbz liegt
|
||||
*
|
||||
* @param $studiensemester_kurzbz
|
||||
* @return array | null
|
||||
*/
|
||||
public function getNearestFrom($studiensemester_kurzbz)
|
||||
{
|
||||
$query = "SELECT studiensemester_kurzbz, start, ende FROM public.vw_studiensemester
|
||||
WHERE studiensemester_kurzbz <> ?
|
||||
ORDER BY delta LIMIT 1";
|
||||
|
||||
return $this->execQuery($query, array($studiensemester_kurzbz));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,4 +11,54 @@ class Stundenplandev_model extends DB_Model
|
||||
$this->dbTable = 'lehre.tbl_stundenplandev';
|
||||
$this->pk = 'stundenplandev_id';
|
||||
}
|
||||
|
||||
public function getMissingDirectGroups($studiensemester_kurzbz = null)
|
||||
{
|
||||
$qry = "
|
||||
SELECT
|
||||
distinct lehreinheit_id, datum, stunde, mitarbeiter_uid, ort_kurzbz
|
||||
FROM
|
||||
lehre.tbl_stundenplandev stpl
|
||||
WHERE
|
||||
lehreinheit_id IN(
|
||||
SELECT
|
||||
lehreinheit_id
|
||||
FROM
|
||||
lehre.tbl_lehreinheit
|
||||
JOIN lehre.tbl_lehreinheitgruppe USING(lehreinheit_id)
|
||||
JOIN public.tbl_gruppe USING(gruppe_kurzbz)
|
||||
WHERE
|
||||
tbl_gruppe.direktinskription = true
|
||||
";
|
||||
|
||||
$parametersArray = array();
|
||||
|
||||
if (!is_null($studiensemester_kurzbz))
|
||||
{
|
||||
$parametersArray[] = $studiensemester_kurzbz;
|
||||
$qry .= ' AND tbl_lehreinheit.studiensemester_kurzbz = ?';
|
||||
}
|
||||
$qry .= ")
|
||||
AND NOT EXISTS(
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
lehre.tbl_stundenplandev
|
||||
WHERE
|
||||
datum=stpl.datum
|
||||
AND stunde=stpl.stunde
|
||||
AND lehreinheit_id=stpl.lehreinheit_id
|
||||
AND gruppe_kurzbz=(SELECT
|
||||
gruppe_kurzbz
|
||||
FROM
|
||||
lehre.tbl_lehreinheitgruppe
|
||||
JOIN public.tbl_gruppe USING(gruppe_kurzbz)
|
||||
WHERE
|
||||
lehreinheit_id=stpl.lehreinheit_id
|
||||
AND tbl_gruppe.direktinskription = true
|
||||
)
|
||||
)";
|
||||
|
||||
return $this->execQuery($qry, $parametersArray);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user