Jahrgang wählen!"; exit; } $jahrgang_next = $jahrgang + 1; $studjahr = "$jahrgang/$jahrgang_next"; $smarty->assign('jaabschl_jahrgang', $studjahr); #Ermäßigungen berechnen jahresabschluss_erm($uid, $jahrgang); # Startwert: 594 $query_startlvs = $db->query("SELECT lvs FROM dep_kat_lvs WHERE jahr <= '$jahrgang' ORDER BY jahr DESC LIMIT 1 "); $row_startlvs = $query_startlvs->fetch_array(); $startlvs = number_format($row_startlvs['lvs'], 2, ',', '.'); $cur_lvs = $row_startlvs['lvs']; $smarty->assign('erf_value_soll_lvs', $startlvs); #$lvs_form = number_format(lvs_teilzeit($uid,$jahrgang), 2, ',', '.'); # $lvs = lvs_teilzeit($uid,$jahrgang); $query0 = "SELECT deid, art, funktion, date_format(beginn, '%d.%m.%Y') beginn_form, date_format(ende, '%d.%m.%Y') ende_form, sws, lvs, beantragung, prozent, sort_order, monate, beginn FROM dep_deputat_ermaessigung WHERE imtuid=$uid AND jahr=$jahrgang AND (lvs > 0 OR beantragung > 0) ORDER BY sort_order ASC, beginn ASC"; $result0 = $db->query($query0) or die("Cannot execute query 1a"); while ($row0 = $result0->fetch_array()) { $erg_lvs = $cur_lvs - $row0['lvs']; if ($row0['beginn_form'] == '00.00.0000') { $beginn_form = ''; } else { $beginn_form = $row0['beginn_form']; } if ($row0['ende_form'] == '00.00.0000') { $ende_form = ''; } else { $ende_form = $row0['ende_form']; } if ($row0['art'] == 'Schwerbehinderung' AND $row0['prozent'] == 0) { $hinweis = '0%'; } elseif ($row0['art'] == 'Schwerbehinderung' AND $row0['prozent'] != 0) { $prc = $row0['prozent'] * 100; $hinweis = $prc . "%"; # Ende einer Schwerbehinderung/wird nicht mehr gewährt. Wenn lvs auf 0 gesetzt wurde kommt es nicht in der Schleife vor. daher das nächste Anfangsdatum mit 0 als Ende nehmen $query_endnext = $db->query("SELECT date_sub(beginn, INTERVAL 1 DAY) ende FROM dep_deputat_ermaessigung WHERE jahr = '$jahrgang' AND imtuid = $uid AND art = 'Schwerbehinderung' AND beginn > '$row0[beginn]' ORDER BY beginn ASC LIMIT 1 "); $row_endnext = $query_endnext->fetch_array(); if ($row_endnext['ende'] == '') { # keine weitere Schwerbehinderung im aktuellen Jahr, dann 31.8 Jahr2 $ende = $jahrgang_next . '-08-31'; } elseif ($row_endnext['ende'] >= $jahrgang_next . '-08-31') { # Wenn das nächste Datum höher als der 31.8 im Folgejahr ist, dann 31.8 Jahr2 als Enddatum setzen $ende = $jahrgang_next . '-08-31'; } else { # Ende ist der Tag vor der nächsten beginnenden Schwerbehinderung $ende = $row_endnext['ende']; } $L = new DateTime($ende); $ende_form = $L->format('d.m.Y'); } if ($row0['art'] == 'Teilzeit' AND $row0['prozent'] == 0) { $hinweis = '0 %'; } elseif ($row0['art'] == 'Teilzeit' AND $row0['prozent'] != 0) { $prc = $row0['prozent'] * 100; $hinweis = $prc . " %"; $query_endnext = $db->query("SELECT date_sub(beginn, INTERVAL 1 DAY) ende FROM dep_deputat_ermaessigung WHERE jahr = '$jahrgang' AND imtuid = $uid AND art = 'Teilzeit' and beginn > '$row0[beginn]' ORDER BY beginn ASC LIMIT 1 "); $row_endnext = $query_endnext->fetch_array(); if ($row_endnext['ende'] == '') { # keine weitere Teilzeit im aktuellen Jahr, dann 31.8 jahrgang_next $ende = $jahrgang_next . '-08-31'; } elseif ($row_endnext['ende'] >= $jahrgang_next . '-08-31') { # Wenn das nächste Datum höher als der 31.8 im Folgejahr ist, dann 31.8 jahrgang_next als Enddatum setzen $ende = $jahrgang_next . '-08-31'; } else { # Ende ist der Tag vor der nächsten beginnenden Teilzeit $ende = $row_endnext['ende']; } $L = new DateTime($ende); $ende_form = $L->format('d.m.Y'); } if ((strpos($row0['art'], "Deputat") !== false OR strpos($row0['art'], "Freistellung") !== false) AND $row0['prozent'] == 0 AND $row0['funktion'] > 0) { $query_funktion = $db->query("SELECT bezeichnung FROM dep_kat_ermaessigung WHERE dkeid = '$row0[funktion]'"); $row_funktion = $query_funktion->fetch_array(); $hinweis = $row_funktion['bezeichnung']; } elseif (strpos($row0['art'], "Deputat") !== false AND $row0['prozent'] == 0 AND $row0['funktion'] == 0) { $hinweis = ''; } if (strpos($row0['art'], "Mutterschutz") !== false AND $row0['lvs'] != 0) { $hinweis = ''; } if (strpos($row0['art'], "Abweichender Lehrbedarf") !== false AND $row0['beantragung'] != 0) { $lvs = number_format($row0['beantragung'], 2, ',', '.'); $hinweis = "Beantragt: $lvs LVS"; } if ($row0['lvs'] == 0) { $anz_lvs = ''; } else { $anz_lvs = number_format($row0['lvs'], 2, ',', '.'); } if ($row0['sws'] == 0) { $sws = ''; } else { $sws = number_format($row0['sws'], 2, ',', '.'); } #echo number_format($row0['lvs'], 2, ',', '.')."
"; $row0['erg_lvs'] = number_format($erg_lvs, 2, ',', '.'); $row0['hinweis'] = $hinweis; $row0['cur_lvs'] = number_format($cur_lvs, 2, ',', '.'); $cur_lvs = $cur_lvs - $row0['lvs']; $row0['sws'] = $sws; $row0['anz_lvs'] = $anz_lvs; $row0['ber_lvs'] = number_format($row0['lvs'], 2, ',', '.'); $row0['beginn_form'] = $beginn_form; $row0['ende_form'] = $ende_form; $table_data0[] = $row0; } $smarty->assign('table_data0', $table_data0); # Jahressumme Ermäßigungen $query_jahrsum0 = $db->query("SELECT sum(lvs) summe_jahr FROM dep_deputat_ermaessigung WHERE imtuid=$uid AND jahr=$jahrgang"); $row_jahrsum0 = $query_jahrsum0->fetch_array(); $summe_jahr0 = number_format($row_jahrsum0['summe_jahr'], 2, ',', '.'); $smarty->assign('erf_value_summe_jahr_erm', $summe_jahr0); $zu_leisten = $row_startlvs['lvs'] - $row_jahrsum0['summe_jahr']; $zu_leisten_form = number_format($row_startlvs['lvs'] - $row_jahrsum0['summe_jahr'], 2, ',', '.'); $smarty->assign('erf_value_zu_leisten', $zu_leisten_form); # Gespeicherte Werte $query2 = "SELECT did, titel, module, schwerpunkt, dsgid, verid, anz_ag, krankheitsmerkmal, gemlv, fachlv, anzgemlv, namegemlv, basislvsgemlv, teamteaching, exk_tage, exk_datumvon, exk_datumbis, exk_beschreibung, exk_stdanreise, exk_stdabreise, std, std_default, hinweise FROM dep_deputat WHERE imtuid=$uid AND jahr=$jahrgang ORDER BY created DESC"; $result2 = $db->query($query2) or die("Cannot execute query 1"); while ($row1 = $result2->fetch_array()) { $query_verid = $db->query("SELECT bezeichnung FROM dep_kat_veranstaltungsart WHERE verid='$row1[verid]'"); $row_verid = $query_verid->fetch_array(); # Wird aktuell nicht mehr im Frontend eingeblendet $query_tid = $db->query("SELECT bezeichnung FROM dep_kat_teamteaching WHERE tid='$row1[teamteaching]'"); $row_tid = $query_tid->fetch_array(); if ($row1['gemlv'] == 'J') { $gemlv_form = 'Ja'; } if ($row1['gemlv'] == 'N') { $gemlv_form = 'Nein'; } # Krankheitsbedingte Merkmale # 0=Keine; 1=LV übernommen; 2=LV nachgeholt if ($row1['krankheitsmerkmal'] == 0) { $krankheitsmerkmal = "keine"; } if ($row1['krankheitsmerkmal'] == 1) { $krankheitsmerkmal = "LV übernommen"; } if ($row1['krankheitsmerkmal'] == 2) { $krankheitsmerkmal = "LV nachgeholt"; } /* Marix, wann $modul $schwerpunkt oder $titel verwendet wird findet sind in Excel "erfassen_eingabe_felder.xlsx" Tab "Matrix Titel" $titel = $_POST['titel']; $module = $_POST['module']; $schwerpunkt = $_POST['schwerpunkt']; */ if ($row1['verid'] == "1" AND ($row1['dsgid'] == "1" or $row1['dsgid'] == "2" or $row1['dsgid'] == "3" or $row1['dsgid'] == "4")) { # In Kombination Vorlesung mit Public Management, Steuer, Rente und Finanz gilt $modul und $titel und $schwerpunkt sind leer $query_vorl = $db->query("SELECT bezeichnung FROM dep_kat_studienmodul WHERE dsmid='$row1[module]'"); $row_vorl = $query_vorl->fetch_array(); $titel = $row_vorl['bezeichnung']; } elseif ($row1['verid'] == 11) { # Bei Schwerpunkt gilt immer $schwerpunkt $query_spt = $db->query("SELECT bezeichnung FROM dep_kat_schwerpunkt WHERE dspid='$row1[schwerpunkt]'"); $row_spt = $query_spt->fetch_array(); $titel = $row_spt['bezeichnung']; } else { # Bei anderen konstellationen gibt es immer $titel $titel = $row1['titel']; } $std = number_format($row1['std'], 2, ',', '.'); $row1['std'] = $std; $row1['titel'] = $titel; $row1['gemlv_form'] = $gemlv_form; $row1['krankheitsmerkmal'] = $krankheitsmerkmal; $row1['veranstaltung'] = $row_verid['bezeichnung']; $row1['teamteaching_form'] = $row_tid['bezeichnung']; $table_data1[] = $row1; } $smarty->assign('table_data1', $table_data1); # Jahressumme $query_jahrsum = $db->query("SELECT sum(std) summe_jahr FROM dep_deputat WHERE imtuid=$uid AND jahr=$jahrgang"); $row_jahrsum = $query_jahrsum->fetch_array(); $summe_jahr = number_format($row_jahrsum['summe_jahr'], 2, ',', '.'); $smarty->assign('erf_value_summe_jahr', $summe_jahr); ## Sonstige Deputate # Gespeicherte Werte $query2 = "SELECT dsid, titel, verid, lvs, hinweise FROM dep_deputat_sonstige WHERE imtuid=$uid AND jahr=$jahrgang ORDER BY verid ASC"; $result2 = $db->query($query2) or die("Cannot execute query2"); while ($row2 = $result2->fetch_array()) { $query_verid = $db->query("SELECT bezeichnung FROM dep_kat_veranstaltungsart WHERE verid='$row2[verid]'"); $row_verid = $query_verid->fetch_array(); # Wird aktuell nicht mehr im Frontend eingeblendet $query_tid = $db->query("SELECT bezeichnung FROM dep_kat_teamteaching WHERE tid='$row2[teamteaching]'"); $row_tid = $query_tid->fetch_array(); if ($row2['gemlv'] == 'J') { $gemlv_form = 'Ja'; } if ($row2['gemlv'] == 'N') { $gemlv_form = 'Nein'; } # Krankheitsbedingte Merkmale # 0=Keine; 1=LV übernommen; 2=LV nachgeholt if ($row2['krankheitsmerkmal'] == 0) { $krankheitsmerkmal = "keine"; } if ($row2['krankheitsmerkmal'] == 1) { $krankheitsmerkmal = "LV übernommen"; } if ($row2['krankheitsmerkmal'] == 2) { $krankheitsmerkmal = "LV nachgeholt"; } $lvs = number_format($row2['lvs'], 2, ',', '.'); $row2['lvs'] = $lvs; $row2['gemlv_form'] = $gemlv_form; $row2['krankheitsmerkmal'] = $krankheitsmerkmal; $row2['veranstaltung'] = $row_verid['bezeichnung']; $row2['teamteaching_form'] = $row_tid['bezeichnung']; $table_data2[] = $row2; } $smarty->assign('table_data2', $table_data2); # Jahressumme $query_jahrsum = $db->query("SELECT sum(lvs) summe_jahr FROM dep_deputat_sonstige WHERE imtuid=$uid AND jahr=$jahrgang"); $row_jahrsum_sonst = $query_jahrsum->fetch_array(); $summe_jahr_sonst = number_format($row_jahrsum_sonst['summe_jahr'], 2, ',', '.'); $smarty->assign('erfs_value_summe_jahr', $summe_jahr_sonst); # Gespeicherte Werte Abschlussarbeiten $query2 = "SELECT daid, name, kaid, semester, lvs FROM dep_deputat_abschlussarbeiten WHERE imtuid=$uid AND jahr=$jahrgang ORDER BY semester DESC"; $result2 = $db->query($query2) or die("Cannot execute query 3"); while ($row3 = $result2->fetch_array()) { if ($row3['semester'] == 'SS') { $semester = "Sommersemester"; } if ($row3['semester'] == 'WS') { $semester = "Wintersemester"; } $query_bez_sem = $db->query("SELECT bezeichnung FROM dep_kat_abschlussarbeiten WHERE kaid =$row3[kaid]"); $row_bez_sem = $query_bez_sem->fetch_array(); $lvs = number_format($row3['lvs'], 2, ',', '.'); $row3['lvs'] = $lvs; $row3['abschlussarbeit'] = $row_bez_sem['bezeichnung']; $row3['semesterbez'] = $semester; $table_data3[] = $row3; } $smarty->assign('table_data3', $table_data3); # Summe LVS im WS $query_sumlvs_ws = $db->query("SELECT sum(lvs) lvs FROM dep_deputat_abschlussarbeiten WHERE imtuid=$uid AND jahr=$jahrgang"); $row_sumlvs = $query_sumlvs_ws->fetch_array(); $summe_jahrlvs = number_format($row_sumlvs['lvs'], 2, ',', '.'); $smarty->assign('abschluss_value_summe_lvs', $summe_jahrlvs); $ist = $row_sumlvs['lvs'] + $row_jahrsum_sonst['summe_jahr'] + $row_jahrsum['summe_jahr']; #Berechnung durchführen für Tabelle # auskommentiert am 02.06.2022. $zu_leisten gibt es noch nicht, es wird mal mit 594 gerechnet # jahresabschlussberechnung($uid, $jahrgang, $zu_leisten, $ist); jahresabschlussberechnung($uid, $jahrgang, $zu_leisten, $ist); $ist_format = number_format($ist, 2, ',', '.'); $smarty->assign('abschluss_gesamt', $ist_format); ########SYNOPSE############################ #Aktuelles Jahr $vorjahr = $jahrgang - 1; $query_syn_pre = $db->query("SELECT endwert FROM dep_jahresabschluss_restdeputate WHERE imtuid=$uid AND jahr=$vorjahr"); $row_syn_pre = $query_syn_pre->fetch_array(); $jaabschl_endwert_vorjahr = number_format($row_syn_pre[endwert], 2, ',', '.'); $smarty->assign('jaabschl_endwert_vorjahr', $jaabschl_endwert_vorjahr); $query_syn_cur = $db->query("SELECT soll, ist, dep_gesamt, dep_verfall_jahr, dep_verfall, dep_gesamt_nach_verfall, deperg_aktjahr FROM dep_jahresabschluss WHERE imtuid=$uid AND jahr=$jahrgang"); $row_syn_cur = $query_syn_cur->fetch_array(); $jaabschl_soll = number_format($row_syn_cur[soll], 2, ',', '.'); $smarty->assign('jaabschl_soll', $jaabschl_soll); $jaabschl_ist = number_format($row_syn_cur[ist], 2, ',', '.'); $smarty->assign('jaabschl_ist', $jaabschl_ist); $uber_unter_jahr = $row_syn_cur[ist] - $row_syn_cur[soll]; $jaabschl_uber_unter_jahr = number_format($uber_unter_jahr, 2, ',', '.'); $smarty->assign('jaabschl_uber_unter_jahr', $jaabschl_uber_unter_jahr); $smarty->assign('jaabschl_verfall_jahr', $row_syn_cur[dep_verfall_jahr]); $jaabschl_dep_verfall = number_format($row_syn_cur[dep_verfall], 2, ',', '.'); $smarty->assign('jaabschl_dep_verfall', $jaabschl_dep_verfall); $jaabschl_dep_gesamt = number_format($row_syn_cur[dep_gesamt], 2, ',', '.'); $smarty->assign('jaabschl_dep_gesamt', $jaabschl_dep_gesamt); $jaabschl_dep_gesamt_nach_verfall = number_format($row_syn_cur[dep_gesamt_nach_verfall], 2, ',', '.'); $smarty->assign('jaabschl_dep_gesamt_nach_verfall', $jaabschl_dep_gesamt_nach_verfall); # Wie viel Unterdeputat konnte abgebaut werden $query_syn_abb = $db->query("SELECT sum(differenz)*-1 abbau_jahr FROM dep_jahresabschluss_restdeputate WHERE imtuid=$uid AND jahr=$jahrgang GROUP BY jahr"); $row_syn_abb = $query_syn_abb->fetch_array(); $jaabschl_abbau_jahr = number_format($row_syn_abb[abbau_jahr], 2, ',', '.'); $smarty->assign('jaabschl_abbau_jahr', $jaabschl_abbau_jahr); # Vergangene Jahre $query4 = "SELECT vorjahr, startwert, differenz, differenzjahr, endwert, soll, ist, dep_gesamt, dep_verfall_jahr, dep_verfall, dep_gesamt_nach_verfall, deperg_aktjahr FROM dep_jahresabschluss_restdeputate a, dep_jahresabschluss b WHERE a.vorjahr=b.jahr AND a.jahr = $jahrgang AND a.imtuid = $uid ORDER BY vorjahr DESC"; #echo $query4; $result4 = $db->query($query4) or die("Cannot execute query 4"); while ($row4 = $result4->fetch_array()) { $vorjahr_next = $row4[vorjahr] + 1; $vorjahre = $row4[vorjahr] . "/" . $vorjahr_next; $verfall_next = $row4[dep_verfall_jahr] + 1; $dep_verfall_jahr = $row4[dep_verfall_jahr] . "/" . $verfall_next; $uber_unter_jahr = $row4[ist] - $row4[soll]; $row4['vorjahr'] = $vorjahre; $row4['dep_verfall_jahr'] = $dep_verfall_jahr; $row4['uber_unter_jahr'] = number_format($uber_unter_jahr, 2, ',', '.'); $row4['differenz'] = number_format($row4['differenz'], 2, ',', '.'); $row4['dep_verfall'] = number_format($row4['dep_verfall'], 2, ',', '.'); $row4['dep_gesamt_nach_verfall'] = number_format($row4['dep_gesamt_nach_verfall'], 2, ',', '.'); $row4['dep_gesamt'] = number_format($row4['dep_gesamt'], 2, ',', '.'); $row4['endwert'] = number_format($row4['endwert'], 2, ',', '.'); $row4['soll'] = number_format($row4['soll'], 2, ',', '.'); $row4['ist'] = number_format($row4['ist'], 2, ',', '.'); $table_data4[] = $row4; } $smarty->assign('table_data4', $table_data4); # Prüfen ob der Jahrgang schon abgeschlossen wurde, dann soll der Button "Abschließen und absenden" ausgeblendet werden $query_closed = $db->query("SELECT count(*) Anz FROM dep_doz_abschluss WHERE imtuid=$uid AND jahr=$jahrgang"); $row_closed = $query_closed->fetch_array(); if ($row_closed['Anz'] > 0) { $smarty->assign('jaabschl_closed', 1); $smarty->assign('jaabschl_error', 1); $smarty->assign('jaabschl_error_text', 'Der aktuelle Jahrgang ist bereits abgeschlossen!'); } else { $smarty->assign('jaabschl_closed', 0); } } if ($action == 'abschluss') { $jahrgang_next = $jahrgang + 1; $studjahr = "$jahrgang/$jahrgang_next"; $smarty->assign('jaabschl_jahrgang', $studjahr); } if ($action == 'abschluss2') { $datum = date("Y-m-d H:i:s"); $jahrgang_next = $jahrgang + 1; $studjahr = "$jahrgang/$jahrgang_next"; $smarty->assign('jaabschl_jahrgang', $studjahr); $sql1 = $db->query("INSERT INTO dep_doz_abschluss ( imtuid , jahr , abschluss ) VALUES ( '$uid' , '$jahrgang' , '$datum' ) "); echo ""; } $smarty->assign('action', "$action"); $smarty->display("$template/$templatename"); ?>