Subversion Repositories public

Rev

Blame | Last modification | View Log | RSS feed

<?
require_once('version.inc');
require_once('dbaccess.inc');
require_once('language.inc');
require_once('header.inc');
require_once('helper.inc');
require_once('crypt.inc');
require_once('settings.inc');

$knopf = 0;
$func = $_REQUEST['func'];

# Auswertungsmenue
if (isset($_REQUEST['statusb'])) { $knopf = 24; $headline = 26; }

$drm = array(true, false, false, false, false, true, false);

require_once('menu.inc');
require_once('knumber.inc');

# Folgende Funktion erlaubt die Auswahl einer Periode fuer die der Statusbericht
# erzeugt werden soll.
#
function Preselect() {
        global $periode;
        global $unum;
        global $menu;
        global $rstufe;

        $db = OpenDB();
        $query = "select wd_datum from wdone order by wd_datum";
        $result = QueryDB($db, $query);

        if (!$result) {
           closeDB($db);
           return;
        }

        $numrows = numrowsDB($result);

        if ($numrows <= 0) {
           Error("Es gibt keine IST-Erfassungen!");
           closeDB($db);
           return;
        }

        $rows = 0;

        while ($rows < $numrows) {
           $data = fetchDB($result, $rows);
           $wd_datum = $data[0];

           if ($rows == 0)
              $fdate = $wd_datum;

           $rows++;
        }

        $ldate = $wd_datum;

        switch($periode) {
           case 1:              // Jahr
              $sper = GetPeriode($fdate);
              $eper = GetPeriode($ldate);
           break;

           case 2:              // Quartal
              $sper = 1;
              $eper = 4;
           break;

           case 3:              // Monat
              $sper = 1;
              $eper = 12;
           break;

           case 4:              // Woche
              $sper = 1;
              $eper = 52;
           break;

           case 5:              // Tag
              $sper = 1;
              $eper = ($ldate - $fdate) / 86400;
           break;
        }

        $fyear = gmdate("Y", $fdate);
        $eyear = gmdate("Y", $ldate);
?>
<form action="statusbericht.php" method="post">
<input type="hidden" name="menu" value="<? echo "$menu"; ?>">
<input type="hidden" name="headline" value="26">
<input type="hidden" name="func" value="statusb">

<table border=0>
   <tr>
      <td>Periode:</td>
      <td><select name="per">
<?php
        $mon = gmdate("n", time());

        for ($i = $sper; $i <= $eper; $i++) {
           if ($i == $mon)
              echo "            <option selected value=\"$i\">$i</option>\n";
           else
              echo "            <option value=\"$i\">$i</option>\n";
        }
?>
         </select>
      </td>
   </tr>
<?php
        if ($periode != 1) {
?>
   <tr>
      <td>Jahr:</td>
      <td><select name="year">
<?php
           $y = gmdate("Y", time());

           for ($i = $fyear; $i <= $eyear; $i++) {
              if ($i == $y)
                 echo "<option selected value=\"$i\">$i</option>\n";
              else
                 echo "<option value=\"$i\">$i</option>\n";
           }
?>
          </select>
      </td>
   </tr>
<?php
        }

        # Auswahl eines Projekts
        echo "<tr><td>Projektauswahl:</td>\n";
        echo "<td>";

        if ($rstufe == 2) {             // Projektleiter
           $query = "select distinct pr_num, pr_name, ks_status from ";
           $query .= "project, plan, task, allocation, key_status ";
           $query .= "where pl_prnum = pr_num and ta_plnum = pl_num and ";
           $query .= "al_task = ta_num and ks_num = pr_status ";
           $query .= "and (pr_pl = $unum or al_ressource = $unum) ";
           $query .= "order by pr_num";
        } else if ($rstufe == 3) {      // Mitarbeiter
           $query = "select distinct wd_prnum, pr_name, ks_status from ";
           $query .= "wdone, project, key_status where ";
           $query .= "pr_num = wd_prnum and ks_num = pr_status and ";
           $query .= "wd_minum = $unum ";
           $query .= "order by wd_prnum";
        } else {
           $query = "select pr_num, pr_name, ks_status from ";
           $query .= "project, key_status where ks_num = pr_status ";
           $query .= "order by pr_num";
        }

        $result = QueryDB($db, $query);

        if (!$result) {
           closeDB($db);
           return;
        }

        echo "<select name=\"selpro\">\n";
        $numrows = numrowsDB($result);
        $rows = 0;

        while ($rows < $numrows) {
           $data = fetchDB($result, $rows);
           $pr_num = $data[0];
           $pr_name = $data[1];
           $ks_status = $data[2];
           echo "<option value=\"$pr_num\">$pr_num $pr_name ($ks_status)</option>\n";
           $rows++;
        }

        echo "</select></td></tr></table>\n";
        echo "</td></tr>\n";
        echo "</table>\n";
        echo "<br><input type=\"submit\" name=\"submit\" value=\"Senden\"> <input type=\"reset\">\n";
        echo "</form>\n";
        closeDB($db);
}

