<?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()

?>
