first commit
This commit is contained in:
197
func_zusammenstellung.php
Executable file
197
func_zusammenstellung.php
Executable file
@ -0,0 +1,197 @@
|
||||
<?php
|
||||
require_once ("config.inc.php");
|
||||
|
||||
function func_zusammenstellung()
|
||||
{
|
||||
$db = dbconnect();
|
||||
$result_truncate = $db->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."<br />";
|
||||
// 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)."<br />";
|
||||
// Schritt 3
|
||||
// Berechnung des Vergaberahmens
|
||||
|
||||
$vergaberahmen_mtl = $jahresrahmen_mtl - $besausgaben_mtl;
|
||||
|
||||
// echo str_replace('.',',',$vergaberahmen_mtl)."<br />";
|
||||
// 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."<br />";
|
||||
|
||||
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'
|
||||
// <br />";
|
||||
|
||||
$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)."<br />";
|
||||
// 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)."<br />";
|
||||
// Monatswert LZ
|
||||
|
||||
$lb_lz_mtl = $row_lb_lz['wert'];
|
||||
|
||||
// echo str_replace('.',',',$lb_lz_mtl)."<br />";
|
||||
// Jahreswert/12
|
||||
|
||||
$lb_em_mtl = $row_lb_em['wert'] / 12;
|
||||
|
||||
// echo str_replace('.',',',$lb_em_mtl)."<br />";
|
||||
// Monatswert FZ
|
||||
|
||||
$lb_fz_mtl = $row_lb_fz['wert'];
|
||||
|
||||
// echo str_replace('.',',',$lb_fz_mtl)."<br />";
|
||||
// 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<br />";
|
||||
// }
|
||||
// echo str_replace('.',',',$summe_lb_mtl)."<br />";
|
||||
// Schritt 6
|
||||
// Berechnung des Übertrags ins nächste Jahr
|
||||
|
||||
$uebertrag_vergrahmen = $verg_uebertragvj - $summe_lb_mtl;
|
||||
|
||||
// echo str_replace('.',',',$uebertrag_vergrahmen)."<br />";
|
||||
|
||||
$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()
|
||||
|
||||
?>
|
Reference in New Issue
Block a user