This commit is contained in:
Rudolf Hangl
2007-10-12 07:17:36 +00:00
parent 03b4fc309a
commit 3ecda363ea
3 changed files with 174 additions and 16 deletions
+51 -4
View File
@@ -22,13 +22,25 @@ $v='';
$studiensemester=new studiensemester($conn);
$ssem=$studiensemester->getaktorNext();
if(strstr($ssem,"WS"))
{
$bisdatum=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y")));
}
elseif(strstr($ssem,"SS"))
{
$bisdatum=date("Y-m-d", mktime(0, 0, 0, 04, 15, date("Y")));
}
else
{
echo "Ungültiges Semester!";
}
if(isset($_GET['stg_kz']))
{
$stg_kz=$_GET['stg_kz'];
}
else
{
$stg_kz=222;
$stg_kz=0;
}
if(isset($_GET['email']))
{
@@ -86,7 +98,7 @@ $qry="SELECT DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.pe
JOIN public.tbl_prestudentrolle ON(tbl_prestudent.prestudent_id=tbl_prestudentrolle.prestudent_id)
JOIN public.tbl_adresse ON(tbl_person.person_id=tbl_adresse.person_id)
LEFT JOIN lehre.tbl_abschlusspruefung USING(student_uid)
WHERE heimatadresse IS TRUE
WHERE heimatadresse IS TRUE AND bismelden IS TRUE
AND (studiensemester_kurzbz='".$ssem."') AND tbl_student.studiengang_kz='".$stg_kz."'
AND (rolle_kurzbz='Student' OR rolle_kurzbz='Incoming' OR rolle_kurzbz='Outgiong'
OR rolle_kurzbz='Praktikant' OR rolle_kurzbz='Diplomand' OR rolle_kurzbz='Absolvent')
@@ -367,7 +379,7 @@ if($result = pg_query($conn, $qry))
$error_log.="IO - bis ('".$rowio->bis."')";
}
}
if($rowio->zweck_code='' || $$rowio->zweck_code=null)
if($rowio->zweck_code='' || $rowio->zweck_code=null)
{
if($error_log!='')
{
@@ -414,8 +426,43 @@ if($result = pg_query($conn, $qry))
$error_log1='';
}
}
$qrybw="SELECT * FROM public.tbl_prestudent
JOIN public.tbl_prestudentrolle ON(tbl_prestudent.prestudent_id=tbl_prestudentrolle.prestudent_id)
JOIN public.tbl_person USING(person_id)
WHERE bismelden IS TRUE AND (studiensemester_kurzbz='".$ssem."') AND tbl_prestudent.studiengang_kz='".$stg_kz."'
AND rolle_kurzbz='Bewerber';
";
if($resultbw = pg_query($conn, $qrybw))
{
while($rowbw = pg_fetch_object($resultbw))
{
if($stgart=='b' || $stgart=='d')
{
if(!($rowbw->zgv_code>=4 && $rowbw->zgv_code<=19) && $rowbw->zgv_code!=99 || $rowbw->zgv_code=='' || $rowbw->zgv_code==NULL)
{
$v.="Bei Bewerber (Vorname, Nachname) '".$rowbw->nachname."', '".$rowbw->vorname."' ($rowbw->rolle_kurzbz) fehlt die Zugangsvoraussetzungsart (".$rowbw->zgv_code.")\n";
}
}
if($stgart=='m')
{
if(!($rowbw->zgv_code>=4 && $rowbw->zgv_code<=19) && $rowbw->zgv_code!=99)
{
$v.="Bei Bewerber (Vorname, Nachname) '".$rowbw->nachname."', '".$rowbw->vorname."' ($rowbw->rolle_kurzbz) fehlt die Zugangsvoraussetzungsart (".$rowbw->zgv_code.")\n";
}
if(!($rowbw->zgvmas_code>=1 && $rowbw->zgvmas_code<=11))
{
$v.="Bei Bewerber (Vorname, Nachname) '".$rowbw->nachname."', '".$rowbw->vorname."' ($rowbw->rolle_kurzbz) fehlt die Mag.-Zugangsvoraussetzungsart (".$rowbw->zgvmas_code.")\n";
}
}
}
}
else
{
echo "Bewerber - Leider nein";
}
echo "<H1>BIS - Studentendaten werden überprüft. Studiengang: ".$stg_kz."</H1>\n";
echo "<H2>Fehlende BIS-Daten (für Meldung ".$ssem."): </H2><br>";
echo "<H2>Fehlende BIS-Daten (für Meldung ".$ssem."/".$bisdatum."): </H2><br>";
//echo "(Doppelte Zeilen deuten auf mehrere Heimatadressen hin - bitte Kontakte überprüfen)<br><br>";
echo nl2br($v."\n");
+108 -10
View File
@@ -35,6 +35,8 @@ $gast='';
$avon='';
$abis='';
$zweck='';
$bewerberM=array();
$bewerberW=array();
$qry="SELECT * FROM public.tbl_studiensemester WHERE studiensemester_kurzbz='".$ssem."';";
if($result = pg_query($conn, $qry))
@@ -63,9 +65,9 @@ if(isset($_GET['stg_kz']))
}
else
{
$stg_kz=254;
//echo "<H2>Es wurde keine Studiengangskennzahl übergeben!</H2>";
//exit;
//$stg_kz=0;
echo "<H2>Es wurde kein Studiengang ausgewählt!</H2>";
exit;
}
function myaddslashes($var)
{
@@ -132,7 +134,7 @@ $qry="SELECT DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.pe
JOIN public.tbl_prestudentrolle ON(tbl_prestudent.prestudent_id=tbl_prestudentrolle.prestudent_id)
JOIN public.tbl_adresse ON(tbl_person.person_id=tbl_adresse.person_id)
LEFT JOIN lehre.tbl_abschlusspruefung USING(student_uid)
WHERE heimatadresse IS TRUE
WHERE heimatadresse IS TRUE AND bismelden IS TRUE
AND (studiensemester_kurzbz='".$ssem."') AND tbl_student.studiengang_kz='".$stg_kz."'
AND (rolle_kurzbz='Student' OR rolle_kurzbz='Incoming' OR rolle_kurzbz='Outgiong'
OR rolle_kurzbz='Praktikant' OR rolle_kurzbz='Diplomand' OR rolle_kurzbz='Absolvent'
@@ -433,7 +435,7 @@ $datei.="
$datei.="
<StaatsangehoerigkeitCode>".$row->staatsbuergerschaft."</StaatsangehoerigkeitCode>
<HeimatPLZ>".$row->plz."</HeimatPLZ>
<HeimatGemeinde>".$row->plz."</HeimatGemeinde>
<HeimatGemeinde>".$row->gemeinde."</HeimatGemeinde>
<HeimatStrasse>".$row->strasse."</HeimatStrasse>
<HeimatNation>".$row->nation."</HeimatNation>
<ZugangCode>".$row->zgv_code."</ZugangCode>
@@ -444,7 +446,7 @@ $datei.="
<ZugangMagStgCode>".$row->zgvmas_code."</ZugangMagStgCode>
<ZugangMagStgDatum>".date("dmY", $datumobj->mktime_fromdate($row->zgvmadatum))."</ZugangMagStgDatum>";
}
$qryad="SELECT * FROM public.tbl_prestudentrolle WHERE prestudent_id='".$row->prestudent_id."' AND rolle_kurzbz='Student' ORDER BY datum desc;";
$qryad="SELECT * FROM public.tbl_prestudentrolle WHERE prestudent_id='".$row->prestudent_id."' AND rolle_kurzbz='Student' ORDER BY datum asc;";
if($resultad = pg_query($conn, $qryad))
{
if($rowad = pg_fetch_object($resultad))
@@ -497,14 +499,110 @@ $datei.="
}
}
$datei.="
}
//Bewerber
$qrybw="SELECT * FROM public.tbl_prestudent
JOIN public.tbl_prestudentrolle ON(tbl_prestudent.prestudent_id=tbl_prestudentrolle.prestudent_id)
JOIN public.tbl_person USING(person_id)
WHERE bismelden IS TRUE AND (studiensemester_kurzbz='".$ssem."') AND tbl_prestudent.studiengang_kz='".$stg_kz."'
AND rolle_kurzbz='Bewerber';
";
if($resultbw = pg_query($conn, $qrybw))
{
while($rowbw = pg_fetch_object($resultbw))
{
if($stgart==1 || $stgart==3)
{
if(strtoupper($rowbw->geschlecht)=='M')
{
If(!isset($bewerberM[$rowbw->zgv_code]))
{
$bewerberM[$rowbw->zgv_code]=0;
}
$bewerberM[$rowbw->zgv_code]++;
}
else
{
If(!isset($bewerberW[$rowbw->zgv_code]))
{
$bewerberW[$rowbw->zgv_code]=0;
}
$bewerberW[$rowbw->zgv_code]++;
}
}
if($stgart==2)
{
if(strtoupper($rowbw->geschlecht)=='M')
{
If(!isset($bewerberM[$rowbw->zgvmas_code]))
{
$bewerberM[$rowbw->zgvmas_code]=0;
}
$bewerberM[$rowbw->zgvmas_code]++;
}
else
{
If(!isset($bewerberW[$rowbw->zgvmas_code]))
{
$bewerberW[$rowbw->zgvmas_code]=0;
}
$bewerberW[$rowbw->zgvmas_code]++;
}
}
}
}
if($stgart==1 || $stgart==3)
{
for($i=4;$i<100;$i++)
{
if(isset($bewerberM[$i]) || isset($bewerberW[$i]))
{
If(!isset($bewerberM[$i]))
{
$bewerberM[$i]=0;
}
If(!isset($bewerberW[$i]))
{
$bewerberW[$i]=0;
}
$datei.="
<Bewerber>
<ZugangCode>".$i."</ZugangCode>
<AnzBewerberM>".$bewerberM[$i]."</AnzBewerberM>
<AnzBewerberW>".$bewerberW[$i]."</AnzBewerberW>
</Bewerber>";
}
}
}
if($stgart==2)
{
for($i=1;$i<12;$i++)
{
if(isset($bewerberM[$i]) || isset($bewerberW[$i]))
{
if(!isset($bewerberM[$i]))
{
$bewerberM[$i]=0;
}
if(!isset($bewerberW[$i]))
{
$bewerberW[$i]=0;
}
$datei.="
<Bewerber>
<ZugangMagStgCode>".$i."</ZugangMagStgCode>
<AnzBewerberM>".$bewerberM[$i]."</AnzBewerberM>
<AnzBewerberW>".$bewerberW[$i]."</AnzBewerberW>
</Bewerber>";
}
}
}
$datei.="
</StudiengangDetail>
</StudiengangStamm>
</StudierendenBewerberMeldung>
</Erhalter>";
}
if(strlen($v)!='')
{
echo '<html><head><title>BIS - Meldung Student - ('.$stg_kz.')</title>
+15 -2
View File
@@ -12,6 +12,7 @@
//*
require('../config.inc.php');
require('../../include/studiensemester.class.php');
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$conn_fas=pg_connect(CONN_STRING_FAS) or die("Connection zur FAS Datenbank fehlgeschlagen");
@@ -30,6 +31,8 @@ $anzahl_fehler=0;
$ausgabe='';
$error_log_fas='';
$update=false;
$studiensemester=new studiensemester($conn);
$ssem=$studiensemester->getaktorNext();
function myaddslashes($var)
{
@@ -57,7 +60,7 @@ if($result = pg_query($conn, $qry))
$ende[$row->studiensemester_kurzbz]=$row->ende;
}
}
//1 - aktive mitarbeiter mit keiner verwendung oder mehr als einer aktuellen verwendung
//1 - aktive mitarbeiter und bismelden mit keiner verwendung oder mehr als einer aktuellen verwendung
$qryall='SELECT uid,nachname,vorname, count(bisverwendung_id) FROM campus.vw_mitarbeiter LEFT OUTER JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid) WHERE aktiv AND (ende>now() OR ende IS NULL) GROUP BY uid,nachname,vorname HAVING count(bisverwendung_id)!=1 ORDER by nachname,vorname;';
if($resultall = pg_query($conn, $qryall))
{
@@ -67,7 +70,7 @@ if($resultall = pg_query($conn, $qryall))
{
$i=0;
$qry="SELECT * FROM bis.tbl_bisverwendung JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid) JOIN public.tbl_person USING(person_id)
WHERE tbl_benutzer.aktiv=TRUE AND (ende>now() OR ende IS NULL) AND mitarbeiter_uid='".$rowall->uid."';";
WHERE tbl_benutzer.aktiv=TRUE AND bismelden=TRUE AND (ende>now() OR ende IS NULL) AND mitarbeiter_uid='".$rowall->uid."';";
if($result = pg_query($conn, $qry))
{
$num_rows=pg_num_rows($result);
@@ -253,4 +256,14 @@ if($resultall = pg_query($conn, $qryall))
}
}
}
//7 - Lehrauftrag aber keine aktuelle Verwendung
$qry_erg="SELECT lehre.tbl_lehreinheitmitarbeiter.mitarbeiter_uid, lehre.tbl_lehrveranstaltung.studiengang_kz,
lehre.tbl_lehreinheit.studiensemester_kurzbz, lehre.tbl_lehreinheitmitarbeiter.semesterstunden,
lehre.tbl_lehrveranstaltung.semester, public.tbl_semesterwochen.wochen
FROM lehre.tbl_lehreinheitmitarbeiter join lehre.tbl_lehreinheit USING (lehreinheit_id)
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
JOIN public.tbl_semesterwochen USING(studiengang_kz, semester)
WHERE lehre.tbl_lehreinheitmitarbeiter.mitarbeiter_uid='".$row->mitarbeiter_uid."'
AND lehre.tbl_lehreinheit.studiensemester_kurzbz='".$ssem."';";
?>