mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
d0a0d0e4d9
Fehler behoben bei dem Personen nicht in der Übernahmeliste aufscheinen wenn diese sich bereits vorher für diesen Studiengang interessiert haben.
722 lines
25 KiB
PHP
722 lines
25 KiB
PHP
<?php
|
|
/* Copyright (C) 2006 Technikum-Wien
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as
|
|
* published by the Free Software Foundation; either version 2 of the
|
|
* License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
|
*
|
|
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
|
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
|
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
|
*/
|
|
require_once(dirname(__FILE__).'/basis_db.class.php');
|
|
require_once(dirname(__FILE__).'/datum.class.php');
|
|
|
|
class preinteressent extends basis_db
|
|
{
|
|
public $new; // boolean
|
|
public $result = array();
|
|
|
|
//Tabellenspalten
|
|
public $preinteressent_id; // serial
|
|
public $person_id;
|
|
public $studiensemester_kurzbz; // varchar(16)
|
|
public $aufmerksamdurch_kurzbz; // varchar(16)
|
|
public $firma_id; // integer
|
|
public $anmerkung; // text
|
|
public $erfassungsdatum; // date
|
|
public $einverstaendnis; // boolean
|
|
public $absagedatum; // timestamp
|
|
public $insertamum; // timestamp
|
|
public $insertvon; // varchar(16)
|
|
public $updateamum; // timestamp
|
|
public $updatevon; // varchar(16)
|
|
public $maturajahr; // numeric(4,0)
|
|
public $infozusendung; // date
|
|
public $kontaktmedium_kurzbz; // varchar(32)
|
|
|
|
public $studiengang_kz;
|
|
public $prioritaet; // smallint
|
|
public $prioritaet_arr = array('1'=>'niedrg', '2'=>'mittel', '3'=>'hoch');
|
|
public $freigabedatum; // timestamp
|
|
public $uebernahmedatum; // timestamp
|
|
|
|
/**
|
|
* Konstruktor
|
|
* @param preinteressent_id ID des zu ladenden Datensatzes
|
|
*/
|
|
public function __construct($preinteressent_id=null)
|
|
{
|
|
parent::__construct();
|
|
|
|
if($preinteressent_id != null)
|
|
$this->load($preinteressent_id);
|
|
}
|
|
|
|
/**
|
|
* Laedt einen Datensatz
|
|
* @param preinteressent_id ID des zu ladenden Datensatzes
|
|
*/
|
|
public function load($preinteressent_id)
|
|
{
|
|
//id auf Gueltigkeit pruefen
|
|
if(!is_numeric($preinteressent_id) || $preinteressent_id == '')
|
|
{
|
|
$this->errormsg = 'preinteressent_id muss eine gueltige Zahl sein';
|
|
return false;
|
|
}
|
|
|
|
//laden des Datensatzes
|
|
$qry = "SELECT * FROM public.tbl_preinteressent WHERE preinteressent_id=".$this->db_add_param($preinteressent_id, FHC_INTEGER).";";
|
|
|
|
if($this->db_query($qry))
|
|
{
|
|
if($row = $this->db_fetch_object())
|
|
{
|
|
$this->preinteressent_id = $row->preinteressent_id;
|
|
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
|
$this->aufmerksamdurch_kurzbz = $row->aufmerksamdurch_kurzbz;
|
|
$this->firma_id = $row->firma_id;
|
|
$this->anmerkung = $row->anmerkung;
|
|
$this->erfassungsdatum = $row->erfassungsdatum;
|
|
$this->einverstaendnis = $this->db_parse_bool($row->einverstaendnis);
|
|
$this->maturajahr = $row->maturajahr;
|
|
$this->infozusendung = $row->infozusendung;
|
|
$this->absagedatum = $row->absagedatum;
|
|
$this->person_id = $row->person_id;
|
|
$this->updateamum = $row->updateamum;
|
|
$this->updatevon = $row->updatevon;
|
|
$this->insertamum = $row->insertamum;
|
|
$this->insertvon = $row->insertvon;
|
|
$this->kontaktmedium_kurzbz = $row->kontaktmedium_kurzbz;
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
|
return false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Loescht einen Datensatz, erstellt einen UNDO Befehl
|
|
* und einen LOG Eintrag
|
|
* @param preinteressent_id ID des zu loeschenden Datensatzes
|
|
* @return true wenn ok, false im Fehlerfall
|
|
*/
|
|
public function delete($preinteressent_id)
|
|
{
|
|
//id auf Gueltigkeit pruefen
|
|
if(!is_numeric($preinteressent_id) || $preinteressent_id == '')
|
|
{
|
|
$this->errormsg = 'preinteressent_id muss eine gueltige Zahl sein';
|
|
return false;
|
|
}
|
|
$undo='';
|
|
//UNDO Befehl zusammenbauen
|
|
$this->db_query('BEGIN;');
|
|
|
|
$qry = "SELECT * FROM public.tbl_preinteressent WHERE preinteressent_id = ".$this->db_add_param($preinteressent_id, FHC_INTEGER);
|
|
if($this->db_query($qry))
|
|
{
|
|
if($row = $this->db_fetch_object())
|
|
{
|
|
$undo.=" INSERT INTO public.tbl_preinteressent(preinteressent_id, person_id, studiensemester_kurzbz,
|
|
aufmerksamdurch_kurzbz, firma_id, erfassungsdatum, einverstaendnis, absagedatum, anmerkung,
|
|
insertamum, insertvon, updateamum, updatevon, maturajahr, infozusendung, kontaktmedium_kurzbz) VALUES (".
|
|
$this->db_add_param($row->preinteressent_id, FHC_INTEGER).', '.
|
|
$this->db_add_param($row->person_id, FHC_INTEGER).', '.
|
|
$this->db_add_param($row->studiensemester_kurzbz).', '.
|
|
$this->db_add_param($row->aufmerksamdurch_kurzbz).', '.
|
|
$this->db_add_param($row->firma_id, FHC_INTEGER).', '.
|
|
$this->db_add_param($row->erfassungsdatum).', '.
|
|
$this->db_add_param($row->einverstaendnis, FHC_BOOLEAN).', '.
|
|
$this->db_add_param($row->absagedatum).', '.
|
|
$this->db_add_param($row->anmerkung).', '.
|
|
$this->db_add_param($row->insertamum).', '.
|
|
$this->db_add_param($row->insertvon).','.
|
|
$this->db_add_param($row->updateamum).', '.
|
|
$this->db_add_param($row->updatevon).', '.
|
|
$this->db_add_param($row->maturajahr).', '.
|
|
$this->db_add_param($row->infozusendung).', '.
|
|
$this->db_add_param($row->kontaktmedium_kurzbz).');';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$this->errormsg = 'Fehler beim Erstellen des UNDO Befehls';
|
|
$this->db_query('ROLLBACK');
|
|
return false;
|
|
}
|
|
|
|
|
|
$qry = "SELECT * FROM public.tbl_preinteressentstudiengang WHERE preinteressent_id=".$this->db_add_param($preinteressent_id, FHC_INTEGER);
|
|
if($this->db_query($qry))
|
|
{
|
|
while($row = $this->db_fetch_object())
|
|
{
|
|
$undo.=" INSERT INTO public.tbl_preinteressentstudiengang(studiengang_kz, preinteressent_id, prioritaet,
|
|
freigabedatum, uebernahmedatum, insertamum, insertvon, updateamum, updatevon) VALUES(".
|
|
$this->db_add_param($row->studiengang_kz, FHC_INTEGER).','.
|
|
$this->db_add_param($row->preinteressent_id, FHC_INTEGER).','.
|
|
$this->db_add_param($row->prioritaet).','.
|
|
$this->db_add_param($row->freigabedatum).','.
|
|
$this->db_add_param($row->uebernahmedatum).','.
|
|
$this->db_add_param($row->insertamum).','.
|
|
$this->db_add_param($row->insertvon).','.
|
|
$this->db_add_param($row->updateamum).','.
|
|
$this->db_add_param($row->updatevon).');';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$this->errormsg = 'Fehler beim Erstellen des UNDO Befehls';
|
|
$this->db_query('ROLLBACK');
|
|
return false;
|
|
}
|
|
|
|
$qry = "DELETE FROM public.tbl_preinteressentstudiengang WHERE preinteressent_id=".$this->db_add_param($preinteressent_id, FHC_INTEGER).";
|
|
DELETE FROM public.tbl_preinteressent WHERE preinteressent_id = ".$this->db_add_param($preinteressent_id, FHC_INTEGER).";";
|
|
|
|
if($this->db_query($qry))
|
|
{
|
|
//Log schreiben
|
|
$log = new log();
|
|
|
|
$log->new = true;
|
|
$log->sql = $qry;
|
|
$log->sqlundo = $undo;
|
|
$log->executetime = date('Y-m-d H:i:s');
|
|
$log->mitarbeiter_uid = get_uid();
|
|
$log->beschreibung = "Preinteressent loeschen - $preinteressent_id";
|
|
|
|
if(!$log->save())
|
|
{
|
|
$this->errormsg = 'Fehler beim Schreiben des Log-Eintrages';
|
|
$this->db_query('ROLLBACK');
|
|
return false;
|
|
}
|
|
|
|
$this->db_query('COMMIT;');
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
$this->errormsg = 'Fehler beim Loeschen der Daten';
|
|
$this->db_query('ROLLBACK');
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Prueft die Daten vor dem Speichern
|
|
* @return true wenn ok, false wenn fehler
|
|
*/
|
|
protected function validate()
|
|
{
|
|
if($this->person_id=='')
|
|
{
|
|
$this->errormsg = 'Person_id muss angegeben werden';
|
|
return false;
|
|
}
|
|
|
|
if($this->aufmerksamdurch_kurzbz=='')
|
|
{
|
|
$this->errormsg = 'Aufmerksamdurch muss angegeben werden';
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Speichert den aktuellen Datensatz
|
|
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
|
|
* andernfalls wird der Datensatz mit der ID in $preinteressent_id aktualisiert
|
|
* @return true wenn ok, false im Fehlerfall
|
|
*/
|
|
public function save($new=null)
|
|
{
|
|
if(!$this->validate())
|
|
return false;
|
|
if($new==null)
|
|
$new = $this->new;
|
|
|
|
if($new)
|
|
{
|
|
//Neuen Datensatz anlegen
|
|
$qry = "BEGIN;INSERT INTO public.tbl_preinteressent (studiensemester_kurzbz,
|
|
aufmerksamdurch_kurzbz, firma_id, anmerkung, erfassungsdatum, einverstaendnis, absagedatum,
|
|
maturajahr, infozusendung, person_id, updateamum, updatevon, insertamum, insertvon, kontaktmedium_kurzbz) VALUES (".
|
|
$this->db_add_param($this->studiensemester_kurzbz).', '.
|
|
$this->db_add_param($this->aufmerksamdurch_kurzbz).', '.
|
|
$this->db_add_param($this->firma_id, FHC_INTEGER).', '.
|
|
$this->db_add_param($this->anmerkung).', '.
|
|
$this->db_add_param($this->erfassungsdatum).', '.
|
|
$this->db_add_param($this->einverstaendnis, FHC_BOOLEAN).', '.
|
|
$this->db_add_param($this->absagedatum).', '.
|
|
$this->db_add_param($this->maturajahr).', '.
|
|
$this->db_add_param($this->infozusendung).', '.
|
|
$this->db_add_param($this->person_id, FHC_INTEGER).', '.
|
|
$this->db_add_param($this->updateamum).', '.
|
|
$this->db_add_param($this->updatevon).', '.
|
|
$this->db_add_param($this->insertamum).', '.
|
|
$this->db_add_param($this->insertvon).', '.
|
|
$this->db_add_param($this->kontaktmedium_kurzbz).');';
|
|
}
|
|
else
|
|
{
|
|
//Bestehenden Datensatz aktualisieren
|
|
$qry= "UPDATE public.tbl_preinteressent SET".
|
|
" studiensemester_kurzbz=".$this->db_add_param($this->studiensemester_kurzbz).",".
|
|
" aufmerksamdurch_kurzbz=".$this->db_add_param($this->aufmerksamdurch_kurzbz).",".
|
|
" firma_id=".$this->db_add_param($this->firma_id, FHC_INTEGER).",".
|
|
" anmerkung=".$this->db_add_param($this->anmerkung).",".
|
|
" erfassungsdatum=".$this->db_add_param($this->erfassungsdatum).",".
|
|
" einverstaendnis=".$this->db_add_param($this->einverstaendnis, FHC_BOOLEAN).",".
|
|
" absagedatum=".$this->db_add_param($this->absagedatum).",".
|
|
" maturajahr=".$this->db_add_param($this->maturajahr).",".
|
|
" infozusendung=".$this->db_add_param($this->infozusendung).",".
|
|
" person_id=".$this->db_add_param($this->person_id, FHC_INTEGER).",".
|
|
" updatevon=".$this->db_add_param($this->updatevon).",".
|
|
" updateamum=".$this->db_add_param($this->updateamum).','.
|
|
" kontaktmedium_kurzbz=".$this->db_add_param($this->kontaktmedium_kurzbz).
|
|
" WHERE preinteressent_id=".$this->db_add_param($this->preinteressent_id, FHC_INTEGER);
|
|
}
|
|
|
|
if($this->db_query($qry))
|
|
{
|
|
if($new)
|
|
{
|
|
$qry = "SELECT currval('public.tbl_preinteressent_preinteressent_id_seq') as id";
|
|
if($this->db_query($qry))
|
|
{
|
|
if($row = $this->db_fetch_object())
|
|
{
|
|
$this->preinteressent_id = $row->id;
|
|
$this->db_query('COMMIT;');
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
|
$this->db_query('ROLLBACK');
|
|
return false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
|
$this->db_query('ROLLBACK');
|
|
return false;
|
|
}
|
|
}
|
|
else
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Laedt die Freigegebenen Preinteressenten
|
|
* eines Studienganges welche noch nicht
|
|
* uebernommen wurden
|
|
* @param $studiengang_kz
|
|
* $studiensemester_kurzbz
|
|
* @return true wenn ok, false im Fehlerfall
|
|
*/
|
|
public function loadFreigegebene($studiengang_kz, $studiensemester_kurzbz='')
|
|
{
|
|
$qry = "SELECT tbl_preinteressent.*, tbl_preinteressentstudiengang.* FROM public.tbl_preinteressent JOIN public.tbl_preinteressentstudiengang USING(preinteressent_id) JOIN public.tbl_person USING(person_id) WHERE
|
|
(studiengang_kz, person_id) NOT IN (SELECT studiengang_kz, person_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING(prestudent_id) WHERE status_kurzbz='Interessent' AND studiensemester_kurzbz=tbl_preinteressent.studiensemester_kurzbz AND person_id=tbl_person.person_id) AND freigabedatum is not null AND
|
|
tbl_preinteressentstudiengang.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER)." AND tbl_preinteressentstudiengang.uebernahmedatum is null";
|
|
if($studiensemester_kurzbz!='')
|
|
$qry.=" AND tbl_preinteressent.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
|
|
|
|
if($this->db_query($qry))
|
|
{
|
|
while($row = $this->db_fetch_object())
|
|
{
|
|
$obj = new preinteressent();
|
|
|
|
$obj->preinteressent_id = $row->preinteressent_id;
|
|
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
|
$obj->aufmerksamdurch_kurzbz = $row->aufmerksamdurch_kurzbz;
|
|
$obj->firma_id = $row->firma_id;
|
|
$obj->anmerkung = $row->anmerkung;
|
|
$obj->erfassungsdatum = $row->erfassungsdatum;
|
|
$obj->einverstaendnis = $this->db_parse_bool($row->einverstaendnis);
|
|
$obj->absagedatum = $row->absagedatum;
|
|
$obj->insertamum = $row->insertamum;
|
|
$obj->insertvon = $row->insertvon;
|
|
$obj->updateamum = $row->updateamum;
|
|
$obj->maturajahr = $row->maturajahr;
|
|
$obj->infozusendung = $row->infozusendung;
|
|
$obj->person_id = $row->person_id;
|
|
$obj->studiengang_kz = $row->studiengang_kz;
|
|
$obj->prioritaet = $row->prioritaet;
|
|
$obj->freigabedatum = $row->freigabedatum;
|
|
$obj->uebernahmedatum = $row->uebernahmedatum;
|
|
$obj->kontaktmedium_kurzbz = $row->kontaktmedium_kurzbz;
|
|
|
|
$this->result[] = $obj;
|
|
}
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
$this->errormsg = 'Fehler beim Laden der Daten';
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
*
|
|
* Laedt die Preinteressenten
|
|
*
|
|
* @param $studiengang_kz
|
|
* @param $studiensemester_kurzbz
|
|
* @param $filter Filtert nach Nachname, Vorname, Kontakt, und Erfassungsdatum
|
|
* @param $nichtfreigegeben Wenn true werden nur personen geliefert die noch nicht freigegeben wurden
|
|
* @param $uebernommen Wenn true werden nur Personen geliefert die bereits freigegeben sind aber noch nicht uebernommen
|
|
* @param $kontaktmedium Wenn -1 werden alle geliefert die das Kontaktmedium nicht gesetzt haben, sonst bei denen das uebergeben Kontaktmedium ausgewaehlt ist
|
|
* @param $absage
|
|
* @param $erfassungsdatum_von
|
|
* @param $erfassungsdatum_bis
|
|
* @param $einverstaendnis
|
|
* @param $preinteressent Wenn true werden nur die Personen angezeigt die noch nicht als Interessent oder Student in einem Studiengang vorhanden sind
|
|
*/
|
|
public function loadPreinteressenten($studiengang_kz='', $studiensemester_kurzbz=null, $filter='', $nichtfreigegeben=null, $uebernommen=null, $kontaktmedium=null, $absage=false, $erfassungsdatum_von=null, $erfassungsdatum_bis=null, $einverstaendnis=null, $preinteressent=null)
|
|
{
|
|
$qry = "SELECT distinct tbl_preinteressent.*
|
|
FROM public.tbl_preinteressent JOIN public.tbl_person USING(person_id)
|
|
LEFT JOIN public.tbl_preinteressentstudiengang USING(preinteressent_id)
|
|
LEFT JOIN public.tbl_kontakt USING(person_id) WHERE true";
|
|
|
|
if($studiengang_kz!='')
|
|
$qry.=" AND tbl_preinteressentstudiengang.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
|
|
|
|
if(!is_null($studiensemester_kurzbz))
|
|
{
|
|
if($studiensemester_kurzbz=='')
|
|
$qry.=" AND tbl_preinteressent.studiensemester_kurzbz is null";
|
|
else
|
|
$qry.=" AND tbl_preinteressent.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
|
|
}
|
|
|
|
if($filter!='')
|
|
{
|
|
$datum_obj = new datum();
|
|
|
|
$qry.=" AND (lower(nachname) like lower('%".$this->db_escape($filter)."%') OR lower(vorname) like lower('%".$this->db_escape($filter)."%') OR lower(kontakt) like lower('%".$this->db_escape($filter)."%')";
|
|
if($filter = $datum_obj->formatDatum($filter))
|
|
$qry.=" OR erfassungsdatum = ".$this->db_escape($filter);
|
|
$qry.=")";
|
|
}
|
|
if($nichtfreigegeben==true)
|
|
$qry.=" AND tbl_preinteressentstudiengang.freigabedatum is null";
|
|
if($uebernommen==true)
|
|
$qry.=" AND tbl_preinteressentstudiengang.freigabedatum is not null AND tbl_preinteressentstudiengang.uebernahmedatum is null";
|
|
if(!is_null($kontaktmedium))
|
|
{
|
|
if($kontaktmedium=='-1')
|
|
$qry.=" AND tbl_preinteressent.kontaktmedium_kurzbz is null";
|
|
else
|
|
$qry.=" AND tbl_preinteressent.kontaktmedium_kurzbz=".$this->db_add_param($kontaktmedium);
|
|
}
|
|
|
|
if(!is_null($erfassungsdatum_bis))
|
|
$qry.=" AND erfassungsdatum<=".$this->db_add_param($erfassungsdatum_bis);
|
|
|
|
if(!is_null($erfassungsdatum_von))
|
|
$qry.=" AND erfassungsdatum>=".$this->db_add_param($erfassungsdatum_von);
|
|
|
|
if($absage)
|
|
$qry.=" AND absagedatum is not null";
|
|
else
|
|
$qry.=" AND absagedatum is null";
|
|
|
|
if($einverstaendnis)
|
|
$qry.=" AND einverstaendnis=true";
|
|
|
|
if($preinteressent)
|
|
$qry.=" AND NOT EXISTS (SELECT * FROM public.tbl_prestudent WHERE person_id=tbl_person.person_id)";
|
|
|
|
if($this->db_query($qry))
|
|
{
|
|
while($row = $this->db_fetch_object())
|
|
{
|
|
$obj = new preinteressent();
|
|
|
|
$obj->preinteressent_id = $row->preinteressent_id;
|
|
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
|
$obj->aufmerksamdurch_kurzbz = $row->aufmerksamdurch_kurzbz;
|
|
$obj->firma_id = $row->firma_id;
|
|
$obj->anmerkung = $row->anmerkung;
|
|
$obj->erfassungsdatum = $row->erfassungsdatum;
|
|
$obj->einverstaendnis = $this->db_parse_bool($row->einverstaendnis);
|
|
$obj->absagedatum = $row->absagedatum;
|
|
$obj->insertamum = $row->insertamum;
|
|
$obj->insertvon = $row->insertvon;
|
|
$obj->updateamum = $row->updateamum;
|
|
$obj->maturajahr = $row->maturajahr;
|
|
$obj->infozusendung = $row->infozusendung;
|
|
$obj->person_id = $row->person_id;
|
|
$obj->kontaktmedium_kurzbz = $row->kontaktmedium_kurzbz;
|
|
|
|
$this->result[] = $obj;
|
|
}
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
$this->errormsg = 'Fehler beim Laden der Daten';
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Laedt die Zuordnung von Preinteressenten zu Studiengaengen
|
|
*
|
|
* @param $preinteressent_id
|
|
* @return booelan
|
|
*/
|
|
public function loadZuordnungen($preinteressent_id)
|
|
{
|
|
if(!is_numeric($preinteressent_id) || $preinteressent_id=='')
|
|
{
|
|
$this->errormsg = 'Preinteressent_id ist ungueltig';
|
|
return false;
|
|
}
|
|
|
|
$qry = "SELECT * FROM public.tbl_preinteressentstudiengang
|
|
WHERE preinteressent_id=".$this->db_add_param($preinteressent_id, FHC_INTEGER)." ORDER BY studiengang_kz";
|
|
|
|
if($this->db_query($qry))
|
|
{
|
|
while($row = $this->db_fetch_object())
|
|
{
|
|
$obj = new preinteressent();
|
|
|
|
$obj->studiengang_kz = $row->studiengang_kz;
|
|
$obj->preinteressent_id = $row->preinteressent_id;
|
|
$obj->prioritaet = $row->prioritaet;
|
|
$obj->freigabedatum = $row->freigabedatum;
|
|
$obj->uebernahmedatum = $row->uebernahmedatum;
|
|
$obj->insertamum = $row->insertamum;
|
|
$obj->insertvon = $row->insertvon;
|
|
$obj->updateamum = $row->updateamum;
|
|
$obj->updatevon = $row->updatevon;
|
|
|
|
$this->result[] = $obj;
|
|
}
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
$this->errormsg = 'Fehler beim Laden der Zuordnung';
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Laedt eine Zuordnung
|
|
* @return true wenn ok, false wenn Fehler
|
|
*/
|
|
public function loadZuordnung($preinteressent_id, $studiengang_kz)
|
|
{
|
|
if(!is_numeric($preinteressent_id) || $preinteressent_id=='')
|
|
{
|
|
$this->errormsg = 'Preinteressent_id ist ungueltig';
|
|
return false;
|
|
}
|
|
|
|
if(!is_numeric($studiengang_kz) || $studiengang_kz=='')
|
|
{
|
|
$this->errormsg = 'studiengang_kz ist ungueltig';
|
|
return false;
|
|
}
|
|
|
|
$qry = "SELECT * FROM public.tbl_preinteressentstudiengang
|
|
WHERE preinteressent_id=".$this->db_add_param($preinteressent_id, FHC_INTEGER)."
|
|
AND studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
|
|
|
|
if($this->db_query($qry))
|
|
{
|
|
if($row = $this->db_fetch_object())
|
|
{
|
|
$this->studiengang_kz = $row->studiengang_kz;
|
|
$this->preinteressent_id = $row->preinteressent_id;
|
|
$this->prioritaet = $row->prioritaet;
|
|
$this->freigabedatum = $row->freigabedatum;
|
|
$this->uebernahmedatum = $row->uebernahmedatum;
|
|
$this->insertamum = $row->insertamum;
|
|
$this->insertvon = $row->insertvon;
|
|
$this->updateamum = $row->updateamum;
|
|
$this->updatevon = $row->updatevon;
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
$this->errormsg = 'Fehler beim Laden der Zuordnung';
|
|
return false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$this->errormsg = 'Fehler beim Laden der Zuordnung';
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Speichert die Studiengangszuordnung eines
|
|
* Preinteressent
|
|
* @return true wenn ok, false wenn Fehler
|
|
*/
|
|
public function saveZuordnung($new=null)
|
|
{
|
|
if($new==null)
|
|
$new = $this->new;
|
|
|
|
if($new)
|
|
{
|
|
//Neuen Datensatz anlegen
|
|
$qry = "INSERT INTO public.tbl_preinteressentstudiengang (studiengang_kz, preinteressent_id,
|
|
prioritaet, freigabedatum, uebernahmedatum, updateamum, updatevon, insertamum, insertvon) VALUES (".
|
|
$this->db_add_param($this->studiengang_kz).', '.
|
|
$this->db_add_param($this->preinteressent_id, FHC_INTEGER).', '.
|
|
$this->db_add_param($this->prioritaet).', '.
|
|
$this->db_add_param($this->freigabedatum).', '.
|
|
$this->db_add_param($this->uebernahmedatum).', '.
|
|
$this->db_add_param($this->updateamum).', '.
|
|
$this->db_add_param($this->updatevon).', '.
|
|
$this->db_add_param($this->insertamum).', '.
|
|
$this->db_add_param($this->insertvon).');';
|
|
}
|
|
else
|
|
{
|
|
//Bestehenden Datensatz aktualisieren
|
|
$qry= "UPDATE public.tbl_preinteressentstudiengang SET".
|
|
" prioritaet=".$this->db_add_param($this->prioritaet).",".
|
|
" freigabedatum=".$this->db_add_param($this->freigabedatum).",".
|
|
" uebernahmedatum=".$this->db_add_param($this->uebernahmedatum).",".
|
|
" updatevon=".$this->db_add_param($this->updatevon).",".
|
|
" updateamum=".$this->db_add_param($this->updateamum).
|
|
" WHERE preinteressent_id=".$this->db_add_param($this->preinteressent_id, FHC_INTEGER)."
|
|
AND studiengang_kz=".$this->db_add_param($this->studiengang_kz, FHC_INTEGER);
|
|
}
|
|
|
|
if($this->db_query($qry))
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Loescht eine Zuordnung
|
|
* @return true wenn ok, false wenn Fehler
|
|
*/
|
|
public function deleteZuordnung($preinteressent_id, $studiengang_kz)
|
|
{
|
|
if(!is_numeric($preinteressent_id) || $preinteressent_id=='')
|
|
{
|
|
$this->errormsg = 'Preinteressent_id ist ungueltig';
|
|
return false;
|
|
}
|
|
|
|
if(!is_numeric($studiengang_kz) || $studiengang_kz=='')
|
|
{
|
|
$this->errormsg = 'Studiengang_kz ist ungueltig';
|
|
return false;
|
|
}
|
|
|
|
$qry = "DELETE FROM public.tbl_preinteressentstudiengang
|
|
WHERE preinteressent_id=".$this->db_add_param($preinteressent_id, FHC_INTEGER)." AND studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
|
|
|
|
if($this->db_query($qry))
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
$this->errormsg = 'Fehler beim Loeschen der Daten';
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Laedt alle Preinteressenten einer Person
|
|
* @return true wenn ok, false wenn Fehler
|
|
*/
|
|
public function getPreinteressenten($person_id)
|
|
{
|
|
if(!is_numeric($person_id) || $person_id=='')
|
|
{
|
|
$this->errormsg = 'ID ist ungueltig';
|
|
return false;
|
|
}
|
|
|
|
$qry = "SELECT * FROM public.tbl_preinteressent WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER);
|
|
|
|
if($this->db_query($qry))
|
|
{
|
|
while($row = $this->db_fetch_object())
|
|
{
|
|
$obj = new preinteressent();
|
|
|
|
$obj->preinteressent_id = $row->preinteressent_id;
|
|
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
|
$obj->aufmerksamdurch_kurzbz = $row->aufmerksamdurch_kurzbz;
|
|
$obj->firma_id = $row->firma_id;
|
|
$obj->anmerkung = $row->anmerkung;
|
|
$obj->erfassungsdatum = $row->erfassungsdatum;
|
|
$obj->einverstaendnis = $this->db_parse_bool($row->einverstaendnis);
|
|
$obj->maturajahr = $row->maturajahr;
|
|
$obj->infozusendung = $row->infozusendung;
|
|
$obj->absagedatum = $row->absagedatum;
|
|
$obj->person_id = $row->person_id;
|
|
$obj->updateamum = $row->updateamum;
|
|
$obj->updatevon = $row->updatevon;
|
|
$obj->insertamum = $row->insertamum;
|
|
$obj->insertvon = $row->insertvon;
|
|
$obj->kontaktmedium_kurzbz = $row->kontaktmedium_kurzbz;
|
|
|
|
$this->result[] = $obj;
|
|
}
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
$this->errormsg = 'Fehler beim Laden der Zuordnung';
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
?>
|