diff --git a/application/models/organisation/Organisationseinheit_model.php b/application/models/organisation/Organisationseinheit_model.php index 272204e7e..f9353c7b3 100644 --- a/application/models/organisation/Organisationseinheit_model.php +++ b/application/models/organisation/Organisationseinheit_model.php @@ -119,7 +119,7 @@ class Organisationseinheit_model extends DB_Model /** * Liefert die ChildNodes einer Organisationseinheit * @param $oe_kurzbz - * @param bool $includeinactive - wether to include inactive parent oes + * @param bool $includeinactive wether to include inactive parent oes * @return array mit den Childs inkl dem Uebergebenen Element */ public function getChilds($oe_kurzbz, $includeinactive = false) @@ -131,19 +131,20 @@ class Organisationseinheit_model extends DB_Model WHERE oe_kurzbz=? %s UNION ALL SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes - WHERE o.oe_parent_kurzbz=oes.oe_kurzbz + WHERE o.oe_parent_kurzbz=oes.oe_kurzbz %s ) SELECT oe_kurzbz FROM oes GROUP BY oe_kurzbz;"; - return $this->execQuery(sprintf($query, $includeinactive === true ? "" : "AND aktiv = true"), array($oe_kurzbz)); + $aktivstring = $includeinactive === true ? "" : "AND aktiv = true"; + return $this->execQuery(sprintf($query, $aktivstring, $aktivstring), array($oe_kurzbz)); } /** * Liefert die OEs die im Tree ueberhalb der uebergebene OE liegen * @param $oe_kurzbz - * @param bool $includeinactive - wether to include inactive parent oes + * @param bool $includeinactive wether to include inactive parent oes * @return array|null */ public function getParents($oe_kurzbz, $includeinactive = false) @@ -155,12 +156,13 @@ class Organisationseinheit_model extends DB_Model WHERE oe_kurzbz=? %s UNION ALL SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes - WHERE o.oe_kurzbz=oes.oe_parent_kurzbz and aktiv = true + WHERE o.oe_kurzbz=oes.oe_parent_kurzbz %s ) SELECT oe_kurzbz FROM oes"; - return $this->execQuery(sprintf($query, $includeinactive === true ? "" : "AND aktiv = true"), array($oe_kurzbz)); + $aktivstring = $includeinactive === true ? "" : "AND aktiv = true"; + return $this->execQuery(sprintf($query, $aktivstring, $aktivstring), array($oe_kurzbz)); } } diff --git a/cis/private/profile/dokumente.php b/cis/private/profile/dokumente.php index 395036f44..9279257ea 100644 --- a/cis/private/profile/dokumente.php +++ b/cis/private/profile/dokumente.php @@ -304,6 +304,15 @@ else $akte = new akte(); echo '

' . $p->t('tools/abschlussdokumente') . '