function ShowISTStatus($print=false) {
        global $leneinheit;
        $per = $_REQUEST['per'];
        $year = $_REQUEST['year'];
        $selpro = $_REQUEST['selpro'];

        $db = OpenDB();
        # Tabelle IST-Aufwaende
?>
<table width="80%" border=1>
   <tr>
      <td rowspan=2 class="stbb">Phase</td>
<?php
        # ermitteln der Laenderspalten
        $query = "select distinct kl_land, mi_land from wdone, mitarbeiter, key_land ";
        $query .= "where wd_prnum = $selpro and mi_num = wd_minum and kl_num = mi_land order by mi_land";
        $result = QueryDB($db, $query);

        if (!$result) {
           closeDB($db);
           return;
        }

        $numrows = numrowsDB($result);
        $rows = 0;
        echo "<td class=\"stbb\" colspan=$numrows>IST-Aufw&auml;nde</td>\n";
        echo "<td class=\"stbb\" rowspan=2>Summe</td></tr>\n<tr>";

        while ($rows < $numrows) {
           $data = fetchDB($result, $rows);
           $kl_land = $data[0];
           $mi_land = $data[1];
           echo "<td class=\"stb\">$kl_land</td>";
           $land[$mi_land] = 0;
           $zwland[$mi_land] = 0;
           $lpos[$rows] = $mi_land;
           $rows++;
        }

        echo "</tr>\n";
        $cols = $numrows;

        $days = daysinmonth($per, $year);
        $maxdate = gmmktime(0, 0, 0, $per, $days, $year);
        $query = "select wd_hours, wd_phase, ";
        $query .= "mi_land from wdone, mitarbeiter where wd_prnum = $selpro ";
        $query .= "and mi_num = wd_minum and wd_datum <= $maxdate ";
        $query .= "order by wd_phase, mi_land";
        $result = QueryDB($db, $query);

        if (!$result) {
           closeDB($db);
           return;
        }

        $numrows = numrowsDB($result);
        $rows = 0;

        if ($numrows <= 0) {
           Error("F&uuml;r das Projekt $selpro existieren keine IST-Daten!<br>");
           closeDB($db);
           return;
        }

        $old_phase = -1;
        $sum = 0;
        $total = 0;

        while ($rows < $numrows) {
           $data = fetchDB($result, $rows);
           $wd_hours = $data[0];
           $wd_phase = $data[1];
           $mi_land = $data[2];

           if ($old_phase != $wd_phase) {
              if ($rows > 0) {
                 for ($i = 0; $i < $cols; $i++) {
                    $x = $lpos[$i];
                    printf("<td class=\"stbez\">%s</td>", FormatNum($zwland[$x] / $leneinheit, 3));
                    $zwland[$x] = 0;
                 }

                 printf("<td class=\"stb\">%s</td></tr>\n", FormatNum($sum / $leneinheit, 3));
              }

              echo "<tr><td class=\"stb\">$wd_phase</td>";
              $old_phase = $wd_phase;
              $sum = 0;
           }

           $land[$mi_land] += $wd_hours;
           $zwland[$mi_land] += $wd_hours;
           $sum += $wd_hours;
           $total += $wd_hours;
           $rows++;
        }

        for ($i = 0; $i < $cols; $i++) {
           $x = $lpos[$i];
           printf("<td class=\"stbez\">%s</td>", FormatNum($zwland[$x] / $leneinheit, 3));
        }

        printf("<td class=\"stb\">%s</td></tr>\n", FormatNum($sum / $leneinheit, 3));
        echo "<td class=\"stbb\">Summe</td>";

        for ($i = 0; $i < $cols; $i++) {
           $x = $lpos[$i];
           printf("<td class=\"stb\">%s</td>", FormatNum($land[$x] / $leneinheit, 3));
        }

        printf("<td class=\"stbb\">%s</td></tr>\n", FormatNum($total / $leneinheit, 3));
        echo "</table>\n";
        closeDB($db);
}

