Problem bei verschachtelten Modulen behoben

Vorlage:
- Noch nicht eingetragen wird nicht am Erfolgsnachweis angezeigt
- in der 3. Ebene werden keine Noten/ECTS angezeigt

Orgform und Studiengangsleitung zu Studienerfolg RDF hinzugefügt
This commit is contained in:
oesi
2015-01-22 11:50:32 +01:00
parent d2375ce906
commit 8e8332925b
3 changed files with 86 additions and 27 deletions
+20 -20
View File
@@ -108,10 +108,10 @@ $lehrveranstaltungen = array();
$ausbildungssemester = $row_sem->semester;
}
}
if($ausbildungssemester/2==0)
$ausbildungssemester2=$ausbildungssemester-1;
else
$ausbildungssemester2=$ausbildungssemester+1;
if($ausbildungssemester/2==0)
$ausbildungssemester2=$ausbildungssemester-1;
else
$ausbildungssemester2=$ausbildungssemester+1;
$student_studienjahr = round($ausbildungssemester/2);
@@ -166,17 +166,17 @@ $lehrveranstaltungen = array();
{
$stpllv[$row->studienplan_lehrveranstaltung_id] = $row->lehrveranstaltung_id;
}
$durchlauf=0;
// Zweimal durchlaufen weil sonst manche Submodule nicht richtig erfasst werden
while($durchlauf<2)
$durchlauf=0;
// Zweimal durchlaufen weil sonst manche Submodule nicht richtig erfasst werden
while($durchlauf<2)
{
foreach($obj->result as $row)
{
// Nur die betreffenden Semester mitnehmen da sonst ein durcheinander entsteht wenn die gleiche LV in verschiedenen Semester in unterschiedlichen
// Modulen verwendet wird
if($row->studienplan_lehrveranstaltung_semester==$ausbildungssemester || $row->studienplan_lehrveranstaltung_semester==$ausbildungssemester2)
{
// Nur die betreffenden Semester mitnehmen da sonst ein durcheinander entsteht wenn die gleiche LV in verschiedenen Semester in unterschiedlichen
// Modulen verwendet wird
if($row->studienplan_lehrveranstaltung_semester==$ausbildungssemester || $row->studienplan_lehrveranstaltung_semester==$ausbildungssemester2)
{
//Gruppieren der Module
//$lvs['1']['childs']['2']=$obj;
@@ -185,27 +185,27 @@ $lehrveranstaltungen = array();
$lehrveranstaltungen[$row->lehrveranstaltung_id]['data']=$row;
}
else
{
{
// 2. Ebene
if(isset($lehrveranstaltungen[$stpllv[$row->studienplan_lehrveranstaltung_id_parent]]))
if(isset($stpllv[$row->studienplan_lehrveranstaltung_id_parent]) && isset($lehrveranstaltungen[$stpllv[$row->studienplan_lehrveranstaltung_id_parent]]))
{
$lehrveranstaltungen[$stpllv[$row->studienplan_lehrveranstaltung_id_parent]]['childs'][$row->lehrveranstaltung_id]['data'] = $row;
}
else
{
{
// 3. Ebene
foreach($lehrveranstaltungen as $key=>$row_module)
{
if(isset($lehrveranstaltungen[$key]['childs'][$stpllv[$row->studienplan_lehrveranstaltung_id_parent]]))
if(isset($stpllv[$row->studienplan_lehrveranstaltung_id_parent]) && isset($lehrveranstaltungen[$key]['childs'][$stpllv[$row->studienplan_lehrveranstaltung_id_parent]]))
{
$lehrveranstaltungen[$key]['childs'][$stpllv[$row->studienplan_lehrveranstaltung_id_parent]]['childs'][$row->lehrveranstaltung_id]['data']=$row;
}
}
}
}
}
}
}
$durchlauf++;
}
$durchlauf++;
}
$ects_gesamt = 0;
+26 -3
View File
@@ -28,6 +28,7 @@ require_once('../include/datum.class.php');
require_once('../include/note.class.php');
require_once('../include/studiensemester.class.php');
require_once('../include/studiengang.class.php');
require_once('../include/mitarbeiter.class.php');
$datum = new datum();
$db = new basis_db();
@@ -42,7 +43,8 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
tbl_studentlehrverband.semester, tbl_person.titelpre, tbl_person.titelpost,
tbl_person.vorname, tbl_person.nachname,tbl_person.gebdatum,
tbl_studiensemester.bezeichnung as sembezeichnung,
tbl_studiengang.english as bezeichnung_englisch
tbl_studiengang.english as bezeichnung_englisch,
tbl_studiengang.orgform_kurzbz
FROM
public.tbl_person, public.tbl_student, public.tbl_studiengang, public.tbl_benutzer,
public.tbl_studentlehrverband, public.tbl_studiensemester
@@ -54,7 +56,7 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
and tbl_studentlehrverband.student_uid=tbl_student.student_uid
and tbl_studiensemester.studiensemester_kurzbz = tbl_studentlehrverband.studiensemester_kurzbz
and tbl_studentlehrverband.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz);
if($db->db_query($query))
{
if(!$row = $db->db_fetch_object())
@@ -80,15 +82,34 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
if($semester_aktuell=='')
$studiensemester_aktuell='';
$qry_semester = "SELECT tbl_prestudentstatus.ausbildungssemester as semester FROM public.tbl_student, public.tbl_prestudentstatus
$qry_semester = "SELECT tbl_prestudentstatus.ausbildungssemester as semester, tbl_prestudentstatus.orgform_kurzbz FROM public.tbl_student, public.tbl_prestudentstatus
WHERE tbl_student.prestudent_id=tbl_prestudentstatus.prestudent_id
AND tbl_prestudentstatus.status_kurzbz in('Student','Incoming','Outgoing','Praktikant','Diplomand')
AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."
AND tbl_student.student_uid = ".$db->db_add_param($uid);
$orgform='';
if($db->db_query($qry_semester))
{
if($row_semester = $db->db_fetch_object())
{
$row->semester=$row_semester->semester;
$orgform = $row_semester->orgform_kurzbz;
}
}
// Wenn der Studiernede keine Orgform eingetragen hat, wird die Orgform des Studiengang genommen
if($orgform=='')
$orgform = $row->orgform_kurzbz;
$studiengang = new studiengang();
$stgleiter = $studiengang->getLeitung($row->studiengang_kz);
$stgl='';
foreach ($stgleiter as $stgleiter_uid)
{
$stgl_ma = new mitarbeiter($stgleiter_uid);
$stgl .= trim($stgl_ma->titelpre.' '.$stgl_ma->vorname.' '.$stgl_ma->nachname.' '.$stgl_ma->titelpost);
}
$xml .= " <studienerfolg>";
$xml .= " <logopath>".DOC_ROOT."skin/images/</logopath>";
@@ -110,6 +131,8 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
$xml .= " <studiensemester_kurzbz>".$studiensemester_kurzbz."</studiensemester_kurzbz>";
$datum_aktuell = date('d.m.Y');
$xml .= " <datum>".$datum_aktuell."</datum>";
$xml .= " <orgform>".$orgform."</orgform>";
$xml .= " <studiengangsleitung>".$stgl."</studiengangsleitung>";
if(isset($_REQUEST['typ']) && $_REQUEST['typ']=='finanzamt')
$xml .= " <finanzamt>(gemäß §2 Abs. 1 lit.b des Familienlastenausgleichsgesetzes 1967 zur Vorlage beim Wohnsitzfinanzamt)</finanzamt>";
+40 -4
View File
@@ -406,7 +406,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
<text:p text:style-name="PLegendEmpty"/>
<xsl:choose>
<xsl:when test="studiengang_kz='265' or studiengang_kz='268' or studiengang_kz='761' or studiengang_kz='760' or studiengang_kz='266' or studiengang_kz='267' or studiengang_kz='764' or studiengang_kz='269' or studiengang_kz='400'">
<xsl:when test="studiengang_kz=265 or studiengang_kz=268 or studiengang_kz=761 or studiengang_kz=760 or studiengang_kz=266 or studiengang_kz=267 or studiengang_kz=764 or studiengang_kz=269 or studiengang_kz=400">
<text:p text:style-name="PDatumOrt">Pinkafeld, am <xsl:value-of select="datum_aktuell"/></text:p>
</xsl:when>
<xsl:otherwise>
@@ -498,7 +498,16 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
</text:p>
</table:table-cell>
<table:table-cell table:style-name="Lehrveranstaltungen.H3" office:value-type="string">
<text:p text:style-name="P17"><xsl:value-of select="note"/></text:p>
<text:p text:style-name="P17">
<xsl:choose>
<xsl:when test="noteidx=9"> <!-- noch nicht eingetragen nicht anzeigen -->
<xsl:text></xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="note"/>
</xsl:otherwise>
</xsl:choose>
</text:p>
</table:table-cell>
<table:table-cell table:style-name="Lehrveranstaltungen.I3" office:value-type="string">
<text:p text:style-name="P17">
@@ -529,6 +538,9 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
</xsl:when>
<xsl:when test="noteidx=8">
<xsl:text>p.wo.s.</xsl:text>
</xsl:when>
<xsl:when test="noteidx=9">
<xsl:text></xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="noteidx" />
@@ -572,7 +584,16 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
</text:p>
</table:table-cell>
<table:table-cell table:style-name="Lehrveranstaltungen.H3" office:value-type="string">
<text:p text:style-name="P17"><xsl:value-of select="note"/></text:p>
<text:p text:style-name="P17">
<xsl:choose>
<xsl:when test="noteidx=9"> <!-- noch nicht eingetragen nicht anzeigen -->
<xsl:text></xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="note"/>
</xsl:otherwise>
</xsl:choose>
</text:p>
</table:table-cell>
<table:table-cell table:style-name="Lehrveranstaltungen.I3" office:value-type="string">
<text:p text:style-name="P17">
@@ -603,6 +624,9 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
</xsl:when>
<xsl:when test="noteidx=8">
<xsl:text>p.wo.s.</xsl:text>
</xsl:when>
<xsl:when test="noteidx=9">
<xsl:text></xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="noteidx" />
@@ -638,16 +662,26 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
</table:table-cell>
<table:table-cell table:style-name="Lehrveranstaltungen.G4" office:value-type="string">
<text:p text:style-name="P17">
<!-- keine ECTS in 3. Ebene sondern nur einen Strich
<xsl:if test="positiv='Ja'">
<xsl:value-of select="ects"/>
</xsl:if>
-->
<xsl:text>-</xsl:text>
</text:p>
</table:table-cell>
<table:table-cell table:style-name="Lehrveranstaltungen.H4" office:value-type="string">
<text:p text:style-name="P17"><xsl:value-of select="note"/></text:p>
<text:p text:style-name="P17">
<!--
Keine Note in 3. Ebene anzeigen sondern nur einen Strich
<xsl:value-of select="note"/>
-->
<xsl:text>-</xsl:text>
</text:p>
</table:table-cell>
<table:table-cell table:style-name="Lehrveranstaltungen.I4" office:value-type="string">
<text:p text:style-name="P17">
<!-- Keine Note in 3. Ebene anzeigen sondern nur einen Strich
<xsl:choose>
<xsl:when test="noteidx=0">
<xsl:text>A</xsl:text>
@@ -680,6 +714,8 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
<xsl:value-of select="noteidx" />
</xsl:otherwise>
</xsl:choose>
-->
<xsl:text>-</xsl:text>
</text:p>
</table:table-cell>
</table:table-row>