'; +echo ''; +echo ''; +echo '
'.$p->t('tools/warnungDruckDigitaleSignatur').'
'; + if($akte->getArchiv($student_studiengang->person_id, null, true) && count($akte->result)>0) { echo ' diff --git a/cis/private/tools/zeitaufzeichnung_projektliste.php b/cis/private/tools/zeitaufzeichnung_projektliste.php index 8ba79d9d1..51e961223 100644 --- a/cis/private/tools/zeitaufzeichnung_projektliste.php +++ b/cis/private/tools/zeitaufzeichnung_projektliste.php @@ -62,13 +62,14 @@ $daysinmonth = cal_days_in_month(CAL_GREGORIAN, $month, $year); $date = new datum(); $ztauf = new zeitaufzeichnung(); -$ztauf->getListeUserFromTo($uid, $year.'-'.$month.'-01', $year.'-'.$month.'-'.$daysinmonth); +$activitiesToIgnore = array('DienstreiseMT');//aktivitaetstypen which shouldn't be added to worktime +$ztauf->getListeUserFromTo($uid, $year.'-'.$month.'-01', $year.'-'.$month.'-'.$daysinmonth, $activitiesToIgnore); //objects for one projectline of list (corresponds to one day) $projectlines = []; $dayStart = $dayEnd = ''; $projectnames = $tosubtract = $allpauseranges = []; -$toignore = ['Pause', 'LehreExtern']; +$activitiesToSubtract = ['Pause', 'LehreExtern'];//aktivitaetstypen which should be subtracted fromworktime $ztaufdata = $ztauf->result; $monthsums = [0 => 0.00]; @@ -94,7 +95,7 @@ for ($i = 0; $i < count($ztaufdata); $i++) //last entry for a day (next entry is different day) $isLastEntry = !array_key_exists($i + 1, $ztaufdata) || intval($date->formatDatum($ztaufdata[$i + 1]->ende, 'd')) != $day; - if (in_array($ztaufrow->aktivitaet_kurzbz, $toignore)) + if (in_array($ztaufrow->aktivitaet_kurzbz, $activitiesToSubtract)) { $subtraction = new stdClass(); $subtraction->start = $ztaufrow->start; @@ -104,7 +105,7 @@ for ($i = 0; $i < count($ztaufdata); $i++) $tosubtract[] = $subtraction; //save all pause ranges - if ($ztaufrow->aktivitaet_kurzbz == $toignore[0]) + if ($ztaufrow->aktivitaet_kurzbz == $activitiesToSubtract[0]) { $prevpause = null; if (count($allpauseranges) > 0) @@ -129,9 +130,9 @@ for ($i = 0; $i < count($ztaufdata); $i++) } //save new dayStart (if earlier) or dayEnd (if later) - if (($dayStart == '' || $dayStart > $ztaufrow->start) && $ztaufrow->aktivitaet_kurzbz != $toignore[1]) + if (($dayStart == '' || $dayStart > $ztaufrow->start) && $ztaufrow->aktivitaet_kurzbz != $activitiesToSubtract[1]) $dayStart = $ztaufrow->start; - if (($dayEnd == '' || $dayEnd < $ztaufrow->ende) && $ztaufrow->aktivitaet_kurzbz != $toignore[1]) + if (($dayEnd == '' || $dayEnd < $ztaufrow->ende) && $ztaufrow->aktivitaet_kurzbz != $activitiesToSubtract[1]) $dayEnd = $ztaufrow->ende; if ($isFirstEntry) @@ -221,12 +222,12 @@ for ($i = 0; $i < count($ztaufdata); $i++) //subtract pauses and LehreExtern from total worktime foreach ($tosubtract as $subtraction) { - if ($subtraction->typ == $toignore[0]) + if ($subtraction->typ == $activitiesToSubtract[0]) { $projectlines[$day]->arbeitszeit -= $subtraction->diff; $pauseSubtracted += $subtraction->diff; } - elseif ($subtraction->typ == $toignore[1] && $subtraction->start >= $dayStart && $subtraction->ende <= $dayEnd) + elseif ($subtraction->typ == $activitiesToSubtract[1] && $subtraction->start >= $dayStart && $subtraction->ende <= $dayEnd) { $projectlines[$day]->arbeitszeit -= $subtraction->diff; $lehreExternExists = true; diff --git a/content/mitarbeiter/mitarbeiteroverlay.js.php b/content/mitarbeiter/mitarbeiteroverlay.js.php index 9acde5c9b..3fd424d02 100644 --- a/content/mitarbeiter/mitarbeiteroverlay.js.php +++ b/content/mitarbeiter/mitarbeiteroverlay.js.php @@ -1178,7 +1178,7 @@ function MitarbeiterVerwendungBearbeiten() bisverwendung_id=tree.view.getCellText(tree.currentIndex,col); //Dialog laden - window.open("content/mitarbeiter/mitarbeiterverwendungdialog.xul.php?mitarbeiter_uid="+mitarbeiter_uid+"&bisverwendung_id="+bisverwendung_id,"popup","chrome, status=no, width=500, height=400, centerscreen, resizable"); + window.open("content/mitarbeiter/mitarbeiterverwendungdialog.xul.php?mitarbeiter_uid="+mitarbeiter_uid+"&bisverwendung_id="+bisverwendung_id,"popup","chrome, status=no, width=500, height=500, centerscreen, resizable"); } // **** @@ -1192,7 +1192,7 @@ function MitarbeiterVerwendungNeu() col = tree.columns ? tree.columns["mitarbeiter-treecol-uid"] : "mitarbeiter-treecol-uid"; mitarbeiter_uid=tree.view.getCellText(tree.currentIndex,col); - window.open("content/mitarbeiter/mitarbeiterverwendungdialog.xul.php?mitarbeiter_uid="+mitarbeiter_uid,"popup","chrome, status=no, width=500, height=350, centerscreen, resizable"); + window.open("content/mitarbeiter/mitarbeiterverwendungdialog.xul.php?mitarbeiter_uid="+mitarbeiter_uid,"popup","chrome, status=no, width=500, height=500, centerscreen, resizable"); } function MitarbeiterVerwendungSpeichern(dialog, bisverwendung_id, mitarbeiter_uid, neu) diff --git a/include/firma.class.php b/include/firma.class.php index 0ffbb1c61..e9a76807c 100644 --- a/include/firma.class.php +++ b/include/firma.class.php @@ -49,6 +49,7 @@ class firma extends basis_db public $aktiv; // boolean public $finanzamt; // string public $partner_code; // varchar(20) + public $lieferant; // boolean // firma_organisationseinheit public $oe_kurzbz; // string @@ -110,6 +111,7 @@ class firma extends basis_db $this->aktiv = $this->db_parse_bool($row->aktiv); $this->finanzamt = $row->finanzamt; $this->partner_code = $row->partner_code; + $this->lieferant = $this->db_parse_bool($row->lieferant); $qry = "SELECT tag FROM public.tbl_firmatag WHERE firma_id=".$this->db_add_param($firma_id,FHC_INTEGER).';'; if($resulttag = $this->db_query($qry)) @@ -151,7 +153,7 @@ class firma extends basis_db $this->errormsg = 'Anmerkung darf nicht länger als 256 Zeichen sein'; return false; } - if(mb_strlen($this->lieferbedingungen)>256) + if(mb_strlen($this->lieferbedingungen)>256) { $this->errormsg = 'Lieferbedingungen darf nicht länger als 256 Zeichen sein'; return false; @@ -177,7 +179,7 @@ class firma extends basis_db //Neuen Datensatz einfuegen $qry='INSERT INTO public.tbl_firma (name, anmerkung, lieferbedingungen, firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon, schule,steuernummer, - gesperrt,aktiv,finanzamt, partner_code) VALUES('. + gesperrt,aktiv,finanzamt, partner_code, lieferant) VALUES('. $this->db_add_param($this->name).', '. $this->db_add_param($this->anmerkung).', '. $this->db_add_param($this->lieferbedingungen).', '. @@ -191,7 +193,8 @@ class firma extends basis_db $this->db_add_param($this->gesperrt, FHC_BOOLEAN).','. $this->db_add_param($this->aktiv, FHC_BOOLEAN).','. $this->db_add_param($this->finanzamt, FHC_INTEGER).','. - $this->db_add_param($this->partner_code).'); '; + $this->db_add_param($this->partner_code).','. + $this->db_add_param($this->lieferant, FHC_INTEGER).'); '; } else { @@ -216,7 +219,8 @@ class firma extends basis_db 'gesperrt='.$this->db_add_param($this->gesperrt, FHC_BOOLEAN).', '. 'aktiv='.$this->db_add_param($this->aktiv, FHC_BOOLEAN).', '. 'finanzamt='.$this->db_add_param($this->finanzamt, FHC_INTEGER).', '. - 'partner_code='.$this->db_add_param($this->partner_code).' '. + 'partner_code='.$this->db_add_param($this->partner_code).', '. + 'lieferant='.$this->db_add_param($this->lieferant, FHC_BOOLEAN).' '. 'WHERE firma_id='.$this->db_add_param($this->firma_id, FHC_INTEGER).';'; } @@ -371,7 +375,6 @@ class firma extends basis_db */ public function getAll($firma_search = null) { - if (!empty($firma_search)) { $matchcode=mb_strtoupper(str_replace(array('<','>',' ',';','*','_','-',',',"'",'"'),"%",$firma_search)); @@ -381,14 +384,14 @@ class firma extends basis_db SELECT firma_id, name, anmerkung, lieferbedingungen, firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon, - ext_id, schule, steuernummer, gesperrt, aktiv, finanzamt, '1' as sort, partner_code + ext_id, schule, steuernummer, gesperrt, aktiv, finanzamt, '1' as sort, partner_code, lieferant FROM public.tbl_firma WHERE UPPER(trim(public.tbl_firma.name)) like '".$this->db_escape($matchcode)."%' UNION SELECT firma_id, name, anmerkung, lieferbedingungen, firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon, - ext_id, schule, steuernummer, gesperrt, aktiv, finanzamt, '2' as sort, partner_code + ext_id, schule, steuernummer, gesperrt, aktiv, finanzamt, '2' as sort, partner_code, lieferant FROM public.tbl_firma WHERE UPPER(trim(public.tbl_firma.name)) like '%".$this->db_escape($matchcode)."%' @@ -423,6 +426,7 @@ class firma extends basis_db $fa->aktiv = $this->db_parse_bool($row->aktiv); $fa->finanzamt = $row->finanzamt; $fa->partner_code = $row->partner_code; + $fa->lieferant = $this->db_parse_bool($row->lieferant); $this->result[] = $fa; } @@ -501,6 +505,7 @@ class firma extends basis_db $fa->aktiv = $this->db_parse_bool($row->aktiv); $fa->finanzamt = $row->finanzamt; $fa->partner_code = $row->partner_code; + $fa->lieferant = $this->db_parse_bool($row->lieferant); $this->result[] = $fa; } @@ -513,7 +518,13 @@ class firma extends basis_db } } - public function getLatestChanges($tage = 7) { + /** + * Laedt alle Firmen die in den letzten Tagen geaendert oder angelegt wurden + * @param $tage integer Anzahl der Tage innerhalb der nach Aenderungen gesucht wird. + * @return boolean true wenn erfolgreich, false im Fehlerfall + */ + public function getLatestChanges($tage = 7) + { $this->result = array(); $this->errormsg = ''; @@ -549,6 +560,7 @@ class firma extends basis_db $fa->aktiv = $this->db_parse_bool($row->aktiv); $fa->finanzamt = $row->finanzamt; $fa->partner_code = $row->partner_code; + $fa->lieferant = $this->db_parse_bool($row->lieferant); $fa->kurzbz = $row->kurzbz; $fa->adresse_id = $row->adresse_id; $fa->standort_id = $row->standort_id; @@ -576,15 +588,24 @@ class firma extends basis_db } } - public function getChangesByKW($kw = 0, $jahr = 0) { + /** + * Laedt die Firmen die innerhalb einer bestimmten Kalenderwoche geaendert oder angelegt wurden + * @param $kw integer Kalenderwoche. + * @param $jahr Jahr der Kalenderwoche + * @return boolean true wenn erfolgreich, false im Fehlerfall + */ + public function getChangesByKW($kw = 0, $jahr = 0) + { $this->result = array(); $this->errormsg = ''; - if ($kw<1 || $kw>53) { + if ($kw<1 || $kw>53) + { $this->errormsg = 'KW außerhalb gültigem Bereich ('.$kw.')'; return false; } - if ($jahr<1990) { + if ($jahr<1990) + { $this->errormsg = 'Jahr außerhalb gültigem Bereich ('.$jahr.')'; return false; } @@ -621,6 +642,7 @@ class firma extends basis_db $fa->aktiv = $this->db_parse_bool($row->aktiv); $fa->finanzamt = $row->finanzamt; $fa->partner_code = $row->partner_code; + $fa->lieferant = $this->db_parse_bool($row->lieferant); $fa->kurzbz = $row->kurzbz; $fa->adresse_id = $row->adresse_id; $fa->standort_id = $row->standort_id; @@ -648,7 +670,6 @@ class firma extends basis_db } } - /** * Suche nur nach Firmennamen für die abgespeckte Firmenverwaltung * @return true wenn ok, false im Fehlerfall @@ -698,6 +719,7 @@ class firma extends basis_db $fa->aktiv = $this->db_parse_bool($row->aktiv); $fa->finanzamt = $row->finanzamt; $fa->partner_code = $row->partner_code; + $fa->lieferant = $this->db_parse_bool($row->lieferant); $fa->kurzbz = $row->kurzbz; $fa->adresse_id = $row->adresse_id; $fa->standort_id = $row->standort_id; @@ -800,6 +822,7 @@ class firma extends basis_db $fa->aktiv = $this->db_parse_bool($row->aktiv); $fa->finanzamt = $row->finanzamt; $fa->partner_code = $row->partner_code; + $fa->lieferant = $this->db_parse_bool($row->lieferant); $fa->kurzbz = $row->kurzbz; $fa->adresse_id = $row->adresse_id; $fa->standort_id = $row->standort_id; @@ -919,6 +942,7 @@ class firma extends basis_db $fa->aktiv = $this->db_parse_bool($row->aktiv); $fa->finanzamt = $row->finanzamt; $fa->partner_code = $row->partner_code; + $fa->lieferant = $this->db_parse_bool($row->lieferant); $fa->oe_kurzbz = $row->oe_kurzbz; $fa->firma_organisationseinheit_id = $row->firma_organisationseinheit_id; $fa->oe_parent_kurzbz = $row->oe_parent_kurzbz; @@ -1186,6 +1210,7 @@ class firma extends basis_db $fi->aktiv = $this->db_parse_bool($row->aktiv); $fi->finanzamt = $row->finanzamt; $fi->partner_code = $row->partner_code; + $fi->lieferant = $this->db_parse_bool($row->lieferant); $this->result[] = $fi; } @@ -1230,6 +1255,7 @@ class firma extends basis_db $obj->aktiv = $this->db_parse_bool($row->aktiv); $obj->finanzamt = $row->finanzamt; $obj->partner_code = $row->partner_code; + $obj->lieferant = $this->db_parse_bool($row->lieferant); $this->result[] = $obj; } diff --git a/include/prestudent.class.php b/include/prestudent.class.php index c1f17d9f4..62f56e67d 100644 --- a/include/prestudent.class.php +++ b/include/prestudent.class.php @@ -16,8 +16,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher and - * Rudolf Hangl . + * Andreas Oesterreicher and + * Rudolf Hangl . */ require_once(dirname(__FILE__).'/person.class.php'); require_once(dirname(__FILE__).'/log.class.php'); @@ -69,6 +69,7 @@ class prestudent extends person public $zgvdoktornation; public $gsstudientyp_kurzbz='Intern'; public $aufnahmegruppe_kurzbz; + public $priorisierung = null; public $status_kurzbz; public $studiensemester_kurzbz; @@ -87,12 +88,12 @@ class prestudent extends person public $statusgrund_id; public $rt_stufe; - public $studiensemester_old = ''; - public $ausbildungssemester_old = ''; + public $studiensemester_old = ''; + public $ausbildungssemester_old = ''; - // ErgebnisArray - public $result = array(); - public $num_rows = 0; + // ErgebnisArray + public $result = array(); + public $num_rows = 0; /** * Konstruktor - Uebergibt die Connection und laedt optional einen Prestudent @@ -108,7 +109,7 @@ class prestudent extends person /** * Laedt Prestudent mit der uebergebenen ID - * @param $prestudent_id ID des Prestudenten der geladen werden soll + * @param integer $prestudent_id ID des Prestudenten der geladen werden soll */ public function load($prestudent_id=null) { @@ -137,9 +138,9 @@ class prestudent extends person $this->zgvnation = $row->zgvnation; $this->zgvmas_code = $row->zgvmas_code; $this->zgvmaort = $row->zgvmaort; - $this->zgvmadatum = $row->zgvmadatum; - $this->zgvmanation = $row->zgvmanation; - $this->aufnahmeschluessel = $row->aufnahmeschluessel; + $this->zgvmadatum = $row->zgvmadatum; + $this->zgvmanation = $row->zgvmanation; + $this->aufnahmeschluessel = $row->aufnahmeschluessel; $this->facheinschlberuf = $this->db_parse_bool($row->facheinschlberuf); $this->anmeldungreihungstest = $row->anmeldungreihungstest; $this->reihungstestangetreten = $this->db_parse_bool($row->reihungstestangetreten); @@ -155,14 +156,15 @@ class prestudent extends person $this->ext_id_prestudent = $row->ext_id; $this->dual = $this->db_parse_bool($row->dual); $this->ausstellungsstaat = $row->ausstellungsstaat; - $this->zgvdoktor_code = $row->zgvdoktor_code; - $this->zgvdoktorort = $row->zgvdoktorort; - $this->zgvdoktordatum = $row->zgvdoktordatum; - $this->zgvdoktornation = $row->zgvdoktornation; + $this->zgvdoktor_code = $row->zgvdoktor_code; + $this->zgvdoktorort = $row->zgvdoktorort; + $this->zgvdoktordatum = $row->zgvdoktordatum; + $this->zgvdoktornation = $row->zgvdoktornation; $this->gsstudientyp_kurzbz = $row->gsstudientyp_kurzbz; $this->aufnahmegruppe_kurzbz = $row->aufnahmegruppe_kurzbz; + $this->priorisierung = $row->priorisierung; - if(!person::load($row->person_id)) + if(!person::load($row->person_id)) return false; else return true; @@ -223,7 +225,7 @@ class prestudent extends person //if(!person::save()) // return false; - $this->checkAusstellungsstaat(); + $this->checkAusstellungsstaat(); //Variablen auf Gueltigkeit pruefen if(!prestudent::validate()) @@ -237,76 +239,78 @@ class prestudent extends person reihungstest_id, anmeldungreihungstest, reihungstestangetreten, rt_gesamtpunkte, rt_punkte1, rt_punkte2, rt_punkte3, bismelden, insertamum, insertvon, updateamum, updatevon, anmerkung, dual, ausstellungsstaat, mentor, - gsstudientyp_kurzbz, aufnahmegruppe_kurzbz) VALUES('. - $this->db_add_param($this->aufmerksamdurch_kurzbz).",". - $this->db_add_param($this->person_id).",". - $this->db_add_param($this->studiengang_kz).",". - $this->db_add_param($this->berufstaetigkeit_code).",". - $this->db_add_param($this->ausbildungcode).",". - $this->db_add_param($this->zgv_code).",". - $this->db_add_param($this->zgvort).",". - $this->db_add_param($this->zgvdatum).",". - $this->db_add_param($this->zgvnation).",". - $this->db_add_param($this->zgvmas_code).",". - $this->db_add_param($this->zgvmaort).",". - $this->db_add_param($this->zgvmadatum).",". - $this->db_add_param($this->zgvmanation).",". - $this->db_add_param($this->aufnahmeschluessel).",". - $this->db_add_param($this->facheinschlberuf, FHC_BOOLEAN).",". - $this->db_add_param($this->reihungstest_id).",". - $this->db_add_param($this->anmeldungreihungstest).",". - $this->db_add_param($this->reihungstestangetreten, FHC_BOOLEAN).",". - $this->db_add_param($this->punkte).",". - $this->db_add_param($this->rt_punkte1).",". - $this->db_add_param($this->rt_punkte2).",". - $this->db_add_param($this->rt_punkte3).",". - $this->db_add_param($this->bismelden, FHC_BOOLEAN).",". - $this->db_add_param($this->insertamum).",". - $this->db_add_param($this->insertvon).",". - $this->db_add_param($this->updateamum).",". - $this->db_add_param($this->updatevon).",". - $this->db_add_param($this->anmerkung).",". - $this->db_add_param($this->dual, FHC_BOOLEAN).",". - $this->db_add_param($this->ausstellungsstaat).",". - $this->db_add_param($this->mentor).",". - $this->db_add_param($this->gsstudientyp_kurzbz).",". - $this->db_add_param($this->aufnahmegruppe_kurzbz).");"; + gsstudientyp_kurzbz, aufnahmegruppe_kurzbz, priorisierung) VALUES('. + $this->db_add_param($this->aufmerksamdurch_kurzbz).",". + $this->db_add_param($this->person_id).",". + $this->db_add_param($this->studiengang_kz).",". + $this->db_add_param($this->berufstaetigkeit_code).",". + $this->db_add_param($this->ausbildungcode).",". + $this->db_add_param($this->zgv_code).",". + $this->db_add_param($this->zgvort).",". + $this->db_add_param($this->zgvdatum).",". + $this->db_add_param($this->zgvnation).",". + $this->db_add_param($this->zgvmas_code).",". + $this->db_add_param($this->zgvmaort).",". + $this->db_add_param($this->zgvmadatum).",". + $this->db_add_param($this->zgvmanation).",". + $this->db_add_param($this->aufnahmeschluessel).",". + $this->db_add_param($this->facheinschlberuf, FHC_BOOLEAN).",". + $this->db_add_param($this->reihungstest_id).",". + $this->db_add_param($this->anmeldungreihungstest).",". + $this->db_add_param($this->reihungstestangetreten, FHC_BOOLEAN).",". + $this->db_add_param($this->punkte).",". + $this->db_add_param($this->rt_punkte1).",". + $this->db_add_param($this->rt_punkte2).",". + $this->db_add_param($this->rt_punkte3).",". + $this->db_add_param($this->bismelden, FHC_BOOLEAN).",". + $this->db_add_param($this->insertamum).",". + $this->db_add_param($this->insertvon).",". + $this->db_add_param($this->updateamum).",". + $this->db_add_param($this->updatevon).",". + $this->db_add_param($this->anmerkung).",". + $this->db_add_param($this->dual, FHC_BOOLEAN).",". + $this->db_add_param($this->ausstellungsstaat).",". + $this->db_add_param($this->mentor).",". + $this->db_add_param($this->gsstudientyp_kurzbz).",". + $this->db_add_param($this->aufnahmegruppe_kurzbz).",". + $this->db_add_param($this->priorisierung).");"; } else { $qry = 'UPDATE public.tbl_prestudent SET'. - ' aufmerksamdurch_kurzbz='.$this->db_add_param($this->aufmerksamdurch_kurzbz).",". - ' person_id='.$this->db_add_param($this->person_id).",". - ' studiengang_kz='.$this->db_add_param($this->studiengang_kz).",". - ' berufstaetigkeit_code='.$this->db_add_param($this->berufstaetigkeit_code).",". - ' ausbildungcode='.$this->db_add_param($this->ausbildungcode).",". - ' zgv_code='.$this->db_add_param($this->zgv_code).",". - ' zgvort='.$this->db_add_param($this->zgvort).",". - ' zgvdatum='.$this->db_add_param($this->zgvdatum).",". - ' zgvnation='.$this->db_add_param($this->zgvnation).",". - ' zgvmas_code='.$this->db_add_param($this->zgvmas_code).",". - ' zgvmaort='.$this->db_add_param($this->zgvmaort).",". - ' zgvmadatum='.$this->db_add_param($this->zgvmadatum).",". - ' zgvmanation='.$this->db_add_param($this->zgvmanation).",". - ' aufnahmeschluessel='.$this->db_add_param($this->aufnahmeschluessel).",". - ' facheinschlberuf='.$this->db_add_param($this->facheinschlberuf, FHC_BOOLEAN).",". - ' reihungstest_id='.$this->db_add_param($this->reihungstest_id).",". - ' anmeldungreihungstest='.$this->db_add_param($this->anmeldungreihungstest).",". - ' reihungstestangetreten='.$this->db_add_param($this->reihungstestangetreten, FHC_BOOLEAN).",". - ' rt_gesamtpunkte='.$this->db_add_param($this->punkte).",". - ' rt_punkte1='.$this->db_add_param($this->rt_punkte1).",". - ' rt_punkte2='.$this->db_add_param($this->rt_punkte2).",". - ' rt_punkte3='.$this->db_add_param($this->rt_punkte3).",". - ' bismelden='.$this->db_add_param($this->bismelden, FHC_BOOLEAN).",". - ' updateamum='.$this->db_add_param($this->updateamum).",". - ' updatevon='.$this->db_add_param($this->updatevon).",". - ' anmerkung='.$this->db_add_param($this->anmerkung).",". - ' mentor='.$this->db_add_param($this->mentor).",". - ' gsstudientyp_kurzbz='.$this->db_add_param($this->gsstudientyp_kurzbz).",". - ' dual='.$this->db_add_param($this->dual, FHC_BOOLEAN).",". - ' ausstellungsstaat='.$this->db_add_param($this->ausstellungsstaat).",". - ' aufnahmegruppe_kurzbz='.$this->db_add_param($this->aufnahmegruppe_kurzbz).' '. - " WHERE prestudent_id=".$this->db_add_param($this->prestudent_id).";"; + ' aufmerksamdurch_kurzbz='.$this->db_add_param($this->aufmerksamdurch_kurzbz).",". + ' person_id='.$this->db_add_param($this->person_id).",". + ' studiengang_kz='.$this->db_add_param($this->studiengang_kz).",". + ' berufstaetigkeit_code='.$this->db_add_param($this->berufstaetigkeit_code).",". + ' ausbildungcode='.$this->db_add_param($this->ausbildungcode).",". + ' zgv_code='.$this->db_add_param($this->zgv_code).",". + ' zgvort='.$this->db_add_param($this->zgvort).",". + ' zgvdatum='.$this->db_add_param($this->zgvdatum).",". + ' zgvnation='.$this->db_add_param($this->zgvnation).",". + ' zgvmas_code='.$this->db_add_param($this->zgvmas_code).",". + ' zgvmaort='.$this->db_add_param($this->zgvmaort).",". + ' zgvmadatum='.$this->db_add_param($this->zgvmadatum).",". + ' zgvmanation='.$this->db_add_param($this->zgvmanation).",". + ' aufnahmeschluessel='.$this->db_add_param($this->aufnahmeschluessel).",". + ' facheinschlberuf='.$this->db_add_param($this->facheinschlberuf, FHC_BOOLEAN).",". + ' reihungstest_id='.$this->db_add_param($this->reihungstest_id).",". + ' anmeldungreihungstest='.$this->db_add_param($this->anmeldungreihungstest).",". + ' reihungstestangetreten='.$this->db_add_param($this->reihungstestangetreten, FHC_BOOLEAN).",". + ' rt_gesamtpunkte='.$this->db_add_param($this->punkte).",". + ' rt_punkte1='.$this->db_add_param($this->rt_punkte1).",". + ' rt_punkte2='.$this->db_add_param($this->rt_punkte2).",". + ' rt_punkte3='.$this->db_add_param($this->rt_punkte3).",". + ' bismelden='.$this->db_add_param($this->bismelden, FHC_BOOLEAN).",". + ' updateamum='.$this->db_add_param($this->updateamum).",". + ' updatevon='.$this->db_add_param($this->updatevon).",". + ' anmerkung='.$this->db_add_param($this->anmerkung).",". + ' mentor='.$this->db_add_param($this->mentor).",". + ' gsstudientyp_kurzbz='.$this->db_add_param($this->gsstudientyp_kurzbz).",". + ' dual='.$this->db_add_param($this->dual, FHC_BOOLEAN).",". + ' ausstellungsstaat='.$this->db_add_param($this->ausstellungsstaat).",". + ' aufnahmegruppe_kurzbz='.$this->db_add_param($this->aufnahmegruppe_kurzbz).",". + ' priorisierung='.$this->db_add_param($this->priorisierung).' '. + " WHERE prestudent_id=".$this->db_add_param($this->prestudent_id).";"; } if($this->db_query($qry)) @@ -365,7 +369,7 @@ class prestudent extends person /** * Laden aller Prestudenten, die an $datum zum Reihungstest geladen sind. * da zukünftige Teilnehmer nicht mehr angezeigt werden sollen. - * @param date $datum Datum an dem der Reihungstest stattfindet + * @param string $datum Datum in der Form YYYY-MM-DD an dem der Reihungstest stattfindet * @return true wenn erfolgreich, false im Fehlerfall */ public function getPrestudentRT($datum) @@ -544,11 +548,11 @@ class prestudent extends person /** * Laedt die Interessenten und Bewerber fuer ein bestimmtes Studiensemester * - * @param $studiensemester_kurzbz Studiensemester fuer das die Int. und Bewerber geladen werden sollen. - * @param $studiengang_kz Kennzahl des Studiengangs. - * @param $semester Ausbildungssemester. - * @param $typ Filter fuer Typ von Interessenten/Bewerber - * @param $orgform Organisationsform. + * @param string $studiensemester_kurzbz Studiensemester fuer das die Int. und Bewerber geladen werden sollen. + * @param integer $studiengang_kz Kennzahl des Studiengangs. + * @param integer $semester Ausbildungssemester. + * @param string $typ Filter fuer Typ von Interessenten/Bewerber + * @param string $orgform Organisationsform. * @return boolean true wenn erfolgreich, false im Fehlerfall */ public function loadInteressentenUndBewerber($studiensemester_kurzbz, $studiengang_kz, $semester=null, $typ=null, $orgform=null) @@ -716,6 +720,7 @@ class prestudent extends person $ps->dual = $this->db_parse_bool($row->dual); $ps->gsstudientyp_kurzbz = $row->gsstudientyp_kurzbz; $ps->aufnahmegruppe_kurzbz = $row->aufnahmegruppe_kurzbz; + $ps->priorisierung = $row->priorisierung; $ps->status_kurzbz = $row->status_kurzbz; $ps->studiensemester_kurzbz = $row->studiensemester_kurzbz; @@ -874,21 +879,21 @@ class prestudent extends person studiensemester_kurzbz, ausbildungssemester, datum, insertamum, insertvon, updateamum, updatevon, ext_id, orgform_kurzbz, bestaetigtam, bestaetigtvon, anmerkung, bewerbung_abgeschicktamum, studienplan_id, rt_stufe, statusgrund_id) VALUES('. - $this->db_add_param($this->prestudent_id).",". - $this->db_add_param($this->status_kurzbz).",". - $this->db_add_param($this->studiensemester_kurzbz).",". - $this->db_add_param($this->ausbildungssemester).",". - $this->db_add_param($this->datum).",". - $this->db_add_param($this->insertamum).",". - $this->db_add_param($this->insertvon).",". - $this->db_add_param($this->updateamum).",". - $this->db_add_param($this->updatevon).",". - $this->db_add_param($this->ext_id_prestudent).",". - $this->db_add_param($this->orgform_kurzbz).",". - $this->db_add_param($this->bestaetigtam).",". - $this->db_add_param($this->bestaetigtvon).",". - $this->db_add_param($this->anmerkung_status).",". - $this->db_add_param($this->bewerbung_abgeschicktamum).",". + $this->db_add_param($this->prestudent_id).",". + $this->db_add_param($this->status_kurzbz).",". + $this->db_add_param($this->studiensemester_kurzbz).",". + $this->db_add_param($this->ausbildungssemester).",". + $this->db_add_param($this->datum).",". + $this->db_add_param($this->insertamum).",". + $this->db_add_param($this->insertvon).",". + $this->db_add_param($this->updateamum).",". + $this->db_add_param($this->updatevon).",". + $this->db_add_param($this->ext_id_prestudent).",". + $this->db_add_param($this->orgform_kurzbz).",". + $this->db_add_param($this->bestaetigtam).",". + $this->db_add_param($this->bestaetigtvon).",". + $this->db_add_param($this->anmerkung_status).",". + $this->db_add_param($this->bewerbung_abgeschicktamum).",". $this->db_add_param($this->studienplan_id,FHC_INTEGER).",". $this->db_add_param($this->rt_stufe,FHC_INTEGER).",". $this->db_add_param($this->statusgrund_id, FHC_INTEGER).");"; @@ -911,20 +916,20 @@ class prestudent extends person } } $qry = 'UPDATE public.tbl_prestudentstatus SET'. - ' ausbildungssemester='.$this->db_add_param($this->ausbildungssemester).",". - ' studiensemester_kurzbz='.$this->db_add_param($this->studiensemester_kurzbz).",". - ' datum='.$this->db_add_param($this->datum).",". - ' updateamum='.$this->db_add_param($this->updateamum).",". - ' updatevon='.$this->db_add_param($this->updatevon).",". - ' bestaetigtam='.$this->db_add_param($this->bestaetigtam).",". - ' bestaetigtvon='.$this->db_add_param($this->bestaetigtvon).",". - ' bewerbung_abgeschicktamum='.$this->db_add_param($this->bewerbung_abgeschicktamum).",". + ' ausbildungssemester='.$this->db_add_param($this->ausbildungssemester).",". + ' studiensemester_kurzbz='.$this->db_add_param($this->studiensemester_kurzbz).",". + ' datum='.$this->db_add_param($this->datum).",". + ' updateamum='.$this->db_add_param($this->updateamum).",". + ' updatevon='.$this->db_add_param($this->updatevon).",". + ' bestaetigtam='.$this->db_add_param($this->bestaetigtam).",". + ' bestaetigtvon='.$this->db_add_param($this->bestaetigtvon).",". + ' bewerbung_abgeschicktamum='.$this->db_add_param($this->bewerbung_abgeschicktamum).",". ' studienplan_id='.$this->db_add_param($this->studienplan_id, FHC_INTEGER).",". ' anmerkung='.$this->db_add_param($this->anmerkung_status).",". - ' orgform_kurzbz='.$this->db_add_param($this->orgform_kurzbz).",". + ' orgform_kurzbz='.$this->db_add_param($this->orgform_kurzbz).",". ' rt_stufe='.$this->db_add_param($this->rt_stufe).",". ' statusgrund_id='.$this->db_add_param($this->statusgrund_id, FHC_INTEGER)." ". - " WHERE + " WHERE prestudent_id=".$this->db_add_param($this->prestudent_id, FHC_INTEGER, false)." AND status_kurzbz=".$this->db_add_param($this->status_kurzbz, FHC_STRING, false)." AND studiensemester_kurzbz=".$this->db_add_param($this->studiensemester_old, FHC_STRING, false)." @@ -1072,12 +1077,12 @@ class prestudent extends person } $qry = "SELECT tbl_prestudentstatus.*, bezeichnung AS studienplan_bezeichnung, - tbl_status.bezeichnung_mehrsprachig - FROM public.tbl_prestudentstatus - LEFT JOIN lehre.tbl_studienplan USING (studienplan_id) - JOIN public.tbl_status USING (status_kurzbz) - WHERE tbl_status.status_kurzbz = tbl_prestudentstatus.status_kurzbz - AND prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER); + tbl_status.bezeichnung_mehrsprachig + FROM public.tbl_prestudentstatus + LEFT JOIN lehre.tbl_studienplan USING (studienplan_id) + JOIN public.tbl_status USING (status_kurzbz) + WHERE tbl_status.status_kurzbz = tbl_prestudentstatus.status_kurzbz + AND prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER); if($studiensemester_kurzbz!='') $qry.=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz); @@ -1230,6 +1235,10 @@ class prestudent extends person $obj->zgvdoktor_code = $row->zgvdoktor_code; $obj->zgvdoktorort = $row->zgvdoktorort; $obj->zgvdoktordatum = $row->zgvdoktordatum; + $obj->zgvdoktornation = $row->zgvdoktornation; + $obj->gsstudientyp_kurzbz = $row->gsstudientyp_kurzbz; + $obj->aufnahmegruppe_kurzbz = $row->aufnahmegruppe_kurzbz; + $obj->priorisierung = $row->priorisierung; $this->result[] = $obj; } @@ -1299,11 +1308,11 @@ class prestudent extends person /** * Liefert die Anzahl der Bewerber im ausgewaehlten Bereich - * @param $studiensemester_kurzbz Studiensemester - * @param $studiengang_kz Kennzahl des Studienganges (optional) - * @param $orgform_kurzbz Organisationsform (optional) - * @param $ausbildungssemester Ausbildungssemester (optional) - * @return Anzahl der Bewerber oder false im Fehlerfall + * @param string $studiensemester_kurzbz Studiensemester + * @param integer $studiengang_kz Kennzahl des Studienganges (optional) + * @param string $orgform_kurzbz Organisationsform (optional) + * @param integer $ausbildungssemester Ausbildungssemester (optional) + * @return integer Anzahl der Bewerber oder false im Fehlerfall */ public function getAnzBewerber($studiensemester_kurzbz, $studiengang_kz=null, $orgform_kurzbz=null, $ausbildungssemester=null) { @@ -1346,11 +1355,11 @@ class prestudent extends person /** * Liefert die Anzahl der Interessenten im ausgewaehlten Bereich - * @param $studiensemester_kurzbz Studiensemester - * @param $studiengang_kz Kennzahl des Studienganges (optional) - * @param $orgform_kurzbz Organisationsform (optional) - * @param $ausbildungssemester Ausbildungssemester (optional) - * @return Anzahl der Interessenten oder false im Fehlerfall + * @param string $studiensemester_kurzbz Studiensemester + * @param integer $studiengang_kz Kennzahl des Studienganges (optional) + * @param string $orgform_kurzbz Organisationsform (optional) + * @param integer $ausbildungssemester Ausbildungssemester (optional) + * @return integer Anzahl der Interessenten oder false im Fehlerfall */ public function getAnzInteressenten($studiensemester_kurzbz, $studiengang_kz=null, $orgform_kurzbz=null, $ausbildungssemester=null) { @@ -1393,11 +1402,11 @@ class prestudent extends person /** * Liefert die Anzahl der Interessenten mit Zugangsvoraussetzung im ausgewaehlten Bereich - * @param $studiensemester_kurzbz Studiensemester - * @param $studiengang_kz Kennzahl des Studienganges (optional) - * @param $orgform_kurzbz Organisationsform (optional) - * @param $ausbildungssemester Ausbildungssemester (optional) - * @return Anzahl der Interessenten mit ZGV oder false im Fehlerfall + * @param string $studiensemester_kurzbz Studiensemester + * @param integer $studiengang_kz Kennzahl des Studienganges (optional) + * @param string $orgform_kurzbz Organisationsform (optional) + * @param integer $ausbildungssemester Ausbildungssemester (optional) + * @return integer Anzahl der Interessenten mit ZGV oder false im Fehlerfall */ public function getAnzInteressentenZGV($studiensemester_kurzbz, $studiengang_kz=null, $orgform_kurzbz=null, $ausbildungssemester=null) { @@ -1687,10 +1696,10 @@ class prestudent extends person /** * Anzahl der Abbrecher liefern.
* WM: Kopie von getBewerber() => @TODO: überprüfen!!! - * @param type $studiensemester_kurzbz - * @param type $studiengang_kz - * @param type $orgform_kurzbz - * @param type $ausbildungssemester + * @param string $studiensemester_kurzbz + * @param integer $studiengang_kz + * @param string $orgform_kurzbz + * @param integer $ausbildungssemester * @return boolean */ public function getAnzAbbrecher($studiensemester_kurzbz, $studiengang_kz=null, $orgform_kurzbz=null, $ausbildungssemester=null) @@ -1736,10 +1745,10 @@ class prestudent extends person /** * Anzahl der Studierenden liefern.
* WM: Kopie von getBewerber() => @TODO: überprüfen!!! - * @param type $studiensemester_kurzbz - * @param type $studiengang_kz - * @param type $orgform_kurzbz - * @param type $ausbildungssemester + * @param string $studiensemester_kurzbz + * @param integer $studiengang_kz + * @param string $orgform_kurzbz + * @param integer $ausbildungssemester * @return boolean */ public function getAnzStudierende($studiensemester_kurzbz, $studiengang_kz=null, $orgform_kurzbz=null, $ausbildungssemester=null) @@ -1854,7 +1863,7 @@ class prestudent extends person aufnahmeschluessel, facheinschlberuf, anmeldungreihungstest, reihungstestangetreten, reihungstest_id, punkte, rt_punkte1, rt_punkte2, rt_punkte3, bismelden, person_id, anmerkung, mentor, ext_id_prestudent, dual, ausstellungsstaat, zgvdoktor_code, zgvdoktorort, zgvdoktordatum, zgvdoktornation, - gsstudientyp_kurzbz, aufnahmegruppe_kurzbz) VALUES('. + gsstudientyp_kurzbz, aufnahmegruppe_kurzbz, priorisierung) VALUES('. $this->db_add_param($this->prestudent_id).','. $this->db_add_param($this->aufmerksamdurch_kurzbz).','. $this->db_add_param($this->studiengang_kz).','. @@ -1889,7 +1898,8 @@ class prestudent extends person $this->db_add_param($this->zgvdoktordatum).','. $this->db_add_param($this->zgvdoktornation).','. $this->db_add_param($this->gsstudientyp_kurzbz).','. - $this->db_add_param($this->aufnahmegruppe_kurzbz).');'; + $this->db_add_param($this->aufnahmegruppe_kurzbz).','. + $this->db_add_param($this->priorisierung).');'; if($log->save(true)) { diff --git a/include/zeitaufzeichnung.class.php b/include/zeitaufzeichnung.class.php index 6a58a23cf..486f06db8 100755 --- a/include/zeitaufzeichnung.class.php +++ b/include/zeitaufzeichnung.class.php @@ -352,9 +352,10 @@ class zeitaufzeichnung extends basis_db * @param $user * @param $from startdatum als String in Form Y-m-d * @param $to enddatum als String in Form Y-m-d + * @param $excluded_activities zu ignorierende Aktivitätstypen * @return bool */ - public function getListeUserFromTo($user, $from = null, $to = null) + public function getListeUserFromTo($user, $from = null, $to = null, $excluded_activities = null) { $where = "uid=".$this->db_add_param($user); @@ -375,6 +376,12 @@ class zeitaufzeichnung extends basis_db $where.= " AND ((start >= ".$this->db_add_param($from)."::DATE AND start <= ".$this->db_add_param($to)."::DATE) OR (ende >= ".$this->db_add_param($from)."::DATE AND ende <= ".$this->db_add_param($to)."::DATE))"; + if (!empty($excluded_activities)) + { + $exactstring = is_array($excluded_activities) ? $this->db_implode4SQL($excluded_activities) : $this->db_add_param($excluded_activities); + $where .= " AND (aktivitaet_kurzbz NOT IN (" . $exactstring . ") OR aktivitaet_kurzbz IS NULL)"; + } + $qry = "SELECT *, to_char ((ende-start),'HH24:MI') as diff, (SELECT (to_char(sum(ende-start),'DD')::integer)*24+to_char(sum(ende-start),'HH24')::integer || ':' || to_char(sum(ende-start),'MI') diff --git a/locale/de-AT/tools.php b/locale/de-AT/tools.php index da72d4028..012530784 100644 --- a/locale/de-AT/tools.php +++ b/locale/de-AT/tools.php @@ -16,6 +16,7 @@ $this->phrasen['tools/alleStudiensemester']='Alle Studiensemester'; $this->phrasen['tools/abschlussdokumente']='Abschlussdokumente/Zeugnisse'; $this->phrasen['tools/nochKeineAbschlussdokumenteVorhanden']='Noch keine Abschlussdokumente vorhanden'; $this->phrasen['tools/keinStatusImStudiensemester']='Für das übergebene Studiensemester %1$s existiert kein Status. Bitte wählen Sie ein gültiges Studiensemester aus dem DropDown.'; +$this->phrasen['tools/warnungDruckDigitaleSignatur']='Hinweis! Digital signierte Dokumente werden in manchen Browsern und PDF-Readern nicht korrekt angezeigt.
Bitte verwenden Sie den Adobe Acrobat Reader, wenn Sie das Dokument ausdrucken möchten.'; //Leistungsbeurteilung $this->phrasen['tools/leistungsbeurteilung']='Leistungsbeurteilung'; diff --git a/locale/en-US/tools.php b/locale/en-US/tools.php index 95b5a6ae4..9d2eb0bc9 100644 --- a/locale/en-US/tools.php +++ b/locale/en-US/tools.php @@ -16,6 +16,7 @@ $this->phrasen['tools/alleStudiensemester']='All semester'; $this->phrasen['tools/abschlussdokumente']='Final documents/Transcripts'; $this->phrasen['tools/nochKeineAbschlussdokumenteVorhanden']='No final documents available yet'; $this->phrasen['tools/keinStatusImStudiensemester']='No status found for %1$s. Please select a valid semester from the dropdown.'; +$this->phrasen['tools/warnungDruckDigitaleSignatur']='Warning! Digitally signed documents are not displayed correctly in some browsers or PDF-readers.
Please use Adobe Acrobat Reader, if you want to print out the doument.'; // Nur grob übersetzt //Leistungsbeurteilung $this->phrasen['tools/leistungsbeurteilung']='Performance Assessment '; diff --git a/rdf/lehrauftrag.xml.php b/rdf/lehrauftrag.xml.php index 9d0ac32a4..ea2876198 100644 --- a/rdf/lehrauftrag.xml.php +++ b/rdf/lehrauftrag.xml.php @@ -30,6 +30,7 @@ require_once('../include/studiengang.class.php'); require_once('../include/lehreinheit.class.php'); require_once('../include/fachbereich.class.php'); require_once('../include/mitarbeiter.class.php'); +require_once('../include/bisverwendung.class.php'); if(isset($_SERVER['REMOTE_USER'])) { @@ -224,6 +225,10 @@ function drawLehrauftrag($uid) $name_gesamt = trim($row->titelpre.' '.$row->vorname.' '.$row->nachname.' '.$row->titelpost); $zuhanden=''; } + // Lädt die letzte (aktuellste) Verwendungen eines Mitarbeiters um die inkludierte Lehre auslesen zu können + $bis = new bisverwendung(); + $bis->getLastAktVerwendung($uid); + $xml.=' titelpre.']]> @@ -237,6 +242,7 @@ function drawLehrauftrag($uid) svnr.']]> personalnummer.']]> + inkludierte_lehre.']]> '; } } diff --git a/system/checkStudenten.php b/system/checkStudenten.php index c59f36b71..12bad24b8 100644 --- a/system/checkStudenten.php +++ b/system/checkStudenten.php @@ -602,6 +602,41 @@ if ($result = $db->db_query($qry)) } } +/* + * Aktive Studierende ohne Matrikelnummer + */ +$text .= "

