mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b1a179b923 | |||
| 35758e5554 | |||
| e5bd96b9d9 |
@@ -1474,6 +1474,7 @@ if ($projekt->getProjekteMitarbeiter($user, true))
|
||||
$pausesumme='00:00';
|
||||
$wochensumme='00:00';
|
||||
$extlehrearr=array();
|
||||
$ersatzruhearr = array();
|
||||
$elsumme = '00:00';
|
||||
$ersumme = '00:00';
|
||||
$ersumme_woche = '00:00';
|
||||
@@ -1517,6 +1518,16 @@ if ($projekt->getProjekteMitarbeiter($user, true))
|
||||
if ($el["start"] > $tagesbeginn && $el["ende"] < $tagesende)
|
||||
$elsumme = $datum_obj->sumZeit($elsumme, $el["diff"]);
|
||||
}
|
||||
//Korrektur um Ersatzruhezeiten innerhalb der Arbeitszeit
|
||||
foreach($ersatzruhearr as $er)
|
||||
{
|
||||
if ($er["start"] > $tagesbeginn && $er["ende"] < $tagesende)
|
||||
{
|
||||
list($hour, $min) = explode(':', $er["diff"]);
|
||||
$tagessaldo = $tagessaldo - ($hour * 3600 + $min * 60);
|
||||
}
|
||||
}
|
||||
|
||||
list($h2, $m2) = explode(':', $elsumme);
|
||||
$elsumme = $h2*3600+$m2*60;
|
||||
if ($datum->formatDatum($tag, 'Y-m-d') >= '2019-11-06')
|
||||
@@ -1599,6 +1610,7 @@ if ($projekt->getProjekteMitarbeiter($user, true))
|
||||
$elsumme='00:00';
|
||||
$ersumme = '00:00';
|
||||
$extlehrearr = array();
|
||||
$ersatzruhearr = array();
|
||||
$tagesbeginn = '';
|
||||
$tagesende = '';
|
||||
$pflichtpause = false;
|
||||
@@ -1693,6 +1705,12 @@ if ($projekt->getProjekteMitarbeiter($user, true))
|
||||
{
|
||||
$ersumme = $datum_obj->sumZeit($ersumme, $row->diff);
|
||||
$ersumme_woche = $datum_obj->sumZeit($ersumme_woche, $row->diff);
|
||||
|
||||
$ersatzruhearr[] = array(
|
||||
'start' => $row->start,
|
||||
'ende' => $row->ende,
|
||||
'diff' => $row->diff
|
||||
);
|
||||
}
|
||||
else
|
||||
$tagessumme = $datum_obj->sumZeit($tagessumme, $row->diff);
|
||||
@@ -1753,6 +1771,7 @@ if ($projekt->getProjekteMitarbeiter($user, true))
|
||||
|
||||
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')
|
||||
$tagesende = $row->ende;
|
||||
|
||||
if ($row->aktivitaet_kurzbz == 'LehreExtern')
|
||||
$extlehrearr[] = array("start"=>$row->start, "ende"=>$row->ende, "diff"=>$row->diff);
|
||||
}
|
||||
|
||||
@@ -88,7 +88,7 @@ $date = new datum();
|
||||
$ztauf = new zeitaufzeichnung();
|
||||
$projektphaseclass = new projektphase();
|
||||
|
||||
$activitiesToIgnore = array('DienstreiseMT', 'Ersatzruhe');//aktivitaetstypen which shouldn't be added to worktime
|
||||
$activitiesToIgnore = array('DienstreiseMT');//aktivitaetstypen which shouldn't be added to worktime
|
||||
$ztauf->getListeUserFromTo($uid, $year.'-'.$month.'-01', $year.'-'.$month.'-'.$daysinmonth, $activitiesToIgnore);
|
||||
|
||||
//objects for one projectline of list (corresponds to one day)
|
||||
@@ -96,7 +96,7 @@ $projektlines = array();
|
||||
$dayStart = $dayEnd = '';
|
||||
$projektnames = $projektphasenames = $tosubtract = $allpauseranges = array();
|
||||
$projektTiteles = array();
|
||||
$activitiesToSubtract = ['Pause', 'LehreExtern', 'Arztbesuch', 'Behoerde'];//aktivitaetstypen which should be subtracted fromworktime
|
||||
$activitiesToSubtract = ['Pause', 'LehreExtern', 'Arztbesuch', 'Behoerde', 'Ersatzruhe'];//aktivitaetstypen which should be subtracted fromworktime
|
||||
$ztaufdata = $ztauf->result;
|
||||
$totalmonthsum = 0.00;
|
||||
$projektmonthsums = array();
|
||||
@@ -133,8 +133,8 @@ for ($i = 0; $i < count($ztaufdata); $i++)
|
||||
$subtraction->typ = $ztaufrow->aktivitaet_kurzbz;
|
||||
$tosubtract[] = $subtraction;
|
||||
|
||||
//save all pause ranges
|
||||
if ($ztaufrow->aktivitaet_kurzbz == $activitiesToSubtract[0])
|
||||
//save all pause ranges and treat ersatzruhe as pause
|
||||
if ($ztaufrow->aktivitaet_kurzbz == $activitiesToSubtract[0] || $ztaufrow->aktivitaet_kurzbz == $activitiesToSubtract[4])
|
||||
{
|
||||
$prevpause = null;
|
||||
if (count($allpauseranges) > 0)
|
||||
@@ -316,7 +316,7 @@ for ($i = 0; $i < count($ztaufdata); $i++)
|
||||
$projektlines[$day]->arbeitszeit -= $subtraction->diff;
|
||||
$pauseSubtracted += $subtraction->diff;
|
||||
}
|
||||
elseif ($subtraction->typ == $activitiesToSubtract[1] && $subtraction->start >= $dayStart && $subtraction->ende <= $dayEnd)
|
||||
elseif (($subtraction->typ == $activitiesToSubtract[1] || $subtraction->typ == $activitiesToSubtract[4]) && $subtraction->start >= $dayStart && $subtraction->ende <= $dayEnd)
|
||||
{
|
||||
$projektlines[$day]->arbeitszeit -= $subtraction->diff;
|
||||
$lehreExternExists = true;
|
||||
|
||||
Reference in New Issue
Block a user