function ShowRestStatus($print=false) {
        global $leneinheit;
        $per = $_REQUEST['per'];
        $year = $_REQUEST['year'];
        $selpro = $_REQUEST['selpro'];

        $db = OpenDB();
        # Tabelle REST-Aufwaende
?>
<br>
<table width="80%" border=1>
   <tr>
      <td rowspan=3 class="stbb">Phase</td>
<?php
        # ermitteln des gueltigen Plans
        $query = "select pl_lfd from plan where pl_prnum = $selpro and ";
        $query .= "pl_status in (2,3,4) order by pl_lfd desc";
        $result = QueryDB($db, $query);

        if (!$result) {
           closeDB($db);
           return;
        }

        $numrows = numrowsDB($result);

        if ($numrows <= 0) {
           echo "</table>\n";
           Error("Es existiert kein gueltiger Plan f&uuml;r diese Auswertung!");
           closeDB($db);
           return;
        }

        $data = fetchDB($result, 0);
        $pl_lfd = $data[0];

        # ermitteln der Laenderspalten
        $query = "select distinct kl_land, mi_land from allocation, task, ";
        $query .= "plan, mitarbeiter, key_land where ";
        $query .= "ta_num = al_task and mi_num = al_ressource and ";
        $query .= "pl_num = ta_plnum and pl_prnum = $selpro and ";
        $query .= "pl_lfd = $pl_lfd and kl_num = mi_land order by mi_land";
        $result = QueryDB($db, $query);

        if (!$result) {
           closeDB($db);
           return;
        }

        $numrows = numrowsDB($result);
        $cols = $numrows * 2;
        $rows = 0;
        echo "<td class=\"stbb\" colspan=$cols>REST-Aufw&auml;nde</td>\n";
        echo "<td class=\"stbb\" rowspan=2 colspan=2>Summe</td></tr>\n<tr>";

        while ($rows < $numrows) {
           $data = fetchDB($result, $rows);
           $kl_land = $data[0];
           $mi_land = $data[1];
           echo "<td class=\"stb\" colspan=2>$kl_land</td>";
           $land[$mi_land] = 0;
           $landr[$mi_land] = 0;
           $zwland[$mi_land] = 0;
           $lpos[$rows] = $mi_land;
           $rows++;
        }

        echo "</tr><tr>\n";

        for ($i = 0; $i < ($cols / 2); $i++)
           echo "<td class=\"stb\">lf.Jahr</td><td class=\"stb\">ff.Jahr</td>\n";

        echo "<td class=\"stbb\">lf.Jahr</td><td class=\"stbb\">ff.Jahr</td></tr>\n";
        $days = daysinmonth($per, $year);
        $maxdate = gmmktime(0, 0, 0, $per, $days, $year);
        $mindate = gmmktime(0, 0, 0, 1, 1, $year);
        $enddate = gmmktime(0, 0, 0, 12, 31, $year);
        $query = "select al_hours, al_phase, mi_land from allocation, task, ";
        $query .= "plan, mitarbeiter, key_land where ";
        $query .= "ta_num = al_task and mi_num = al_ressource and ";
        $query .= "pl_num = ta_plnum and pl_prnum = $selpro and ";
        $query .= "pl_lfd = $pl_lfd and kl_num = mi_land and ";
        $query .= "al_pstart >= $mindate ";
        $query .= "order by al_phase, mi_land, al_pstart";

        $result = QueryDB($db, $query);

        if (!$result) {
           closeDB($db);
           return;
        }

        $numrows = numrowsDB($result);
        $rows = 0;

        if ($numrows <= 0) {
           Error("F&uuml;r das Projekt $selpro existieren keine geplanten Aufw&auml;nde im Jahr $year!<br>");
           closeDB($db);
           return;
        }

        $db2 = OpenDB();
        $old_phase = -1;
        $sum = 0;
        $sumr = 0;
        $total = 0;
        $totalr = 0;

        while ($rows < $numrows) {
           $data = fetchDB($result, $rows);
           $al_hours = $data[0];
           $al_phase = $data[1];
           $mi_land = $data[2];

           if (!isset($al_phase))
              $al_phase = 0;

           if ($old_phase != $al_phase) {
              if ($rows > 0) {
                 $sum = 0;
                 $sumr = 0;

                 for ($i = 0; $i < ($cols / 2); $i++) {
                    $x = $lpos[$i];
                    $query = "select sum(wd_hours), count(*) from wdone, mitarbeiter ";
                    $query .= "where wd_prnum = $selpro and mi_num = wd_minum";
                    $query .= " and wd_datum >= $mindate and ";
                    $query .= "wd_datum <= $maxdate and ";
                    $query .= "mi_land = $x and wd_phase = $old_phase";
                    $result2 = QueryDB($db2, $query);

                    if (!$result2) {
                       closeDB($db2);
                       closeDB($db);
                       return;
                    }

                    if (numrowsDB($result2) > 0) {
                       $data = fetchDB($result2, 0);
                       $wd_hours = $data[0];
                       $menge = $data[1];

                       if ($menge == 0)
                          $wd_hours = 0;
                    }
                    else
                       $wd_hours = 0;

                    #
                    # Ermitteln der geplanten Zeiten fuer das folgende Jahr.
                    #
                    $query = "select sum(al_hours), count(*) from allocation, task, ";
                    $query .= "plan, mitarbeiter where mi_land = $x and ";
                    $query .= "ta_num = al_task and mi_num = al_ressource and ";
                    $query .= "pl_num = ta_plnum and pl_prnum = $selpro and ";
                    $query .= "pl_lfd = $pl_lfd and al_pstart > $enddate ";
                    $query .= "and al_phase = $old_phase";
                    $result2 = QueryDB($db2, $query);

                    if (!$result2) {
                       closeDB($db);
                       closeDB($db2);
                       return;
                    }

                    $r = numrowsDB($result2);

                    if ($r > 0) {
                       $data = fetchDB($result2, 0);
                       $resth = $data[0];
                       $menge = $data[1];

                       if ($menge == 0)
                          $resth = 0;

                       $zwland[$x] -= $resth;
                    }
                    else
                       $resth = 0;

                    $wert = ($zwland[$x] - ($wd_hours / $leneinheit));
                    printf("<td class=\"stbez\">%s</td><td class=\"stbez\">%s</td>",
                        FormatNum($wert, 3), FormatNum($resth, 3));
                    $sum += $wert;
                    $sumr += $resth;
                    $total += $wert;
                    $totalr += $resth;
                    $land[$x] += $wert;
                    $landr[$x] += $resth;
                    $zwland[$x] = 0;
                 }

                 printf("<td class=\"stb\">%s</td><td class=\"stb\">%s</td></tr>\n",
                        FormatNum($sum, 3), FormatNum($sumr, 3));
              }

              echo "<tr><td class=\"stb\">$al_phase</td>";
              $old_phase = $al_phase;
           }

           $zwland[$mi_land] += $al_hours;
           $rows++;
        }

        $sum = 0;
        $sumr = 0;

        for ($i = 0; $i < ($cols / 2); $i++) {
           $x = $lpos[$i];
           $query = "select sum(wd_hours), count(*) from wdone, mitarbeiter ";
           $query .= "where wd_prnum = $selpro and mi_num = wd_minum";
           $query .= " and wd_datum >= $mindate and ";
           $query .= "wd_datum <= $maxdate and ";
           $query .= "mi_land = $x and wd_phase = $old_phase";

           if (!$result2) {
              closeDB($db2);
              closeDB($db);
              return;
           }

           if (numrowsDB($result2) > 0) {
              $data = fetchDB($result2, 0);
              $wd_hours = $data[0];
              $menge = $data[1];

              if ($menge == 0)
                 $wd_hours = 0;
           } else
              $wd_hours = 0;

           #
           # Ermitteln der geplanten Zeiten fuer das folgende Jahr.
           #
           $query = "select sum(al_hours), count(*) from allocation, task, ";
           $query .= "plan, mitarbeiter where mi_land = $x and ";
           $query .= "ta_num = al_task and mi_num = al_ressource and ";
           $query .= "pl_num = ta_plnum and pl_prnum = $selpro and ";
           $query .= "pl_lfd = $pl_lfd and al_pstart > $enddate ";
           $query .= "and al_phase = $old_phase";
           $result2 = QueryDB($db2, $query);

           if (!$result2) {
              closeDB($db);
              closeDB($db2);
              return;
           }

           $r = numrowsDB($result2);

           if ($r > 0) {
              $data = fetchDB($result2, 0);
              $resth = $data[0];
              $menge = $data[1];

              if ($menge == 0)
                 $resth = 0;

              $zwland[$x] -= $resth;
           }
           else
              $resth = 0;

           $wert = ($zwland[$x] - ($wd_hours / $leneinheit));
           printf("<td class=\"stbez\">%s</td><td class=\"stbez\">%s</td>",
                FormatNum($wert, 3), FormatNum($resth, 3));
           $sum += $wert;
           $sumr += $resth;
           $total += $wert;
           $totalr += $resth;
           $land[$x] += $wert;
           $landr[$x] += $resth;
        }

        printf("<td class=\"stb\">%s</td><td class=\"stb\">%s</td></tr>\n",
                FormatNum($sum, 3), FormatNum($sumr, 3));
        echo "<td class=\"stbb\">Summe</td>";

        for ($i = 0; $i < ($cols / 2); $i++) {
           $x = $lpos[$i];
           printf("<td class=\"stb\">%s</td><td class=\"stb\">%s</td>",
                FormatNum($land[$x], 3), FormatNum($landr[$x], 3));
        }

        printf("<td class=\"stbb\">%s</td><td class=\"stbb\">%s</td></tr>\n",
                FormatNum($total, 3), FormatNum($totalr, 3));
        $i = $cols + 1;
        printf("<tr><td colspan=$i> </td><td colspan=2 class=\"stbb\">%s</td></tr>\n",
                FormatNum($total + $totalr, 3));
        echo "</table>\n";
        closeDB($db);
}