Studierender hat keine Matrikelnummer

"; + +$qry = " +SELECT + distinct on (person_id) + tbl_student.student_uid, + tbl_prestudent.prestudent_id, + tbl_prestudent.studiengang_kz as studiengang +FROM + public.tbl_prestudent + JOIN public.tbl_prestudentstatus USING(prestudent_id) + JOIN public.tbl_person USING(person_id) + JOIN public.tbl_student USING(prestudent_id) + JOIN public.tbl_benutzer USING(person_id) +WHERE + status_kurzbz in('Student', 'Diplomand', 'Absolvent', 'Abbrecher') + AND tbl_prestudent.bismelden + AND tbl_benutzer.aktiv + AND tbl_person.matr_nr is null OR tbl_person.matr_nr = '' + AND tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($aktSem); + +if ($studiengang_kz != '') + $qry .= " AND tbl_prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); + +if ($result = $db->db_query($qry)) +{ + while ($row = $db->db_fetch_object($result)) + { + $ausgabe[$row->studiengang][14][] = $row->student_uid; + } +} + // Ausgabe der Studenten foreach ($ausgabe as $stg_kz => $value) { @@ -751,6 +786,16 @@ foreach ($ausgabe as $stg_kz => $value) Studienplan ist in diesem Semester nicht gültig (nicht BIS relevant) "; break; + case 14: + echo " + +   + + + Aktive Studierende ohne Matrikelnummer + "; + break; + default: echo " Ungültiger Code"; break; diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 3ec6dd073..7afd81f13 100755 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -2400,19 +2400,19 @@ if(!$result = @$db->db_query("SELECT lkt_ueberschreibbar FROM lehre.tbl_note LIM if(!@$db->db_query("SELECT zeitaufzeichnungspflichtig FROM bis.tbl_bisverwendung LIMIT 1")) { $qry = "ALTER TABLE bis.tbl_bisverwendung ADD COLUMN zeitaufzeichnungspflichtig boolean; - - UPDATE - bis.tbl_bisverwendung - SET - zeitaufzeichnungspflichtig=true - FROM - public.tbl_mitarbeiter - WHERE - tbl_bisverwendung.mitarbeiter_uid = tbl_mitarbeiter.mitarbeiter_uid - AND + + UPDATE + bis.tbl_bisverwendung + SET + zeitaufzeichnungspflichtig=true + FROM + public.tbl_mitarbeiter + WHERE + tbl_bisverwendung.mitarbeiter_uid = tbl_mitarbeiter.mitarbeiter_uid + AND fixangestellt=true; UPDATE - bis.tbl_bisverwendung + bis.tbl_bisverwendung SET zeitaufzeichnungspflichtig=false FROM @@ -2421,7 +2421,7 @@ if(!@$db->db_query("SELECT zeitaufzeichnungspflichtig FROM bis.tbl_bisverwendung tbl_bisverwendung.mitarbeiter_uid = tbl_mitarbeiter.mitarbeiter_uid AND fixangestellt=false; - + COMMENT ON COLUMN bis.tbl_bisverwendung.zeitaufzeichnungspflichtig IS 'CaseTime Monatslisten mit Vertragsbeginn verpflichtend führen?';"; if(!$db->db_query($qry)) @@ -2431,6 +2431,31 @@ if(!@$db->db_query("SELECT zeitaufzeichnungspflichtig FROM bis.tbl_bisverwendung . "
Fix angestellte Mitarbeiter auf true gesetzt, alle anderen auf false"; } + +// Spalte Priorisierung für tbl_prestudent +if(!$result = @$db->db_query("SELECT priorisierung FROM public.tbl_prestudent LIMIT 1")) +{ + $qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN priorisierung smallint;"; + + if(!$db->db_query($qry)) + echo 'public.tbl_prestudent: '.$db->db_last_error().'
'; + else + echo '
public.tbl_prestudent: Spalte priorisierung hinzugefuegt'; +} + +// Spalte lieferant in tbl_firma +if(!$result = @$db->db_query("SELECT lieferant FROM public.tbl_firma LIMIT 1")) +{ + $qry = "ALTER TABLE public.tbl_firma ADD COLUMN lieferant boolean default false; + UPDATE public.tbl_firma SET lieferant = true WHERE firmentyp_kurzbz = 'Firma'"; + + if(!$db->db_query($qry)) + echo 'public.tbl_firma: '.$db->db_last_error().'
'; + else + echo '
public.tbl_firma: Spalte lieferant hinzugefuegt'; +} + + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; @@ -2597,7 +2622,7 @@ $tabellen=array( "public.tbl_erhalter" => array("erhalter_kz","kurzbz","bezeichnung","dvr","logo","zvr"), "public.tbl_fachbereich" => array("fachbereich_kurzbz","bezeichnung","farbe","studiengang_kz","aktiv","ext_id","oe_kurzbz"), "public.tbl_filter" => array("filter_id","kurzbz","sql","valuename","showvalue","insertamum","insertvon","updateamum","updatevon","type","htmlattr", "bezeichnung"), - "public.tbl_firma" => array("firma_id","name","anmerkung","firmentyp_kurzbz","updateamum","updatevon","insertamum","insertvon","ext_id","schule","finanzamt","steuernummer","gesperrt","aktiv","lieferbedingungen","partner_code"), + "public.tbl_firma" => array("firma_id","name","anmerkung","firmentyp_kurzbz","updateamum","updatevon","insertamum","insertvon","ext_id","schule","finanzamt","steuernummer","gesperrt","aktiv","lieferbedingungen","partner_code","lieferant"), "public.tbl_firma_mobilitaetsprogramm" => array("firma_id","mobilitaetsprogramm_code","ext_id"), "public.tbl_firma_organisationseinheit" => array("firma_organisationseinheit_id","firma_id","oe_kurzbz","bezeichnung","kundennummer","updateamum","updatevon","insertamum","insertvon","ext_id"), "public.tbl_firmentyp" => array("firmentyp_kurzbz","beschreibung"), @@ -2636,7 +2661,7 @@ $tabellen=array( "public.tbl_preoutgoing_lehrveranstaltung" => array("preoutgoing_lehrveranstaltung_id","preoutgoing_id","bezeichnung","ects","endversion","insertamum","insertvon","updateamum","updatevon","wochenstunden","unitcode"), "public.tbl_preoutgoing_preoutgoing_status" => array("status_id","preoutgoing_status_kurzbz","preoutgoing_id","datum","insertamum","insertvon","updateamum","updatevon"), "public.tbl_preoutgoing_status" => array("preoutgoing_status_kurzbz","bezeichnung"), - "public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id","ausstellungsstaat","rt_punkte3", "zgvdoktor_code", "zgvdoktorort", "zgvdoktordatum","mentor","zgvnation","zgvmanation","zgvdoktornation","gsstudientyp_kurzbz","aufnahmegruppe_kurzbz","udf_values"), + "public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id","ausstellungsstaat","rt_punkte3", "zgvdoktor_code", "zgvdoktorort", "zgvdoktordatum","mentor","zgvnation","zgvmanation","zgvdoktornation","gsstudientyp_kurzbz","aufnahmegruppe_kurzbz","udf_values","priorisierung"), "public.tbl_prestudentstatus" => array("prestudent_id","status_kurzbz","studiensemester_kurzbz","ausbildungssemester","datum","orgform_kurzbz","insertamum","insertvon","updateamum","updatevon","ext_id","studienplan_id","bestaetigtam","bestaetigtvon","fgm","faktiv", "anmerkung","bewerbung_abgeschicktamum","rt_stufe","statusgrund_id"), "public.tbl_raumtyp" => array("raumtyp_kurzbz","beschreibung","kosten"), "public.tbl_reihungstest" => array("reihungstest_id","studiengang_kz","ort_kurzbz","anmerkung","datum","uhrzeit","updateamum","updatevon","insertamum","insertvon","ext_id","freigeschaltet","max_teilnehmer","oeffentlich","studiensemester_kurzbz","aufnahmegruppe_kurzbz","stufe","anmeldefrist"), diff --git a/system/xsl/lehrauftrag_0.xsl b/system/xsl/lehrauftrag_0.xsl index 3a43675b1..48d7cd664 100644 --- a/system/xsl/lehrauftrag_0.xsl +++ b/system/xsl/lehrauftrag_0.xsl @@ -442,7 +442,15 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - + + + € 0,00 + + + + + + @@ -514,10 +522,26 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - + + + + 0.00 + + + + + - + + + + € 0,00 + + + + + diff --git a/system/xsl/lehrauftrag_Lehrgaenge.xsl b/system/xsl/lehrauftrag_Lehrgaenge.xsl index 3f24ffa4d..596ece912 100644 --- a/system/xsl/lehrauftrag_Lehrgaenge.xsl +++ b/system/xsl/lehrauftrag_Lehrgaenge.xsl @@ -435,7 +435,14 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - + + + € 0,00 + + + + + @@ -507,10 +514,26 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - + + + + 0.00 + + + + + - + + + + € 0,00 + + + + + diff --git a/vilesci/bis/lehrgangsmeldung.php b/vilesci/bis/lehrgangsmeldung.php index 915a227cd..76b0b7f30 100644 --- a/vilesci/bis/lehrgangsmeldung.php +++ b/vilesci/bis/lehrgangsmeldung.php @@ -1,587 +1,590 @@ - - * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > - */ -require_once('../../config/vilesci.config.inc.php'); -require_once('../../include/studiensemester.class.php'); -require_once('../../include/datum.class.php'); -require_once('../../include/functions.inc.php'); -require_once('../../include/benutzerberechtigung.class.php'); - -if (!$db = new basis_db()) - die('Es konnte keine Verbindung zum Server aufgebaut werden.'); - -$uid = get_uid(); - -$rechte = new benutzerberechtigung(); -$rechte->getBerechtigungen($uid); - -if(!$rechte->isBerechtigt('student/stammdaten', null, 'suid')) - die('Sie haben keine Berechtigung für diese Seite'); - -$error_log=''; -$error_log1=''; -$error_log_all=""; -$fehler=''; -$maxsemester=0; -$v=''; -$studiensemester=new studiensemester(); -$ssem=$studiensemester->getaktorNext(); -$psem=$studiensemester->getPrevious(); -$datei=''; -$zaehl=0; -$lehrgangsname = ''; - -$stsem_obj = new studiensemester(); -$stsem_obj->load($ssem); -//Beginn- und Endedatum des aktuellen Semesters -$beginn=$stsem_obj->start; -$ende=$stsem_obj->ende; - -//Ermittlung aktuelles und letztes BIS-Meldedatum -if(mb_strstr($ssem,"WS")) -{ - $bisdatum=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y"))); - $bisprevious=date("Y-m-d", mktime(0, 0, 0, 04, 15, date("Y"))); -} -elseif(mb_strstr($ssem,"SS")) -{ - $bisdatum=date("Y-m-d", mktime(0, 0, 0, 04, 15, date("Y"))); - $bisprevious=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y")-1)); -} -else -{ - echo "Ungültiges Semester!"; -} -//ausgewählter Lehrgang -if(isset($_GET['stg_kz'])) -{ - if($_GET['stg_kz']<0) - { - $stg_kz=$_GET['stg_kz']; - } - else - { - echo "

Es wurde kein Lehrgang ausgewählt!

"; - } -} -else -{ - echo "

Es wurde kein Lehrgang ausgewählt!

"; - exit; -} -//plausicheck -if(isset($_GET['plausi'])) -{ - $plausi=$_GET['plausi']; -} -$datumobj=new datum(); - -//Lehrgangsdaten auslesen -$qry="SELECT * FROM public.tbl_studiengang WHERE studiengang_kz=".$db->db_add_param($stg_kz); -if($result = $db->db_query($qry)) -{ - if($row = $db->db_fetch_object($result)) - { - $stgart=$row->typ; - $lgartcode = $row->lgartcode; - $qrylgart = "SELECT lgart_biscode FROM bis.tbl_lgartcode WHERE lgartcode=".$db->db_add_param($row->lgartcode); - if($result_lgartcode = $db->db_query($qrylgart)) - { - if($row_lgartcode = $db->db_fetch_object($result_lgartcode)) - { - $lgartcode=$row_lgartcode->lgart_biscode; - } - } - - $stgemail=$row->email; - if(strlen(trim($row->erhalter_kz))==1) - { - $erhalter='00'.trim($row->erhalter_kz); - } - elseif(strlen(trim($row->erhalter_kz))==2) - { - $erhalter='0'.trim($row->erhalter_kz); - } - else - { - $erhalter=$row->erhalter_kz; - } - $lehrgangsname = $row->bezeichnung; - } -} -$lehrgangsnummer = $erhalter.sprintf('%04s', abs($stg_kz)); -$tabelle = ' - - - - - - '; -$anzahl_gemeldet=0; -//Hauptselect -$qry="SELECT DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat - FROM public.tbl_student - JOIN public.tbl_benutzer ON(student_uid=uid) - JOIN public.tbl_person USING (person_id) - JOIN public.tbl_prestudent USING (prestudent_id) - JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id) - WHERE bismelden IS TRUE - AND tbl_student.studiengang_kz=".$db->db_add_param($stg_kz)." - AND (((tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($ssem).") AND (tbl_prestudentstatus.datum<=".$db->db_add_param($bisdatum).") - AND (status_kurzbz='Student' OR status_kurzbz='Outgoing' - OR status_kurzbz='Praktikant' OR status_kurzbz='Diplomand' OR status_kurzbz='Absolvent' - OR status_kurzbz='Abbrecher' OR status_kurzbz='Unterbrecher')) - OR ((tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($psem).") AND (status_kurzbz='Absolvent' - OR status_kurzbz='Abbrecher') AND tbl_prestudentstatus.datum>".$db->db_add_param($bisprevious).") - OR (status_kurzbz='Incoming' AND student_uid IN (SELECT student_uid FROM bis.tbl_bisio WHERE (tbl_bisio.bis>=".$db->db_add_param($bisprevious).") - OR (tbl_bisio.von<".$db->db_add_param($bisdatum)." AND (tbl_bisio.bis>=".$db->db_add_param($bisdatum)." OR tbl_bisio.bis IS NULL)) - ))) - ORDER BY student_uid, nachname, vorname - "; - -if($result = $db->db_query($qry)) -{ - - $datei.=" - - ".$erhalter." - ".date("dmY", $datumobj->mktime_fromdate($bisdatum))." - - - ".$lehrgangsnummer.""; - - while($row = $db->db_fetch_object($result)) - { - //Plausichecks - $qryadr="SELECT * FROM public.tbl_adresse WHERE heimatadresse IS TRUE AND person_id=".$db->db_add_param($row->pers_id).";"; - $results=$db->db_query($qryadr); - - if($anz=$db->db_num_rows($results)!=1) - { - $error_log1="Es sind ".$anz." Heimatadressen eingetragen\n"; - } - if($rowadr=$db->db_fetch_object($results)) - { - $plz=$rowadr->plz; - $gemeinde=$rowadr->gemeinde; - $strasse=$rowadr->strasse; - $nation=$rowadr->nation; - } - else - { - $plz=''; - $gemeinde=''; - $strasse=''; - $nation=''; - } - if($row->gebdatum<'1920-01-01' OR $row->gebdatum==null OR $row->gebdatum=='') - { - $error_log.=(!empty($error_log)?', ':'')."Geburtsdatum ('".$row->gebdatum."')"; - } - if($row->geschlecht!='m' && $row->geschlecht!='w') - { - $error_log.=(!empty($error_log)?', ':'')."Geschlecht ('".$row->geschlecht."')"; - } - if($row->vorname=='' || $row->vorname==null) - { - $error_log.=(!empty($error_log)?', ':'')."Vorname ('".$row->vorname."')"; - } - if($row->nachname=='' || $row->nachname==null) - { - $error_log.=(!empty($error_log)?', ':'')."Nachname ('".$row->nachname."')"; - } - //SVNR mu߸ 10-stellig sein - if($row->svnr!='' && $row->svnr!=null && mb_strlen(trim($row->svnr))!=10) - { - $error_log.=(!empty($error_log)?', ':'')."SVNR ('".trim($row->svnr)."') ist nicht 10 Zeichen lang"; - } - //Ersatzkennzeichen muß 10-stellig sein - if($row->ersatzkennzeichen!='' && $row->ersatzkennzeichen!=null && mb_strlen(trim($row->ersatzkennzeichen))!=10) - { - $error_log.=(!empty($error_log)?', ':'')."Ersatzkennzeichen ('".trim($row->ersatzkennzeichen)."') ist nicht 10 Zeichen lang"; - } - //Vergleich der letzten 6 Stellen der SVNR mit Geburtsdatum - ausser bei 01.01. und 01.07. - if($row->svnr!='' && $row->svnr!=null && substr($row->svnr,4,6)!=$row->vdat && substr($row->vdat,0,4)!='0101' && substr($row->vdat,0,4)!='0107') - { - $error_log.=(!empty($error_log)?', ':'')."SVNR ('".$row->svnr."') enthält Geburtsdatum (".$row->gebdatum.") nicht"; - } - //Vergleich der letzten 6 Stellen des Ersatzkennzeichen mit Geburtsdatum - if($row->ersatzkennzeichen!='' && $row->ersatzkennzeichen!=null && substr($row->ersatzkennzeichen,4,6)!=$row->vdat) - { - $error_log.=(!empty($error_log)?', ':'')."Ersatzkennzeichen ('".$row->ersatzkennzeichen."') enthält Geburtsdatum (".$row->gebdatum.") nicht"; - } - if(($row->svnr=='' || $row->svnr==null)&&($row->ersatzkennzeichen=='' || $row->ersatzkennzeichen==null)) - { - $error_log.=(!empty($error_log)?', ':'')."SVNR ('".$row->svnr."') bzw. ErsKz ('".$row->ersatzkennzeichen."') fehlt"; - } - if($row->staatsbuergerschaft=='' || $row->staatsbuergerschaft==null) - { - $error_log.=(!empty($error_log)?', ':'')."Staatsbürgerschaft ('".$row->staatsbuergerschaft."')"; - } - if($plz=='' || $plz==null) - { - $error_log.=(!empty($error_log)?', ':'')."Heimat-PLZ ('".$plz."')"; - } - if($gemeinde=='' || $gemeinde==null) - { - $error_log.=(!empty($error_log)?', ':'')."Heimat-Gemeinde ('".$gemeinde."')"; - } - if($strasse=='' || $strasse==null) - { - $error_log.=(!empty($error_log)?', ':'')."Heimat-Strasse ('".$strasse."')"; - } - if($nation=='' || $nation==null) - { - $error_log.=(!empty($error_log)?', ':'')."Heimat-Nation ('".$nation."')"; - } - if($row->zgv_code=='' || $row->zgv_code==null) - { - $error_log.=(!empty($error_log)?', ':'')."ZugangCode ('".$row->zgv_code."')"; - } - if($row->zgvdatum=='' || $row->zgvdatum==null) - { - $error_log.=(!empty($error_log)?', ':'')."ZugangDatum ('".$row->zgvdatum."')"; - } - else - { - if($row->zgvdatum>date('Y-m-d')) - { - $error_log.=(!empty($error_log)?', ':'')."ZugangDatum liegt in der Zukunft ('".$row->zgvdatum."')"; - } - if($row->zgvdatum<$row->gebdatum) - { - $error_log.=(!empty($error_log)?', ':'')."ZugangDatum ('".$row->zgvdatum."') kleiner als Geburtsdatum ('".$row->gebdatum."')"; - } - } - if($lgartcode==1) - { - if($row->zgvmas_code=='' || $row->zgvmas_code==null) - { - $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgCode ('".$row->zgvmas_code."')"; - } - if($row->zgvmadatum=='' || $row->zgvmadatum==null) - { - $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgDatum ('".$row->zgvmadatum."')"; - } - else - { - if($row->zgvmadatum>date("Y-m-d")) - { - $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgDatum liegt in der Zukunft ('".$row->zgvmadatum."')"; - } - if($row->zgvmadatum<$row->zgvdatum) - { - $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgDatum ('".$row->zgvmadatum."') kleiner als Zugangdatum ('".$row->zgvdatum."')"; - } - if($row->zgvmadatum<$row->gebdatum) - { - $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgDatum ('".$row->zgvmadatum."') kleiner als Geburtsdatum ('".$row->gebdatum."')"; - } - } - } - //Bestimmen der aktuellen Prestudentrolle (Status) und des akt. Ausbildungssemesters des Studenten - $qrystatus="SELECT * FROM public.tbl_prestudentstatus - WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND studiensemester_kurzbz=".$db->db_add_param($ssem)." - AND (tbl_prestudentstatus.datum<".$db->db_add_param($bisdatum).") - ORDER BY datum desc, insertamum desc, ext_id desc;"; - if($resultstatus = $db->db_query($qrystatus)) - { - if($db->db_num_rows($resultstatus)>0) - { - if($rowstatus = $db->db_fetch_object($resultstatus)) - { - $qry1="SELECT count(*) AS dipl FROM public.tbl_prestudentstatus WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND status_kurzbz='Diplomand'"; - if($result1 = $db->db_query($qry1)) - { - if($row1 = $db->db_fetch_object($result1)) - { - $sem=$rowstatus->ausbildungssemester; - if($sem>$maxsemester) - { - $sem=$maxsemester; - } - if($row1->dipl>1) - { - $sem=50; - } - if($row1->dipl>3) - { - $sem=60; - } - } - } - if($rowstatus->status_kurzbz=="Student" || $rowstatus->status_kurzbz=='Praktikant' - || $rowstatus->status_kurzbz=="Diplomand") - { - $status=1; - } - else if($rowstatus->status_kurzbz=="Unterbrecher" ) - { - $status=2; - } - else if($rowstatus->status_kurzbz=="Absolvent" ) - { - $status=3; - } - else if($rowstatus->status_kurzbz=="Abbrecher" ) - { - $status=4; - } - else - { - $error_log=''; - $error_log1=''; - continue; - } - $aktstatus=$rowstatus->status_kurzbz; - $aktstatus_datum=$rowstatus->datum; - $storgform=$rowstatus->orgform_kurzbz; - } - } - else - { - $qrystatus="SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND studiensemester_kurzbz=".$db->db_add_param($psem)." AND (tbl_prestudentstatus.datum<".$db->db_add_param($bisdatum).") ORDER BY datum desc, insertamum desc, ext_id desc;"; - if($resultstatus = $db->db_query($qrystatus)) - { - if($rowstatus = $db->db_fetch_object($resultstatus)) - { - $qry1="SELECT count(*) AS dipl FROM public.tbl_prestudentstatus WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND status_kurzbz='Diplomand'"; - if($result1 = $db->db_query($qry1)) - { - if($row1 = $db->db_fetch_object($result1)) - { - $sem=$rowstatus->ausbildungssemester; - if($sem>$maxsemester) - { - $sem=$maxsemester; - } - if($row1->dipl>1) - { - $sem=50; - } - if($row1->dipl>3) - { - $sem=60; - } - } - } - if($rowstatus->status_kurzbz=="Absolvent" ) - { - $status=3; - } - else if($rowstatus->status_kurzbz=="Abbrecher" ) - { - $status=4; - } - else - { - $error_log=''; - $error_log1=''; - continue; - } - $aktstatus=$rowstatus->status_kurzbz; - $aktstatus_datum=$rowstatus->datum; - //$storgform=$rowstatus->orgform_kurzbz; - } - } - } - } - //bei Absolventen das Beendigungsdatum (Sponsion oder Abschlussprüfung) überprüfen - - if($aktstatus=='Absolvent') - { - $qry_ap="SELECT * FROM lehre.tbl_abschlusspruefung WHERE student_uid=".$db->db_add_param($row->student_uid)." AND abschlussbeurteilung_kurzbz!='nicht' AND abschlussbeurteilung_kurzbz IS NOT NULL"; - if($result_ap = $db->db_query($qry_ap)) - { - $ap=0; - while($row_ap = $db->db_fetch_object($result_ap)) - { - if($row_ap->datum=='' || $row_ap->datum==null) - { - $error_log.=(!empty($error_log)?', ':'')."Datum der Abschlussprüfung ('".$row_ap->datum."')"; - } - if($row_ap->sponsion=='' || $row_ap->sponsion==null) - { - $error_log.=(!empty($error_log)?', ':'')."Datum der Sponsion ('".$row_ap->sponsion."')"; - } - $ap++; - $sponsion=$row_ap->sponsion; - } - if($ap!=1) - { - $error_log.=(!empty($error_log)?', ':'').$ap." bestandene Abschlussprüfungen"; - } - } - } - - if($row->zgvmanation!='' && $lgartcode==1) // Master Lehrgang - $ausstellungsstaat = $row->zgvmanation; - elseif($row->zgvnation!='') - $ausstellungsstaat = $row->zgvnation; - else - $ausstellungsstaat = $row->ausstellungsstaat; - if($ausstellungsstaat == '') - { - $error_log.=(!empty($error_log)?', ':'')." Ausstellungsstaat fehlt"; - } - - if($error_log!='' OR $error_log1!='') - { - //Ausgabe der fehlenden Daten - $v.="Bei Student (UID, Vorname, Nachname) '".$row->student_uid."', '".$row->nachname."', '".$row->vorname."' ($row->status_kurzbz): \n"; - if($error_log!='') - { - $v.="     Fehler: ".$error_log."\n"; - } - if($error_log1!='') - { - $v.="     ".$error_log1; - } - $zaehl++; - $v.="\n"; - $error_log=''; - $error_log1=''; - continue; - } - else - { - $anzahl_gemeldet++; - $tabelle.=''; - - //Erstellung der XML-Datei - $datei.=" - - ".trim($row->matrikelnr)." - ".date("dmY", $datumobj->mktime_fromdate($row->gebdatum))." - ".strtoupper($row->geschlecht).""; - if(($row->svnr!='')&&($row->ersatzkennzeichen!='')) - { - $datei.=" - ".$row->svnr.""; - $datei.=" - ".$row->ersatzkennzeichen.""; - } - else - { - if($row->svnr!='') - { - $datei.=" - ".$row->svnr.""; - } - if($row->ersatzkennzeichen!='') - { - $datei.=" - ".$row->ersatzkennzeichen.""; - } - } - - $datei.=" - ".$row->staatsbuergerschaft." - ".$plz." - ".$gemeinde." - ".$nation." - ".$row->zgv_code." - ".date("dmY", $datumobj->mktime_fromdate($row->zgvdatum)).""; - - if($lgartcode==1) - { - $datei.=" - ".$row->zgvmas_code." - ".date("dmY", $datumobj->mktime_fromdate($row->zgvmadatum)).""; - } - - $datei.=" - ".$ausstellungsstaat.""; - - $qryad="SELECT - * - FROM - public.tbl_prestudentstatus - WHERE - prestudent_id=".$db->db_add_param($row->prestudent_id, FHC_INTEGER)." - AND (status_kurzbz='Student' OR status_kurzbz='Unterbrecher') - AND (tbl_prestudentstatus.datum<".$db->db_add_param($bisdatum).") ORDER BY datum asc;"; - - if($resultad = $db->db_query($qryad)) - { - if($rowad = $db->db_fetch_object($resultad)) - { - $datei.=" - ".date("dmY", $datumobj->mktime_fromdate($rowad->datum)).""; - } - } - - if($aktstatus=='Absolvent') - { - $datei.=" - ".date("dmY", $datumobj->mktime_fromdate($aktstatus_datum)).""; - } - if($aktstatus=='Abbrecher') - { - $datei.=" - ".date("dmY", $datumobj->mktime_fromdate($aktstatus_datum)).""; - } - $datei.=" - ".$status." - "; - } - } - $tabelle.='
UIDNachnameVornamePersKz
'.$row->student_uid.''.$row->nachname.''.$row->vorname.''.$row->matrikelnr.'
'; - - $datei.=" - - -"; - - echo ' - - - BIS - Lehrgangsmeldung - '.$lehrgangsname.' ('.$lehrgangsnummer.') - - - - '; - - echo "

BIS - Studentendaten werden überprüft! Lehrgang: ".$lehrgangsname.' ('.$lehrgangsnummer.")

\n"; - - if(strlen(trim($v))>0) - { - echo "

Nicht plausible BIS-Daten (für Meldung ".$ssem."):


"; - echo nl2br($v."\n\n"); - } - - $ddd='bisdaten/bismeldung_'.$ssem.'_Lehrgang'.$lehrgangsnummer.'.xml'; - $dateiausgabe=fopen($ddd,'w'); - fwrite($dateiausgabe,$datei); - fclose($dateiausgabe); - - if(file_exists($ddd)) - { - echo "XML-Datei für BIS-Meldung Lehrgang ".$lehrgangsname.' ('.$lehrgangsnummer.")
"; - } - - echo '
'; - echo '
Folgende Personen sind in der Meldung enthalten:

'; - echo 'Anzahl:'.$anzahl_gemeldet; - echo $tabelle; -} -?> + + * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > + * Rudolf Hangl < rudolf.hangl@technikum-wien.at > + * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + */ +require_once('../../config/vilesci.config.inc.php'); +require_once('../../include/studiensemester.class.php'); +require_once('../../include/datum.class.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/benutzerberechtigung.class.php'); + +if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + +$uid = get_uid(); + +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($uid); + +if(!$rechte->isBerechtigt('student/stammdaten', null, 'suid')) + die('Sie haben keine Berechtigung für diese Seite'); + +$error_log=''; +$error_log1=''; +$error_log_all=""; +$fehler=''; +$maxsemester=0; +$v=''; +$studiensemester=new studiensemester(); +$ssem=$studiensemester->getaktorNext(); +$psem=$studiensemester->getPrevious(); +$datei=''; +$zaehl=0; +$lehrgangsname = ''; + +$stsem_obj = new studiensemester(); +$stsem_obj->load($ssem); +//Beginn- und Endedatum des aktuellen Semesters +$beginn=$stsem_obj->start; +$ende=$stsem_obj->ende; + +//Ermittlung aktuelles und letztes BIS-Meldedatum +if(mb_strstr($ssem,"WS")) +{ + $bisdatum=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y"))); + $bisprevious=date("Y-m-d", mktime(0, 0, 0, 04, 15, date("Y"))); +} +elseif(mb_strstr($ssem,"SS")) +{ + $bisdatum=date("Y-m-d", mktime(0, 0, 0, 04, 15, date("Y"))); + $bisprevious=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y")-1)); +} +else +{ + echo "Ungültiges Semester!"; +} +//ausgewählter Lehrgang +if(isset($_GET['stg_kz'])) +{ + if($_GET['stg_kz']<0) + { + $stg_kz=$_GET['stg_kz']; + } + else + { + echo "

