Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
timerec3public/urlaubrun.php
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
executable file
101 lines (87 sloc)
3.14 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/php | |
<?php | |
//urlaubrun.php | |
//läuft immer anfang des Jahres | |
include('dbconnect.php'); | |
if(php_sapi_name() != "cli"){ | |
echo "<h3>keine Rechte, diese Seite einzusehen!</h3>"; | |
exit; | |
} | |
//am 1.1. werden übrig gebliebene Urlaubstage ins neue Jahr übertragen | |
if(isset($argv[1])){ | |
$jahr = $argv[1]; | |
}else{ | |
$jahr = date('Y'); | |
} | |
if(isset($argv[2])){ | |
$maID = "where maID = ".$argv[2]; | |
}else{ | |
$maID = ""; | |
} | |
$altesjahr = $jahr-1; | |
$folgejahr = $jahr+1; | |
$getma = $dbc->query("select * from mitarbeiter $maID order by nachname;"); | |
$jetzt = new DateTime(); | |
echo "\n\n"; | |
echo "Bearbeite jetzt (".date('d.m.Y H:i:s').") für das Jahr $jahr $maID\n"; | |
echo "=====================\n"; | |
foreach($getma as $ma){ | |
echo "bearbeite: $ma[nachname] [$ma[maID]]\n"; | |
$getnew = $dbc->query("select jahresurlaub from az_data_copy | |
where maID = '$ma[maID]' | |
order by azdID desc, datum_ab desc limit 1;"); | |
if(!empty($getnew)){ | |
$new = $getnew->fetch_array()[0]; | |
}else{ | |
$new = 0; | |
} | |
$filtered = array(); //für jeden MA leeren | |
$getdata = $dbc->query("select * from kalender where maID = '$ma[maID]' and year(datum) = $altesjahr order by datum, k_id;"); | |
foreach($getdata as $data){ | |
$filtered[$data['datum']] = $data; | |
} | |
$genehmigt = 0; | |
foreach($filtered as $filter){ | |
if($filter['typ'] == 10 && $filter['status'] == 'genehmigt') $genehmigt++; | |
} | |
$geturlaub = $dbc->query("select tage from urlaub where maID = '$ma[maID]' and jahr = $altesjahr;"); | |
$anspruch = $geturlaub->fetch_array()[0]; | |
echo "anspruch: $anspruch\n"; | |
echo "genehmigt: $genehmigt\n"; | |
$verbleibend = $anspruch - $genehmigt; | |
echo "verbleibend: $verbleibend\n"; | |
//für darauf folgendes Jahr schon mal Standard-Urlaub eintragen, damit im Voraus gebucht werden kann | |
$insertstandard = "insert into urlaub (maID, jahr, tage) values ('$ma[maID]', $folgejahr, $new) on duplicate key update tage=$new;"; | |
//echo $insertstandard ."\n"; | |
$dbc->query($insertstandard); | |
if($dbc->error){ | |
echo $dbc->error; | |
echo "\n\n"; | |
echo $putnew; | |
echo "\n\n"; | |
exit; | |
} | |
/* | |
$getold = $dbc->query("select tage from urlaub where maID = '$ma[maID]' and jahr = $altesjahr;"); | |
if(!empty($getold)){ | |
$old = $getold->fetch_array()[0]; | |
}else{ | |
$old = 0; | |
} | |
echo "alt: $old\n"; */ | |
echo "neu: $new\n"; | |
$newdays = $verbleibend + $new; | |
echo "neu plus übertrag: $newdays\n"; | |
$putnew = "update urlaub set tage = $newdays where maID = '$ma[maID]' and jahr = $jahr;"; | |
//echo $putnew. "\n"; | |
$dbc->query($putnew); | |
if($dbc->error){ | |
echo $dbc->error; | |
echo "\n\n"; | |
echo $putnew; | |
echo "\n\n"; | |
exit; | |
} | |
echo "---------------\n"; | |
} | |
?> |