function ShowGesamtStatus($print=false) {
        global $leneinheit;
        $per = $_REQUEST['per'];
        $year = $_REQUEST['year'];
        $selpro = $_REQUEST['selpro'];

        $db = OpenDB();
        # Tabelle REST-Aufwaende
?>
<br>
<table width="80%" border=1>
   <tr>
      <td rowspan=2 class="stbb">Phase</td>
<?php
        # ermitteln des gueltigen Plans
        $query = "select pl_lfd from plan where pl_prnum = $selpro and ";
        $query .= "pl_status in (2,3,4) order by pl_lfd desc";
        $result = QueryDB($db, $query);

        if (!$result) {
           closeDB($db);
           return;
        }

        $numrows = numrowsDB($result);

        if ($numrows <= 0) {
           echo "</table>\n";
           Error("Es existiert kein gueltiger Plan f&uuml;r diese Auswertung!");
           closeDB($db);
           return;
        }

        $data = fetchDB($result, 0);
        $pl_lfd = $data[0];

        # ermitteln der Laenderspalten
        $query = "select distinct kl_land, mi_land from allocation, task, ";
        $query .= "plan, mitarbeiter, key_land where ";
        $query .= "ta_num = al_task and mi_num = al_ressource and ";
        $query .= "pl_num = ta_plnum and pl_prnum = $selpro and ";
        $query .= "pl_lfd = $pl_lfd and kl_num = mi_land order by mi_land";

        $result = QueryDB($db, $query);

        if (!$result) {
           closeDB($db);
           return;
        }

        $numrows = numrowsDB($result);
        $cols = $numrows;
        $rows = 0;
        echo "<td class=\"stbb\" colspan=$cols>Gesamt-Aufw&auml;nde</td>\n";
        echo "<td class=\"stbb\" rowspan=2>Summe</td></tr>\n<tr>";

        while ($rows < $numrows) {
           $data = fetchDB($result, $rows);
           $kl_land = $data[0];
           $mi_land = $data[1];
           echo "<td class=\"stb\">$kl_land</td>";
           $land[$mi_land] = 0;
           $zwland[$mi_land] = 0;
           $lpos[$rows] = $mi_land;
           $rows++;
        }

        echo "</tr><tr>\n";

        $query = "select al_hours, al_phase, mi_land from allocation, task, ";
        $query .= "plan, mitarbeiter, key_land where ";
        $query .= "ta_num = al_task and mi_num = al_ressource and ";
        $query .= "pl_num = ta_plnum and pl_prnum = $selpro and ";
        $query .= "pl_lfd = $pl_lfd and kl_num = mi_land ";
        $query .= "order by al_phase, mi_land";
        $result = QueryDB($db, $query);

        if (!$result) {
           closeDB($db);
           return;
        }

        $numrows = numrowsDB($result);
        $rows = 0;

        if ($numrows <= 0) {
           Error("F&uuml;r das Projekt $selpro existieren keine Ressourcen!<br>");
           closeDB($db);
           return;
        }

        $old_phase = -1;
        $sum = 0;
        $total = 0;
        $days = daysinmonth($per, $year);
        $maxdate = gmmktime(0, 0, 0, $per, $days, $year);

        while ($rows < $numrows) {
           $data = fetchDB($result, $rows);
           $al_hours = $data[0];
           $al_phase = $data[1];
           $mi_land = $data[2];

           if ($old_phase != $al_phase) {
              if ($rows > 0) {
                 $sum = 0;

                 for ($i = 0; $i < $cols; $i++) {
                    $x = $lpos[$i];
                    printf("<td class=\"stbez\">%s</td>", FormatNum($zwland[$x], 3));
                    $sum += $zwland[$x];
                    $total += $zwland[$x];
                    $land[$x] += $zwland[$x];
                    $zwland[$x] = 0;
                 }

                 printf("<td class=\"stb\">%s</td></tr>\n", FormatNum($sum, 3));
              }

              echo "<tr><td class=\"stb\">$al_phase</td>";
              $old_phase = $al_phase;
           }

           $zwland[$mi_land] += $al_hours;
           $rows++;
        }

        $sum = 0;

        for ($i = 0; $i < $cols; $i++) {
           $x = $lpos[$i];
           printf("<td class=\"stbez\">%s</td>", FormatNum($zwland[$x], 3));
           $sum += $zwland[$x];
           $total += $zwland[$x];
           $land[$x] += $zwland[$x];
        }

        printf("<td class=\"stb\">%s</td></tr>\n", FormatNum($sum, 3));
        echo "<td class=\"stbb\">Summe</td>";

        for ($i = 0; $i < $cols; $i++) {
           $x = $lpos[$i];
           printf("<td class=\"stb\">%s</td>", FormatNum($land[$x], 3));
        }

        printf("<td class=\"stbb\">%s</td></tr>\n", FormatNum($total, 3));
        echo "</table>\n";
        closeDB($db);
}