Es wurde kein Lehrgang ausgewählt!

"; + } +} +else +{ + echo "

Es wurde kein Lehrgang ausgewählt!

"; + exit; +} +//plausicheck +if(isset($_GET['plausi'])) +{ + $plausi=$_GET['plausi']; +} +$datumobj=new datum(); + +//Lehrgangsdaten auslesen +$qry="SELECT * FROM public.tbl_studiengang WHERE studiengang_kz=".$db->db_add_param($stg_kz); +if($result = $db->db_query($qry)) +{ + if($row = $db->db_fetch_object($result)) + { + $stgart=$row->typ; + $lgartcode = $row->lgartcode; + $qrylgart = "SELECT lgart_biscode FROM bis.tbl_lgartcode WHERE lgartcode=".$db->db_add_param($row->lgartcode); + if($result_lgartcode = $db->db_query($qrylgart)) + { + if($row_lgartcode = $db->db_fetch_object($result_lgartcode)) + { + $lgartcode=$row_lgartcode->lgart_biscode; + } + } + + $stgemail=$row->email; + if(strlen(trim($row->erhalter_kz))==1) + { + $erhalter='00'.trim($row->erhalter_kz); + } + elseif(strlen(trim($row->erhalter_kz))==2) + { + $erhalter='0'.trim($row->erhalter_kz); + } + else + { + $erhalter=$row->erhalter_kz; + } + $lehrgangsname = $row->bezeichnung; + } +} +$lehrgangsnummer = $erhalter.sprintf('%04s', abs($stg_kz)); +$tabelle = ' + + + + + + '; +$anzahl_gemeldet=0; +//Hauptselect +$qry="SELECT DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat + FROM public.tbl_student + JOIN public.tbl_benutzer ON(student_uid=uid) + JOIN public.tbl_person USING (person_id) + JOIN public.tbl_prestudent USING (prestudent_id) + JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id) + WHERE bismelden IS TRUE + AND tbl_student.studiengang_kz=".$db->db_add_param($stg_kz)." + AND (((tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($ssem).") AND (tbl_prestudentstatus.datum<=".$db->db_add_param($bisdatum).") + AND (status_kurzbz='Student' OR status_kurzbz='Outgoing' + OR status_kurzbz='Praktikant' OR status_kurzbz='Diplomand' OR status_kurzbz='Absolvent' + OR status_kurzbz='Abbrecher' OR status_kurzbz='Unterbrecher')) + OR ((tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($psem).") AND (status_kurzbz='Absolvent' + OR status_kurzbz='Abbrecher') AND tbl_prestudentstatus.datum>".$db->db_add_param($bisprevious).") + OR (status_kurzbz='Incoming' AND student_uid IN (SELECT student_uid FROM bis.tbl_bisio WHERE (tbl_bisio.bis>=".$db->db_add_param($bisprevious).") + OR (tbl_bisio.von<".$db->db_add_param($bisdatum)." AND (tbl_bisio.bis>=".$db->db_add_param($bisdatum)." OR tbl_bisio.bis IS NULL)) + ))) + ORDER BY student_uid, nachname, vorname + "; + +if($result = $db->db_query($qry)) +{ + + $datei.=" + + ".$erhalter." + ".date("dmY", $datumobj->mktime_fromdate($bisdatum))." + + + ".$lehrgangsnummer.""; + + while($row = $db->db_fetch_object($result)) + { + //Plausichecks + $qryadr="SELECT * FROM public.tbl_adresse WHERE heimatadresse IS TRUE AND person_id=".$db->db_add_param($row->pers_id).";"; + $results=$db->db_query($qryadr); + + if($anz=$db->db_num_rows($results)!=1) + { + $error_log1="Es sind ".$anz." Heimatadressen eingetragen\n"; + } + if($rowadr=$db->db_fetch_object($results)) + { + $plz=$rowadr->plz; + $gemeinde=$rowadr->gemeinde; + $strasse=$rowadr->strasse; + $nation=$rowadr->nation; + } + else + { + $plz=''; + $gemeinde=''; + $strasse=''; + $nation=''; + } + if($row->gebdatum<'1920-01-01' OR $row->gebdatum==null OR $row->gebdatum=='') + { + $error_log.=(!empty($error_log)?', ':'')."Geburtsdatum ('".$row->gebdatum."')"; + } + if($row->geschlecht!='m' && $row->geschlecht!='w') + { + $error_log.=(!empty($error_log)?', ':'')."Geschlecht ('".$row->geschlecht."')"; + } + if($row->vorname=='' || $row->vorname==null) + { + $error_log.=(!empty($error_log)?', ':'')."Vorname ('".$row->vorname."')"; + } + if($row->nachname=='' || $row->nachname==null) + { + $error_log.=(!empty($error_log)?', ':'')."Nachname ('".$row->nachname."')"; + } + if($row->matr_nr=='') + { + $error_log.=(!empty($error_log)?', ':'')."Matrikelnummer fehlt"; + } + if($row->matr_nr!='' && $row->matr_nr!=null && mb_strlen(trim($row->matr_nr))!=8) + { + $error_log.=(!empty($error_log)?', ':'')."Matrikelnummer ('".trim($row->matr_nr)."') ist nicht 8 Zeichen lang"; + } + //SVNR mu߸ 10-stellig sein + if($row->svnr!='' && $row->svnr!=null && mb_strlen(trim($row->svnr))!=10) + { + $error_log.=(!empty($error_log)?', ':'')."SVNR ('".trim($row->svnr)."') ist nicht 10 Zeichen lang"; + } + //Ersatzkennzeichen muß 10-stellig sein + if($row->ersatzkennzeichen!='' && $row->ersatzkennzeichen!=null && mb_strlen(trim($row->ersatzkennzeichen))!=10) + { + $error_log.=(!empty($error_log)?', ':'')."Ersatzkennzeichen ('".trim($row->ersatzkennzeichen)."') ist nicht 10 Zeichen lang"; + } + //Vergleich der letzten 6 Stellen der SVNR mit Geburtsdatum - ausser bei 01.01. und 01.07. + if($row->svnr!='' && $row->svnr!=null && substr($row->svnr,4,6)!=$row->vdat && substr($row->vdat,0,4)!='0101' && substr($row->vdat,0,4)!='0107') + { + $error_log.=(!empty($error_log)?', ':'')."SVNR ('".$row->svnr."') enthält Geburtsdatum (".$row->gebdatum.") nicht"; + } + //Vergleich der letzten 6 Stellen des Ersatzkennzeichen mit Geburtsdatum + if($row->ersatzkennzeichen!='' && $row->ersatzkennzeichen!=null && substr($row->ersatzkennzeichen,4,6)!=$row->vdat) + { + $error_log.=(!empty($error_log)?', ':'')."Ersatzkennzeichen ('".$row->ersatzkennzeichen."') enthält Geburtsdatum (".$row->gebdatum.") nicht"; + } + if(($row->svnr=='' || $row->svnr==null)&&($row->ersatzkennzeichen=='' || $row->ersatzkennzeichen==null)) + { + $error_log.=(!empty($error_log)?', ':'')."SVNR ('".$row->svnr."') bzw. ErsKz ('".$row->ersatzkennzeichen."') fehlt"; + } + if($row->staatsbuergerschaft=='' || $row->staatsbuergerschaft==null) + { + $error_log.=(!empty($error_log)?', ':'')."Staatsbürgerschaft ('".$row->staatsbuergerschaft."')"; + } + if($plz=='' || $plz==null) + { + $error_log.=(!empty($error_log)?', ':'')."Heimat-PLZ ('".$plz."')"; + } + if($gemeinde=='' || $gemeinde==null) + { + $error_log.=(!empty($error_log)?', ':'')."Heimat-Gemeinde ('".$gemeinde."')"; + } + if($strasse=='' || $strasse==null) + { + $error_log.=(!empty($error_log)?', ':'')."Heimat-Strasse ('".$strasse."')"; + } + if($nation=='' || $nation==null) + { + $error_log.=(!empty($error_log)?', ':'')."Heimat-Nation ('".$nation."')"; + } + if($row->zgv_code=='' || $row->zgv_code==null) + { + $error_log.=(!empty($error_log)?', ':'')."ZugangCode ('".$row->zgv_code."')"; + } + if($row->zgvdatum=='' || $row->zgvdatum==null) + { + $error_log.=(!empty($error_log)?', ':'')."ZugangDatum ('".$row->zgvdatum."')"; + } + else + { + if($row->zgvdatum>date('Y-m-d')) + { + $error_log.=(!empty($error_log)?', ':'')."ZugangDatum liegt in der Zukunft ('".$row->zgvdatum."')"; + } + if($row->zgvdatum<$row->gebdatum) + { + $error_log.=(!empty($error_log)?', ':'')."ZugangDatum ('".$row->zgvdatum."') kleiner als Geburtsdatum ('".$row->gebdatum."')"; + } + } + if($lgartcode==1) + { + if($row->zgvmas_code=='' || $row->zgvmas_code==null) + { + $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgCode ('".$row->zgvmas_code."')"; + } + if($row->zgvmadatum=='' || $row->zgvmadatum==null) + { + $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgDatum ('".$row->zgvmadatum."')"; + } + else + { + if($row->zgvmadatum>date("Y-m-d")) + { + $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgDatum liegt in der Zukunft ('".$row->zgvmadatum."')"; + } + if($row->zgvmadatum<$row->zgvdatum) + { + $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgDatum ('".$row->zgvmadatum."') kleiner als Zugangdatum ('".$row->zgvdatum."')"; + } + if($row->zgvmadatum<$row->gebdatum) + { + $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgDatum ('".$row->zgvmadatum."') kleiner als Geburtsdatum ('".$row->gebdatum."')"; + } + } + } + //Bestimmen der aktuellen Prestudentrolle (Status) und des akt. Ausbildungssemesters des Studenten + $qrystatus="SELECT * FROM public.tbl_prestudentstatus + WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND studiensemester_kurzbz=".$db->db_add_param($ssem)." + AND (tbl_prestudentstatus.datum<".$db->db_add_param($bisdatum).") + ORDER BY datum desc, insertamum desc, ext_id desc;"; + if($resultstatus = $db->db_query($qrystatus)) + { + if($db->db_num_rows($resultstatus)>0) + { + if($rowstatus = $db->db_fetch_object($resultstatus)) + { + $qry1="SELECT count(*) AS dipl FROM public.tbl_prestudentstatus WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND status_kurzbz='Diplomand'"; + if($result1 = $db->db_query($qry1)) + { + if($row1 = $db->db_fetch_object($result1)) + { + $sem=$rowstatus->ausbildungssemester; + if($sem>$maxsemester) + { + $sem=$maxsemester; + } + if($row1->dipl>1) + { + $sem=50; + } + if($row1->dipl>3) + { + $sem=60; + } + } + } + if($rowstatus->status_kurzbz=="Student" || $rowstatus->status_kurzbz=='Praktikant' + || $rowstatus->status_kurzbz=="Diplomand") + { + $status=1; + } + else if($rowstatus->status_kurzbz=="Unterbrecher" ) + { + $status=2; + } + else if($rowstatus->status_kurzbz=="Absolvent" ) + { + $status=3; + } + else if($rowstatus->status_kurzbz=="Abbrecher" ) + { + $status=4; + } + else + { + $error_log=''; + $error_log1=''; + continue; + } + $aktstatus=$rowstatus->status_kurzbz; + $aktstatus_datum=$rowstatus->datum; + $storgform=$rowstatus->orgform_kurzbz; + } + } + else + { + $qrystatus="SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND studiensemester_kurzbz=".$db->db_add_param($psem)." AND (tbl_prestudentstatus.datum<".$db->db_add_param($bisdatum).") ORDER BY datum desc, insertamum desc, ext_id desc;"; + if($resultstatus = $db->db_query($qrystatus)) + { + if($rowstatus = $db->db_fetch_object($resultstatus)) + { + $qry1="SELECT count(*) AS dipl FROM public.tbl_prestudentstatus WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND status_kurzbz='Diplomand'"; + if($result1 = $db->db_query($qry1)) + { + if($row1 = $db->db_fetch_object($result1)) + { + $sem=$rowstatus->ausbildungssemester; + if($sem>$maxsemester) + { + $sem=$maxsemester; + } + if($row1->dipl>1) + { + $sem=50; + } + if($row1->dipl>3) + { + $sem=60; + } + } + } + if($rowstatus->status_kurzbz=="Absolvent" ) + { + $status=3; + } + else if($rowstatus->status_kurzbz=="Abbrecher" ) + { + $status=4; + } + else + { + $error_log=''; + $error_log1=''; + continue; + } + $aktstatus=$rowstatus->status_kurzbz; + $aktstatus_datum=$rowstatus->datum; + //$storgform=$rowstatus->orgform_kurzbz; + } + } + } + } + //bei Absolventen das Beendigungsdatum (Sponsion oder Abschlussprüfung) überprüfen + + if($aktstatus=='Absolvent') + { + $qry_ap="SELECT * FROM lehre.tbl_abschlusspruefung WHERE student_uid=".$db->db_add_param($row->student_uid)." AND abschlussbeurteilung_kurzbz!='nicht' AND abschlussbeurteilung_kurzbz IS NOT NULL"; + if($result_ap = $db->db_query($qry_ap)) + { + $ap=0; + while($row_ap = $db->db_fetch_object($result_ap)) + { + if($row_ap->datum=='' || $row_ap->datum==null) + { + $error_log.=(!empty($error_log)?', ':'')."Datum der Abschlussprüfung ('".$row_ap->datum."')"; + } + if($row_ap->sponsion=='' || $row_ap->sponsion==null) + { + $error_log.=(!empty($error_log)?', ':'')."Datum der Sponsion ('".$row_ap->sponsion."')"; + } + $ap++; + $sponsion=$row_ap->sponsion; + } + if($ap!=1) + { + $error_log.=(!empty($error_log)?', ':'').$ap." bestandene Abschlussprüfungen"; + } + } + } + + if($row->zgvmanation!='' && $lgartcode==1) // Master Lehrgang + $ausstellungsstaat = $row->zgvmanation; + elseif($row->zgvnation!='') + $ausstellungsstaat = $row->zgvnation; + else + $ausstellungsstaat = $row->ausstellungsstaat; + if($ausstellungsstaat == '') + { + $error_log.=(!empty($error_log)?', ':'')." Ausstellungsstaat fehlt"; + } + + if($error_log!='' OR $error_log1!='') + { + //Ausgabe der fehlenden Daten + $v.="Bei Student (UID, Vorname, Nachname) '".$row->student_uid."', '".$row->nachname."', '".$row->vorname."' ($row->status_kurzbz): \n"; + if($error_log!='') + { + $v.="     Fehler: ".$error_log."\n"; + } + if($error_log1!='') + { + $v.="     ".$error_log1; + } + $zaehl++; + $v.="\n"; + $error_log=''; + $error_log1=''; + continue; + } + else + { + $anzahl_gemeldet++; + $tabelle.=''; + + //Erstellung der XML-Datei + $datei.=" + + ".trim($row->matrikelnr)." + ".$row->matr_nr." + ".date("dmY", $datumobj->mktime_fromdate($row->gebdatum))." + ".strtoupper($row->geschlecht)." + ".$row->vorname." + ".$row->nachname.""; + + if($row->svnr!='') + { + $datei.=" + ".$row->svnr.""; + } + if($row->ersatzkennzeichen!='') + { + $datei.=" + ".$row->ersatzkennzeichen.""; + } + + $datei.=" + ".$row->staatsbuergerschaft." + ".$plz." + ".$gemeinde." + + ".$nation." + ".$row->zgv_code." + ".date("dmY", $datumobj->mktime_fromdate($row->zgvdatum)).""; + + if($lgartcode==1) + { + $datei.=" + ".$row->zgvmas_code." + ".date("dmY", $datumobj->mktime_fromdate($row->zgvmadatum)).""; + } + + $datei.=" + ".$ausstellungsstaat.""; + + $qryad="SELECT + * + FROM + public.tbl_prestudentstatus + WHERE + prestudent_id=".$db->db_add_param($row->prestudent_id, FHC_INTEGER)." + AND (status_kurzbz='Student' OR status_kurzbz='Unterbrecher') + AND (tbl_prestudentstatus.datum<".$db->db_add_param($bisdatum).") ORDER BY datum asc;"; + + if($resultad = $db->db_query($qryad)) + { + if($rowad = $db->db_fetch_object($resultad)) + { + $datei.=" + ".date("dmY", $datumobj->mktime_fromdate($rowad->datum)).""; + } + } + + if($aktstatus=='Absolvent') + { + $datei.=" + ".date("dmY", $datumobj->mktime_fromdate($aktstatus_datum)).""; + } + if($aktstatus=='Abbrecher') + { + $datei.=" + ".date("dmY", $datumobj->mktime_fromdate($aktstatus_datum)).""; + } + $datei.=" + ".$status." + "; + } + } + $tabelle.='
UIDNachnameVornamePersKz
'.$row->student_uid.''.$row->nachname.''.$row->vorname.''.$row->matrikelnr.'
'; + + $datei.=" + + +"; + + echo ' + + + BIS - Lehrgangsmeldung - '.$lehrgangsname.' ('.$lehrgangsnummer.') + + + + '; + + echo "

