query("TRUNCATE TABLE prog_tmp_synopse"); $query_minjahr = $db->query("SELECT min(jahr) jahr FROM `prog_vergaberahmen` "); $row_minjahr = $query_minjahr->fetch_array(); $start = new DateTime($row_minjahr['jahr'] . '-01-01'); $query_maxjahr = $db->query("SELECT date_format(max(weggang),'%Y-%m-31') enddat_form FROM `prog_tmp_professor` "); $row_maxjahr = $query_maxjahr->fetch_array(); $ende = $row_maxjahr['enddat_form']; $end = date_create($ende, new DateTimeZone('GMT')); $query_startwert = $db->query("SELECT wert FROM prog_vergaberahmen WHERE jahr = '$row_minjahr[jahr]' "); $row_startwert = $query_startwert->fetch_array(); $start_vergaberahmen_mtl = $row_startwert['wert'] / 12; // Aktuell wird nur der erste Wert vom Vergaberahmen verwendet. Sollte das mal geändert werden, // muss in der Schleife nach jedem Monat/Jahr geschaut werden, ob es in der Tab prog_vergaberahmen ein neuer Wert ist. // Schleife über alle Monate P1M bzw. P1Y für Jahre $ln_zaehler = 1; foreach(new DatePeriod($start, new DateInterval('P1M') , $end) as $cur) { $akt_monat = $cur->format('Y-m-01'); $akt_jahr = $cur->format('Y'); // Schritt 1 // Berechnung des Jahresrahmen: vzä x besoldungsdurchschnitt $query_vza_jahr = $db->query("SELECT date_format(monat, '%Y-%m-01'), sum(prozent) vza FROM prog_tmp_professor_synopse WHERE besoldung !='' AND monat ='$akt_monat' AND betrag != 0.00 GROUP BY date_format(monat, '%Y-%m-01') "); $row_vza_jahr = $query_vza_jahr->fetch_array(); $query_bessch_jahr = $db->query("SELECT wert, art FROM prog_tmp_besschnitt WHERE jahr = '$akt_jahr' "); $row_bessch_jahr = $query_bessch_jahr->fetch_array(); // Den Jahresrahmen ausrechnen, auf den Monat: $jahresrahmen_mtl = ($row_bessch_jahr['wert'] * $row_vza_jahr['vza']) / 12; // echo $jahresrahmen_mtl."
"; // Schritt 2 // Berechnung der Besoldungsausgaben $query_besazul_jahr = $db->query("SELECT zulage FROM prog_besausg_zulage WHERE jahr= '$akt_jahr' "); $row_besazul_jahr = $query_besazul_jahr->fetch_array(); $query_besa_jahr = $db->query("SELECT SUM(betrag) wert FROM `prog_tmp_professor_synopse` WHERE monat like '$akt_jahr%' "); $row_besa_jahr = $query_besa_jahr->fetch_array(); $besausgaben_mtl = ($row_besa_jahr['wert'] + $row_besazul_jahr['zulage']) / 12; // echo str_replace('.',',',$besausgaben_mtl)."
"; // Schritt 3 // Berechnung des Vergaberahmens $vergaberahmen_mtl = $jahresrahmen_mtl - $besausgaben_mtl; // echo str_replace('.',',',$vergaberahmen_mtl)."
"; // Schritt 4 // Vergaberahmen mit Übertrag Vorjahr // Im ersten Jahr muss er den vergaberahmen aus tabelle prog_vergaberahmen nehmen, danach wird der Wert berechnet. // if($row_minjahr['jahr'] == '$akt_jahr'){ --> Unterschiedliche Datentypen // echo $ln_zaehler."
"; if ($ln_zaehler <= '12') { $ln_zaehler++; $start_vergaberahmen_mtl = $start_vergaberahmen_mtl; } else { // Berechneter Vergaberahmen heranziehen $vjahr = $akt_jahr - 1; # Wurde ein Vergaberahmen zum Übertrag vorgegeben? $query_vg_akt = $db->query("SELECT wert FROM prog_vergaberahmen WHERE jahr= '$akt_jahr' "); $row_vg_akt = $query_vg_akt->fetch_array(); if($row_vg_akt['wert'] != ''){ # Wert vorgegeben, dann Wert aus prog_vergaberahmen nehmen $start_vergaberahmen_mtl = $row_vg_akt['wert']/12; }else{ # Kein Wert vorgegeben, dann berechneten Vergaberahmen aus Vorjahr nehmen $query_vg_nj = $db->query("SELECT sum(vergaberahmen_nj)/12 vergaberahmen_mtl FROM prog_tmp_synopse WHERE date_format(monat, '%Y')= '$vjahr' "); // echo "SELECT sum(vergaberahmen_nj)/12 vergaberahmen_mtl // FROM prog_tmp_synopse // WHERE date_format(monat, '%Y')= '$vjahr' //
"; $row_vg_nr = $query_vg_nj->fetch_array(); $start_vergaberahmen_mtl = $row_vg_nr['vergaberahmen_mtl']; } } $verg_uebertragvj = $start_vergaberahmen_mtl + $vergaberahmen_mtl; // echo str_replace('.',',',$verg_uebertragvj)."
"; // Schritt 5 // Summe der LEistungesbezüge in diesem Monat // Summe aus: LB_BZ, LB_LZ, LB_einmal, LB_FZ $query_lb_bz = $db->query("SELECT sum(wert )wert FROM prog_tmp_lb_bz WHERE monat = '$akt_monat' "); $row_lb_bz = $query_lb_bz->fetch_array(); $query_lb_lz = $db->query("SELECT sum(wert) wert FROM prog_tmp_lb_lz WHERE monat= '$akt_monat' "); $row_lb_lz = $query_lb_lz->fetch_array(); $query_lb_em = $db->query("SELECT wert FROM prog_tmp_lb_einmal WHERE jahr= '$akt_jahr' "); $row_lb_em = $query_lb_em->fetch_array(); $query_lb_fz = $db->query("SELECT sum(wert) wert FROM prog_tmp_lb_fz WHERE monat= '$akt_monat' "); $row_lb_fz = $query_lb_fz->fetch_array(); // Monatswert $lb_bz_mtl = $row_lb_bz['wert']; // echo str_replace('.',',',$lb_bz_mtl)."
"; // Monatswert LZ $lb_lz_mtl = $row_lb_lz['wert']; // echo str_replace('.',',',$lb_lz_mtl)."
"; // Jahreswert/12 $lb_em_mtl = $row_lb_em['wert'] / 12; // echo str_replace('.',',',$lb_em_mtl)."
"; // Monatswert FZ $lb_fz_mtl = $row_lb_fz['wert']; // echo str_replace('.',',',$lb_fz_mtl)."
"; // Summe der Leistungsbezüge im Monat $summe_lb_mtl = $lb_bz_mtl + $lb_lz_mtl + $lb_em_mtl + $lb_fz_mtl; // if($akt_jahr == '2016'){ // echo "$summe_lb_mtl = $lb_bz_mtl+$lb_lz_mtl+$lb_em_mtl+$lb_fz_mtl
"; // } // echo str_replace('.',',',$summe_lb_mtl)."
"; // Schritt 6 // Berechnung des Übertrags ins nächste Jahr $uebertrag_vergrahmen = $verg_uebertragvj - $summe_lb_mtl; // echo str_replace('.',',',$uebertrag_vergrahmen)."
"; $result_insert = $db->query("INSERT INTO prog_tmp_synopse (monat, vergaberahmen_vj, jahresrahmen, besausgaben, vergaberahmen, verg_uebertragvj, leistungsbez, vergaberahmen_nj ) VALUES ('$akt_monat', '$start_vergaberahmen_mtl', '$jahresrahmen_mtl', '$besausgaben_mtl', '$vergaberahmen_mtl', '$verg_uebertragvj', '$summe_lb_mtl', '$uebertrag_vergrahmen' )"); } } # func_zusammenstellung() ?>