function ShowPlanDate($print=false) {
        global $einheit;
        global $dtformatshort;

        $per = $_REQUEST['per'];
        $year = $_REQUEST['year'];
        $selpro = $_REQUEST['selpro'];

        $db = OpenDB();
        # Tabelle REST-Aufwaende
?>
<br>
<table border=1>
   <tr>
      <td colspan=4 class="stbb">Aktuelle Plantermine</td>
   </tr>
   <tr>
      <td class="stbb">Phase</td>
      <td class="stb">Beginn</td>
      <td class="stb">Ende</td>
      <td class="stb">Tage</td>
   </tr>
<?php
        # Finde als erstes den leuesten plan
        $query = "select pl_lfd from plan where pl_prnum = $selpro ";
        $query .= "order by pl_lfd desc";
        $result = QueryDB($db, $query);

        if (!$result) {
           closeDB($db);
           return;
        }

        $data = fetchDB($result, 0);
        $pl_lfd = $data[0];

        # Hole die Plandaten
        $query = "select ta_start, ta_duration, ta_phase, ta_meeting, ta_level from ";
        $query .= "task, plan where pl_num = ta_plnum and ";
        $query .= "pl_prnum = $selpro and pl_lfd = $pl_lfd ";
        $query .= "order by ta_phase, ta_start";
        $result = QueryDB($db, $query);

        if (!$result) {
           closeDB($db);
           return;
        }

        $numrows = numrowsDB($result);
        $rows = 0;
        $old_phase = -1;
        $sum = 0;
        $sdate = 0;
        $edate = 0;
        $fdate = 0;
        $ldate = 0;

        while ($rows < $numrows) {
           $data = fetchDB($result, $rows);
           $ta_start = $data[0];
           $ta_duration = $data[1];
           $ta_phase = $data[2];
           $ta_meeting = $data[3];
           $ta_level = $data[4];

           if ($rows == 0)
              $old_phase = $ta_phase;

           if ($old_phase != $ta_phase) {
              $strsd = gmdate($dtformatshort, $sdate);
              $stred = gmdate($dtformatshort, $edate);
              $diff = (integer)(($edate - $sdate) / 86400);
              echo "<tr><td class=\"stb\">$old_phase</td>";
              echo "<td class=\"stbez\">$strsd</td>";
              echo "<td class=\"stbez\">$stred</td>";
              echo "<td class=\"stb\">$diff</td></tr>\n";

              if ($ldate < $edate)
                 $ldate = $edate;

              $sdate = 0;
              $edate = 0;
              $old_phase = $ta_phase;
           }

           if ($sdate == 0)
              $sdate = $ta_start;

           if ($fdate == 0)
              $fdate = $ta_start;

           if ($ta_meeting == 0 && $ta_level > 1)
              $dt = GetEDate($einheit, $ta_start, $ta_duration);
           else if ($ta_level == 0)
              $dt = 0;
           else
              $dt = $ta_start;

           if ($dt > $edate)
              $edate = $dt;

           $rows++;
        }

        $strsd = gmdate($dtformatshort, $sdate);
        $stred = gmdate($dtformatshort, $edate);
        $diff = (integer)(($edate - $sdate) / 86400);
        echo "<tr><td class=\"stb\">$ta_phase</td>";
        echo "<td class=\"stbez\">$strsd</td>";
        echo "<td class=\"stbez\">$stred</td>";
        echo "<td class=\"stb\">$diff</td></tr>\n";

        if ($ldate < $edate)
           $ldate = $edate;

        $strsd = gmdate($dtformatshort, $fdate);
        $stred = gmdate($dtformatshort, $ldate);
        $diff = (integer)(($ldate - $fdate) / 86400);
        echo "<tr><td class=\"stbb\">Maximal:</td>";
        echo "<td class=\"stb\">$strsd</td>";
        echo "<td class=\"stb\">$stred</td>";
        echo "<td class=\"stb\">$diff</td></tr>\n";
        echo "</table>\n";
}
# Auswertung des Menues:
#
if ($knopf == 24)               // Statusbericht
   Preselect();