BIS - Studentendaten werden überprüft! Lehrgang: ".$lehrgangsname.' ('.$lehrgangsnummer.")

\n"; + + if(strlen(trim($v))>0) + { + echo "

Nicht plausible BIS-Daten (für Meldung ".$ssem."):


"; + echo nl2br($v."\n\n"); + } + + $ddd='bisdaten/bismeldung_'.$ssem.'_Lehrgang'.$lehrgangsnummer.'.xml'; + $dateiausgabe=fopen($ddd,'w'); + fwrite($dateiausgabe,$datei); + fclose($dateiausgabe); + + if(file_exists($ddd)) + { + echo "XML-Datei für BIS-Meldung Lehrgang ".$lehrgangsname.' ('.$lehrgangsnummer.")
"; + } + + echo '
'; + echo '
Folgende Personen sind in der Meldung enthalten:

'; + echo 'Anzahl:'.$anzahl_gemeldet; + echo $tabelle; +} +?> diff --git a/vilesci/bis/studentenmeldung.php b/vilesci/bis/studentenmeldung.php index b7fbbc671..236e8392b 100644 --- a/vilesci/bis/studentenmeldung.php +++ b/vilesci/bis/studentenmeldung.php @@ -495,7 +495,7 @@ if(file_exists($eee)) echo ' - + @@ -580,6 +580,14 @@ function GenerateXMLStudentBlock($row) { $error_log.=(!empty($error_log)?', ':'')."Nachname ('".$row->nachname."')"; } + if($row->matr_nr=='') + { + $error_log.=(!empty($error_log)?', ':'')."Matrikelnummer fehlt"; + } + if($row->matr_nr!='' && $row->matr_nr!=null && mb_strlen(trim($row->matr_nr))!=8) + { + $error_log.=(!empty($error_log)?', ':'')."Matrikelnummer ('".trim($row->matr_nr)."') ist nicht 8 Zeichen lang"; + } if($row->svnr!='' && $row->svnr!=null && mb_strlen(trim($row->svnr))!=10) { $error_log.=(!empty($error_log)?', ':'')."SVNR ('".trim($row->svnr)."') ist nicht 10 Zeichen lang"; @@ -970,6 +978,10 @@ function GenerateXMLStudentBlock($row) $datei.=" ".trim($row->matrikelnr).""; + + $datei.=" + ".$row->matr_nr.""; + if(!$ausserordentlich) { $datei.=" @@ -979,32 +991,21 @@ function GenerateXMLStudentBlock($row) $datei.=" ".date("dmY", $datumobj->mktime_fromdate($row->gebdatum))." ".strtoupper($row->geschlecht).""; - if(($row->svnr!='')&&($row->ersatzkennzeichen!='')) - { - $datei.=" + $datei.=" ".$row->vorname." ".$row->nachname.""; + + if($row->svnr!='') + { $datei.=" ".$row->svnr.""; + } + if($row->ersatzkennzeichen!='') + { $datei.=" ".$row->ersatzkennzeichen.""; } - else - { - if($row->svnr!='') - { - $datei.=" - ".$row->svnr.""; - } - if($row->ersatzkennzeichen!='') - { - $datei.=" - ".$row->vorname." - ".$row->nachname.""; - $datei.=" - ".$row->ersatzkennzeichen.""; - } - } + $datei.=" ".$row->staatsbuergerschaft." ".$plz." diff --git a/vilesci/stammdaten/firma_details.php b/vilesci/stammdaten/firma_details.php index 630e7c445..e5b7f2946 100644 --- a/vilesci/stammdaten/firma_details.php +++ b/vilesci/stammdaten/firma_details.php @@ -141,16 +141,13 @@ if(isset($_GET['deletetag'])) $errorstr=($errorstr?$errorstr.', ':'').'Fehler beim Loeschen des Tags : Tag fehlt'; } -?> - +?> Firma - Details - - + - @@ -159,9 +156,9 @@ if(isset($_GET['deletetag'])) - + -
UIDMatrikelnrPersKZ Nachname Vorname Status