Compare commits

...

3 Commits

2 changed files with 30 additions and 51 deletions
+14 -15
View File
@@ -1542,7 +1542,7 @@ if ($projekt->getProjekteMitarbeiter($user, true))
list($h1, $m1) = explode(':', $pausesumme);
$pausesumme = $h1*3600+$m1*60;
$tagessaldo = $datum->mktime_fromtimestamp($datum->formatDatum($tagesende, $format='Y-m-d H:i:s'))-$datum->mktime_fromtimestamp($datum->formatDatum($tagesbeginn, $format='Y-m-d H:i:s'))-3600;
$tagessaldo = $datum->mktime_fromtimestamp($datum->formatDatum($tagesende, $format='Y-m-d H:i:s'))-$datum->mktime_fromtimestamp($datum->formatDatum($tagesbeginn, $format='Y-m-d H:i:s'));
foreach($extlehrearr as $el)
{
if ($el["start"] > $tagesbeginn && $el["ende"] < $tagesende)
@@ -1550,17 +1550,16 @@ if ($projekt->getProjekteMitarbeiter($user, true))
}
list($h2, $m2) = explode(':', $elsumme);
$elsumme = $h2*3600+$m2*60;
if ($datum->formatDatum($tag, 'Y-m-d') >= '2019-11-06')
if ($datum->formatDatum($tag, 'Y-m-d') < '2019-11-06')
{
$pausesumme = $pausesumme;
}
else if ($tagessaldo > 18000 && $tagessaldo < 19800 && $pflichtpause==false && $elsumme == 0)
{
$pausesumme = $tagessaldo-18000;
}
else if ($tagessaldo>18000 && $pflichtpause==false && $elsumme == 0)
{
$pausesumme = $pausesumme+1800;
if ($tagessaldo > 21600 && $tagessaldo < 23400 && $pflichtpause == false && $elsumme == 0)
{
$pausesumme = $tagessaldo - 18000;
}
else if ($tagessaldo > 21600 && $pflichtpause == false && $elsumme == 0)
{
$pausesumme = $pausesumme + 1800;
}
}
if ($elsumme > 0){
@@ -1568,7 +1567,7 @@ if ($projekt->getProjekteMitarbeiter($user, true))
$pflichtpause = true;
}
$tagessaldo = $tagessaldo-$pausesumme;
$tagessaldo = $tagessaldo - $pausesumme;
// fehlende Pausen berechnen
$pausefehlt_str = '';
@@ -1594,7 +1593,7 @@ if ($projekt->getProjekteMitarbeiter($user, true))
}
}
$tagessaldo = date('H:i', ($tagessaldo));
$tagessaldo = gmdate('H:i', ($tagessaldo));
$colspan = ($za_simple)?6:8;
echo '<tr id="tag_row_'.$datum->formatDatum($tag,'d_m_Y').'"><td '.$style.' colspan="'.$colspan.'")>';
@@ -1617,7 +1616,7 @@ if ($projekt->getProjekteMitarbeiter($user, true))
<b>'.$p->t("zeitaufzeichnung/arbeitszeit").': '.$datum->formatDatum($tagesbeginn, $format='H:i').'-'.$datum->formatDatum($tagesende, $format='H:i').' '.$p->t("eventkalender/uhr").'</b><br>
'.$p->t("zeitaufzeichnung/pause").':
</td>
<td '.$style.' align="right"><b>'.$tagessaldo.$erstr.'</b><br>'.date('H:i', ($pausesumme-3600)).'</td>
<td '.$style.' align="right"><b>'.$tagessaldo.$erstr.'</b><br>'.gmdate('H:i', ($pausesumme)).'</td>
<td '.$style.' colspan="3" align="right">';
if ($tag > $sperrdatum)
echo '<a href="?von_datum='.$datum->formatDatum($tag,'d.m.Y').'&bis_datum='.$datum->formatDatum($tag,'d.m.Y').'" class="item">&lt;-</a>';
@@ -1633,7 +1632,7 @@ if ($projekt->getProjekteMitarbeiter($user, true))
$tagesbeginn = '';
$tagesende = '';
$pflichtpause = false;
$wochensaldo = $datum_obj->sumZeit($wochensaldo,$tagessaldo );
$wochensaldo = $datum_obj->sumZeit($wochensaldo,$tagessaldo);
}
// Nach jeder Woche eine Summenzeile einfuegen und eine neue Tabelle beginnen
+16 -36
View File
@@ -887,24 +887,19 @@ or not exists
$tagesbeginn = '';
$tagesende = '';
$pausesumme = 0;
$tagessaldo = '';
$elsumme = '00:00';
$pflichtpause = false;
$blockingError = false;
$datum = new datum();
$this->getListeUserFromTo($uid, $datumday, $datumday, null);
$this->getListeUserFromTo($uid, $datumday, $datumday);
foreach ($this->result as $row)
{
if($row->aktivitaet_kurzbz == 'DienstreiseMT' ) continue;
if (($tagesbeginn == '' || $datum->mktime_fromtimestamp($datum->formatDatum($tagesbeginn)) > $datum->mktime_fromtimestamp($datum->formatDatum($row->start))) && $row->aktivitaet_kurzbz != 'LehreExtern' && $row->aktivitaet_kurzbz != 'Ersatzruhe')
$tagesbeginn = $datum->formatDatum($row->start, 'H:i');
$datumtag = $datum->formatDatum($row->datum, 'Y-m-d');
if (($tagesbeginn == '' || $datum->mktime_fromtimestamp($datum->formatDatum($tagesbeginn, $format = 'Y-m-d H:i:s')) > $datum->mktime_fromtimestamp($datum->formatDatum($row->start, $format = 'Y-m-d H:i:s'))) && $row->aktivitaet_kurzbz != 'LehreExtern' && $row->aktivitaet_kurzbz != 'Ersatzruhe')
$tagesbeginn = $datum->formatDatum($row->start, 'H:i');
if (($tagesende == '' || $datum->mktime_fromtimestamp($datum->formatDatum($tagesende, $format = 'Y-m-d H:i:s')) < $datum->mktime_fromtimestamp($datum->formatDatum($row->ende, $format = 'Y-m-d H:i:s'))) && $row->aktivitaet_kurzbz != 'LehreExtern' && $row->aktivitaet_kurzbz != 'Ersatzruhe')
if (($tagesende == '' || $datum->mktime_fromtimestamp($datum->formatDatum($tagesende)) < $datum->mktime_fromtimestamp($datum->formatDatum($row->ende))) && $row->aktivitaet_kurzbz != 'LehreExtern' && $row->aktivitaet_kurzbz != 'Ersatzruhe')
$tagesende = $datum->formatDatum($row->ende, 'H:i');
if ($row->aktivitaet_kurzbz == "Pause")
@@ -914,38 +909,23 @@ or not exists
}
}
$tagessaldo = $datum->mktime_fromtimestamp($datum->formatDatum($tagesende, $format = 'Y-m-d H:i:s')) - $datum->mktime_fromtimestamp($datum->formatDatum($tagesbeginn, $format = 'Y-m-d H:i:s')) - 3600;
$tagessaldo = $datum->mktime_fromtimestamp($datum->formatDatum($tagesende)) - $datum->mktime_fromtimestamp($datum->formatDatum($tagesbeginn));
list($h2, $m2) = explode(':', $elsumme);
$elsumme = $h2 * 3600 + $m2 * 60;
if ($datum->formatDatum($datumday, 'Y-m-d') >= '2019-11-06')
if ($datum->formatDatum($datumday, 'Y-m-d') < '2019-11-06')
{
$pausesumme = $pausesumme;
if ($tagessaldo > 21600 && $tagessaldo < 23400)
{
$pausesumme = $tagessaldo - 18000;
}
elseif ($tagessaldo > 21600)
{
$pausesumme = $pausesumme + 1800;
}
}
elseif ($tagessaldo > 18000 && $tagessaldo < 19800 && $pflichtpause == false && $elsumme == 0)
{
$pausesumme = $tagessaldo - 18000;
}
elseif ($tagessaldo > 18000 && $pflichtpause == false && $elsumme == 0)
{
$pausesumme = $pausesumme + 1800;
}
if ($elsumme > 0)
{
$pausesumme = $pausesumme + $elsumme;
$pflichtpause = true;
}
$tagessaldo = $tagessaldo - $pausesumme;
//check if blocking error
if (($tagessaldo >= 19800 && $pausesumme < 1800) || ($tagessaldo > 18000 && $tagessaldo < 19800 && $pausesumme < $tagessaldo - 18000))
{
if ($tagessaldo > 21600 && $pausesumme < 1800)
$blockingError = true;
}
return $blockingError;
}