# Auswertung der Funktionen
if ($func == "statusb") {
   $per = $_REQUEST['per'];
   $year = $_REQUEST['year'];
   $selpro = $_REQUEST['selpro'];

   # Ermitteln des Projektnamens und Anzeigen des selben.
   $db = OpenDB();
   $query = "select pr_name from project where pr_num = $selpro";
   $result = QueryDB($db, $query);
   $data = fetchDB($result, 0);
   $pr_name = $data[0];
   echo "<p class=\"cry\">Projekt: $selpro $pr_name<br>Zeitraum: $per.$year</p>";
   echo "<br>\n";
   closeDB($db);

   echo "<a href=\"#\" onClick=\"javascript:open_mwindow('statusbericht.php?selpro=$selpro&per=$per&year=$year&header=2&func=PrintStatus', 'Statusbericht: $selpro $pr_name', 750, 550)\">";
   echo "<img src=\"image/print.png\" border=0 alt=\"Drucken\"></a>\n";

   ShowISTStatus();
   ShowRestStatus();
   ShowGesamtStatus();
   ShowPlanDate();
}

if ($func == "PrintStatus") {
   $per = $_REQUEST['per'];
   $year = $_REQUEST['year'];
   $selpro = $_REQUEST['selpro'];

   # Ermitteln des Projektnamens und Anzeigen des selben.
   $db = OpenDB();
   $query = "select pr_name from project where pr_num = $selpro";
   $result = QueryDB($db, $query);
   $data = fetchDB($result, 0);
   $pr_name = $data[0];
   echo "<p class=\"cry\">Projekt: $selpro $pr_name<br>Zeitraum: $per.$year</p>";
   echo "<br>\n";
   closeDB($db);

   ShowISTStatus(true);
   ShowRestStatus(true);
   ShowGesamtStatus(true);
   ShowPlanDate(true);
}

require('footer.inc');
?>