Skip to content
Permalink
master
Switch branches/tags

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?
Go to file
 
 
Cannot retrieve contributors at this time
executable file 101 lines (87 sloc) 3.14 KB
#!/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";
}
?>