mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-23 18:02:18 +00:00
Merge branch 'master' into feature-25177/ZeiterfassungMergedBrancheDeploy1
This commit is contained in:
+14
-10
@@ -967,19 +967,23 @@ class konto extends basis_db
|
||||
|
||||
public function checkDoppelteBuchung($person_ids, $stsem, $typ)
|
||||
{
|
||||
$qry = "SELECT betrag
|
||||
FROM public.tbl_konto
|
||||
WHERE person_id IN (".$this->implode4SQL(array_filter($person_ids)).")
|
||||
AND studiensemester_kurzbz = ".$this->db_add_param($stsem)."
|
||||
AND buchungstyp_kurzbz = ".$this->db_add_param($typ)."
|
||||
GROUP BY buchungsnr";
|
||||
$qry = "SELECT person.vorname, person.nachname
|
||||
FROM public.tbl_konto konto
|
||||
JOIN public.tbl_person person USING(person_id)
|
||||
WHERE konto.person_id IN (".$this->implode4SQL(array_filter($person_ids)).")
|
||||
AND studiensemester_kurzbz = ".$this->db_add_param($stsem)."
|
||||
AND buchungstyp_kurzbz = ".$this->db_add_param($typ)."
|
||||
GROUP BY person.vorname, person.nachname
|
||||
ORDER BY person.nachname, person.vorname";
|
||||
|
||||
if ($result = $this->db_query($qry))
|
||||
{
|
||||
if ($this->db_num_rows($result) > 0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
$persons = array();
|
||||
while ($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$persons[] = $row->nachname . ' ' . $row->vorname;
|
||||
}
|
||||
return $persons;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -2776,5 +2776,90 @@ class lehrveranstaltung extends basis_db
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob die Lehrveranstaltungen in dem Studiensemestern angeboten wird.
|
||||
* Dazu wird geprueft ob die LVs einem aktuellen Studienplan zugeordnet ist und ob ein Lehrauftrag vorhanden ist.
|
||||
*
|
||||
* @param $lehrveranstaltung_id
|
||||
* @param $studiensemester_kurzbz
|
||||
* @return array
|
||||
*/
|
||||
public function getOfferedSemester($lehrveranstaltung_id, $studiensemester_kurzbz)
|
||||
{
|
||||
$qry = "SELECT
|
||||
DISTINCT(studiensemester_kurzbz)
|
||||
FROM
|
||||
lehre.tbl_lehreinheit
|
||||
WHERE lehrveranstaltung_id = ".$this->db_add_param($lehrveranstaltung_id)."
|
||||
AND studiensemester_kurzbz IN (".$this->db_implode4SQL($studiensemester_kurzbz).")
|
||||
AND EXISTS (
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
lehre.tbl_studienplan_lehrveranstaltung
|
||||
JOIN lehre.tbl_studienplan_semester USING(studienplan_id)
|
||||
WHERE
|
||||
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id)."
|
||||
AND studiensemester_kurzbz IN (".$this->db_implode4SQL($studiensemester_kurzbz).")
|
||||
)";
|
||||
|
||||
$studiensemester = [];
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$studiensemester[] = $row;
|
||||
}
|
||||
return $studiensemester;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob die Lehrveranstaltungen in den gewaehlten Studiensemestern angeboten wird.
|
||||
* Dazu wird geprueft ob die LVs einem aktuellen Studienplan zugeordnet ist, und ob ein Lehrauftrag vorhanden ist.
|
||||
*
|
||||
* @param $lehrveranstaltung_id
|
||||
* @param $studiensemester_kurzbz
|
||||
* @return array
|
||||
*/
|
||||
public function getOfferedLVs($lehrveranstaltung_id, $studiensemester_kurzbz)
|
||||
{
|
||||
$qry = "SELECT
|
||||
DISTINCT(tbl_lehreinheit.lehrveranstaltung_id)
|
||||
FROM
|
||||
lehre.tbl_lehreinheit
|
||||
WHERE tbl_lehreinheit.lehrveranstaltung_id IN (".$this->db_implode4SQL($lehrveranstaltung_id).")
|
||||
AND tbl_lehreinheit.studiensemester_kurzbz IN (".$this->db_implode4SQL($studiensemester_kurzbz).")
|
||||
AND EXISTS (
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
lehre.tbl_studienplan_lehrveranstaltung
|
||||
JOIN lehre.tbl_studienplan_semester USING(studienplan_id)
|
||||
WHERE
|
||||
tbl_lehreinheit.lehrveranstaltung_id IN (".$this->db_implode4SQL($lehrveranstaltung_id).")
|
||||
AND tbl_lehreinheit.studiensemester_kurzbz IN (".$this->db_implode4SQL($studiensemester_kurzbz).")
|
||||
)";
|
||||
|
||||
$lehrveranstaltungen = [];
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$lehrveranstaltungen[] = $row;
|
||||
}
|
||||
return $lehrveranstaltungen;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -1749,5 +1749,33 @@ class mitarbeiter extends benutzer
|
||||
}
|
||||
}
|
||||
|
||||
public function getMitarbeiterKostenstelle($von, $bis, $uid = null)
|
||||
{
|
||||
if (is_null($uid))
|
||||
$uid = $this->uid;
|
||||
|
||||
$qry = "
|
||||
SELECT o.oe_kurzbz AS standardkostenstelle, o.bezeichnung
|
||||
FROM public.tbl_benutzerfunktion bf
|
||||
JOIN public.tbl_organisationseinheit o USING(oe_kurzbz)
|
||||
WHERE bf.funktion_kurzbz = 'kstzuordnung'
|
||||
AND (bf.datum_bis IS NULL OR datum_bis >= ". $this->db_add_param($von). ")
|
||||
AND (bf.datum_von IS NULL OR datum_von <= ". $this->db_add_param($bis). ")
|
||||
AND bf.uid = ". $this->db_add_param($uid);
|
||||
|
||||
if ($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new StdClass();
|
||||
$obj->oekurzbz = $row->standardkostenstelle;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
|
||||
$this->result []= $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -938,5 +938,42 @@ class organisationseinheit extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public function getOERoot($oe_kurzbz)
|
||||
{
|
||||
$qry = '
|
||||
WITH RECURSIVE organizations(rid, oe_kurzbz, oe_parent_kurzbz) AS
|
||||
(
|
||||
SELECT 1 AS rid, o.oe_kurzbz, o.oe_parent_kurzbz
|
||||
FROM public.tbl_organisationseinheit o
|
||||
WHERE o.oe_kurzbz = '. $this->db_add_param($oe_kurzbz). '
|
||||
UNION ALL
|
||||
SELECT rid + 1 AS rid, oe.oe_kurzbz, oe.oe_parent_kurzbz
|
||||
FROM organizations org, public.tbl_organisationseinheit oe
|
||||
WHERE oe.oe_kurzbz = org.oe_parent_kurzbz
|
||||
AND oe.aktiv = TRUE
|
||||
)
|
||||
SELECT oe_kurzbz
|
||||
FROM organizations orgs
|
||||
ORDER BY rid DESC
|
||||
LIMIT 1
|
||||
';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->oe_kurzbz = $row->oe_kurzbz;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Organisationseinheiten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -588,7 +588,7 @@ class prestudent extends person
|
||||
|
||||
AND
|
||||
status_kurzbz = 'Interessent'
|
||||
AND
|
||||
AND
|
||||
NOT EXISTS (
|
||||
SELECT 1 FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_prestudent.prestudent_id AND status_kurzbz='Abgewiesener'
|
||||
)";
|
||||
@@ -2327,51 +2327,51 @@ class prestudent extends person
|
||||
* false wenn nicht vorhanden
|
||||
* false und errormsg wenn Fehler aufgetreten ist
|
||||
*/
|
||||
public function existsZGVIntern($person_id)
|
||||
{
|
||||
if (!is_numeric($person_id))
|
||||
{
|
||||
$this->errormsg = 'Person_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
public function existsZGVIntern($person_id)
|
||||
{
|
||||
if (!is_numeric($person_id))
|
||||
{
|
||||
$this->errormsg = 'Person_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT count(*) as anzahl FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_studiengang USING (studiengang_kz)
|
||||
WHERE person_id = ".$this->db_add_param($person_id, FHC_INTEGER)."
|
||||
AND status_kurzbz in ('Absolvent','Diplomand','Unterbrecher','Student')
|
||||
AND typ = 'b'
|
||||
AND get_rolle_prestudent(prestudent_id, null) != 'Abbrecher';";
|
||||
|
||||
$qry = "SELECT count(*) as anzahl FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_studiengang USING (studiengang_kz)
|
||||
WHERE person_id = ".$this->db_add_param($person_id, FHC_INTEGER)."
|
||||
AND status_kurzbz in ('Absolvent','Diplomand','Unterbrecher','Student')
|
||||
AND typ in ('b','m','d')";
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
if ($row = $this->db_fetch_object())
|
||||
{
|
||||
if ($row->anzahl > 0)
|
||||
{
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = '';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
if ($row = $this->db_fetch_object())
|
||||
{
|
||||
if ($row->anzahl > 0)
|
||||
{
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = '';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Befüllt MasterZGV-Felder: Nation mit Österreich und MasterZGV-code mit FH-Bachelor(I)
|
||||
* @param int $person_id Personenkennzeichen.
|
||||
|
||||
@@ -60,6 +60,9 @@ class reihungstest extends basis_db
|
||||
public $anmeldedatum; // date
|
||||
public $teilgenommen; // boolean
|
||||
public $punkte; // numeric
|
||||
|
||||
public $zugangs_ueberpruefung = false; //boolean
|
||||
public $zugangscode; //smallint
|
||||
|
||||
|
||||
/**
|
||||
@@ -114,6 +117,8 @@ class reihungstest extends basis_db
|
||||
$this->stufe = $row->stufe;
|
||||
$this->anmeldefrist = $row->anmeldefrist;
|
||||
$this->aufnahmegruppe_kurzbz = $row->aufnahmegruppe_kurzbz;
|
||||
$this->zugangs_ueberpruefung = $this->db_parse_bool($row->zugangs_ueberpruefung);
|
||||
$this->zugangscode = $row->zugangscode;
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -229,7 +234,7 @@ class reihungstest extends basis_db
|
||||
|
||||
$qry = 'BEGIN; INSERT INTO public.tbl_reihungstest (studiengang_kz, ort_kurzbz, anmerkung, datum, uhrzeit,
|
||||
insertamum, insertvon, updateamum, updatevon, max_teilnehmer, oeffentlich, freigeschaltet,
|
||||
studiensemester_kurzbz, stufe, anmeldefrist, aufnahmegruppe_kurzbz) VALUES('.
|
||||
studiensemester_kurzbz, stufe, anmeldefrist, aufnahmegruppe_kurzbz, zugangs_ueberpruefung, zugangscode) VALUES('.
|
||||
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->ort_kurzbz).', '.
|
||||
$this->db_add_param($this->anmerkung).', '.
|
||||
@@ -243,7 +248,9 @@ class reihungstest extends basis_db
|
||||
$this->db_add_param($this->studiensemester_kurzbz).','.
|
||||
$this->db_add_param($this->stufe, FHC_INTEGER).','.
|
||||
$this->db_add_param($this->anmeldefrist).','.
|
||||
$this->db_add_param($this->aufnahmegruppe_kurzbz).');';
|
||||
$this->db_add_param($this->aufnahmegruppe_kurzbz). ',' .
|
||||
$this->db_add_param($this->zugangs_ueberpruefung, FHC_BOOLEAN).','.
|
||||
$this->db_add_param($this->zugangscode) . ');';
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -261,7 +268,9 @@ class reihungstest extends basis_db
|
||||
'studiensemester_kurzbz='.$this->db_add_param($this->studiensemester_kurzbz).', '.
|
||||
'stufe='.$this->db_add_param($this->stufe, FHC_INTEGER).', '.
|
||||
'anmeldefrist='.$this->db_add_param($this->anmeldefrist).', '.
|
||||
'aufnahmegruppe_kurzbz='.$this->db_add_param($this->aufnahmegruppe_kurzbz).' '.
|
||||
'aufnahmegruppe_kurzbz='.$this->db_add_param($this->aufnahmegruppe_kurzbz).', '.
|
||||
'zugangs_ueberpruefung='.$this->db_add_param($this->zugangs_ueberpruefung, FHC_BOOLEAN).', '.
|
||||
'zugangscode='.$this->db_add_param($this->zugangscode).' '.
|
||||
'WHERE reihungstest_id='.$this->db_add_param($this->reihungstest_id, FHC_INTEGER, false).';';
|
||||
}
|
||||
|
||||
|
||||
@@ -525,7 +525,7 @@ class statistik extends basis_db
|
||||
foreach($_REQUEST as $name=>$value)
|
||||
{
|
||||
// Inputs, die in eckigen Klammern stehen, werden als Array interpretiert
|
||||
if (substr($value, 0, 1) == '[' && substr($value, -1) == ']')
|
||||
if (is_string($value) && substr($value, 0, 1) == '[' && substr($value, -1) == ']')
|
||||
{
|
||||
//Eckige Klammern entfernen und String aufsplitten
|
||||
$value = substr($value, 1);
|
||||
|
||||
@@ -897,6 +897,8 @@ or not exists
|
||||
|
||||
foreach ($this->result as $row)
|
||||
{
|
||||
if($row->aktivitaet_kurzbz == 'DienstreiseMT' ) continue;
|
||||
|
||||
$datumtag = $datum->formatDatum($row->datum, 'Y-m-d');
|
||||
|
||||
if (($tagesbeginn == '' || $datum->mktime_fromtimestamp($datum->formatDatum($tagesbeginn, $format = 'Y-m-d H:i:s')) > $datum->mktime_fromtimestamp($datum->formatDatum($row->start, $format = 'Y-m-d H:i:s'))) && $row->aktivitaet_kurzbz != 'LehreExtern' && $row->aktivitaet_kurzbz != 'Ersatzruhe')
|
||||
|
||||
Reference in New Issue
Block a user