jb-data.de/scripts/a_lohn2023.php
2025-08-11 22:23:30 +02:00

392 lines
No EOL
17 KiB
PHP

<?php
$_SESSION['slohn']=12.00;
$_SESSION['m1']=6; $_SESSION['m2']=1;
error_reporting(E_ALL); ini_set('display_errors',1);
if(isset($_GET['wahl'])) {
if($_GET['wahl']==1) {if($_GET['monat']==1) { $monat=12; $jahr=$_GET['jahr']-1;} else { $monat=$_GET['monat']-1; $jahr=$_GET['jahr'];}}
elseif($_GET['wahl']==2) {if($_GET['monat']==12) { $monat=1; $jahr=$_GET['jahr']+1;} else { $monat=$_GET['monat']+1; $jahr=$_GET['jahr']; }}
elseif($_GET['id']>0 && $_GET['wahl']==0) { $monat=$_GET['monat']; $jahr=$_GET['jahr']; }
} else {
$tjahr = (int)date('Y'); $tmonat = (int)date('m');
if($tmonat==1) { $monat=12; $jahr=$tjahr-1;} else { $monat=$tmonat-1; $jahr=$tjahr;}
$kw_aktuell = (int)date('W');
}
//---------------------------------------------- Abzug Strafgelder etc. -------------------------------
if(isset($_POST['abz_summe'])) {
$nachzahlung=0;
if(isset($_POST['nachzahlung'])) { $nachzahlung=1; }
$GLOBALS['mysql']->insert("INSERT INTO ma_abzahlung (monat,jahr,grund,summe,zuschlag,mid)
VALUES(
'".$_POST['abz_monat']."',
'".$_POST['abz_jahr']."',
'".$_POST['abz_grund']."',
'".$_POST['abz_summe']."',
'".$nachzahlung."',
'".$_POST['mid']."'
)
");
$ma_id=$_POST['mid'];
}
//---------------------------------------------- berechnung lohnlauf ---------------------------------
if(isset($_GET['vs'])) {
if($_GET['vs']==1) {
$_GET['vs']=0;
/*
$row_ma = $GLOBALS['mysql']->query_single("SELECT * FROM mitarbeiter WHERE id='".$_GET['id']."'");
$ma_id= $row_ma['id'];
$ma_tk= $row_ma['tarif'];
$inc_typ1= $row_ma['inc_typ1'];
$inc_typ2= $row_ma['inc_typ2'];
$inc_tour1= $row_ma['inc_tour1'];
$inc_tour2= $row_ma['inc_tour2'];
*/
//$status[$key]['fahrer'] = $_SESSION['ma_all'][$row_anlage['user']]['name'];
$ma_id= $_GET['id'];
$ma_tk= $_SESSION['ma_all'][$_GET['id']]['tarif'];
$inc_typ1= $_SESSION['ma_all'][$_GET['id']]['inc_typ1'];
$inc_typ2= $_SESSION['ma_all'][$_GET['id']]['inc_typ2'];
$inc_tour1= $_SESSION['ma_all'][$_GET['id']]['inc_tour1'];
$inc_tour2= $_SESSION['ma_all'][$_GET['id']]['inc_tour2'];
$tdaten = $GLOBALS['mysql']->query("SELECT * FROM tourenliste WHERE monat='".$monat."' AND jahr='".$jahr."' AND fahrer='".$ma_id."' ORDER BY tag");
while($row_td = $tdaten->fetch_assoc()) {
$tour_id=$row_td['id'];
$leer=$row_td['tarif'];
$tmpd = $GLOBALS['mysql']->query_single("SELECT * FROM touren WHERE id='".$row_td['tour']."'");
//---------- bug
$GLOBALS['mysql']->insert("UPDATE tourenliste SET utyp='".$tmpd['utyp']."' WHERE id='".$tour_id."'");
//----------
$tmpx1 = $GLOBALS['mysql']->query_single("SELECT * FROM ma_lohn WHERE mid='".$_GET['id']."' AND tour='".$row_td['tour']."' ");
$tmpx2 = $GLOBALS['mysql']->query_single("SELECT * FROM ma_lohn WHERE mid='".$_GET['id']."' AND typ='".$row_td['typ']."' ");
if($tmpx1['num_rows']>0) {
$GLOBALS['mysql']->insert("UPDATE tourenliste SET tarif='".$tmpx1['geld']."' WHERE id='".$tour_id."'");
$GLOBALS['mysql']->insert("UPDATE tourenliste SET tarifh='".$tmpx1['stunden']."' WHERE id='".$tour_id."'");
}
elseif($tmpx2['num_rows']>0) {
$GLOBALS['mysql']->insert("UPDATE tourenliste SET tarif='".$tmpx2['geld']."' WHERE id='".$tour_id."'");
$GLOBALS['mysql']->insert("UPDATE tourenliste SET tarifh='".$tmpx2['stunden']."' WHERE id='".$tour_id."'");
//echo $row_id;
} else {
//---------- bug ende
if ($ma_tk==0) { $tourlohn=$tmpd['tarif0']; }
if ($ma_tk==1) { $tourlohn=$tmpd['tarif1']; }
if ($ma_tk==2) { $tourlohn=$tmpd['tarif2']; }
if ($ma_tk==3) { $tourlohn=$tmpd['tarif3']; }
if ($ma_tk==4) { $tourlohn=$tmpd['tarif4']; }
$tourh=$tmpd['tarifh'];
if ($inc_typ1 ==$row_td['typ']) { $tourlohn=0; }
if ($inc_typ2 ==$row_td['typ']) { $tourlohn=0; }
if ($inc_tour1==$row_td['tour']) { $tourlohn=0; }
if ($inc_tour2==$row_td['tour']) { $tourlohn=0; }
$GLOBALS['mysql']->insert("UPDATE tourenliste SET tarif='".$tourlohn."' WHERE id='".$tour_id."'");
$GLOBALS['mysql']->insert("UPDATE tourenliste SET tarifh='".$tourh."' WHERE id='".$tour_id."'");
}
$ds++;
}
}
//---------------------------------------------- fertig setzten ---------------------------------
if($_GET['vs']==5) {
$savesumme=0;
//------------------------- Grundlohn rechnen
$row_ma = $GLOBALS['mysql']->query_single("SELECT * FROM mitarbeiter WHERE id='".$_GET['id']."'");
$savesumme=$savesumme+$row_ma['tarifg'];
//------------------------- Tourlohn rechnen bei Tourpreis
$tdaten = $GLOBALS['mysql']->query("SELECT * FROM tourenliste WHERE monat='".$monat."' AND jahr='".$jahr."' AND fahrer='".$row_ma['id']."'");
while($row_td = $tdaten->fetch_assoc()) {
$savesumme=$savesumme+$row_td['tarif'];
}
//------------------------- Vorauszahlungen wieder abziehen - Nachzahlungen aufrechnen
$nzahltest = $GLOBALS['mysql']->query_single("SELECT * FROM ma_abzahlung WHERE monat='".$monat."' AND jahr='".$jahr."' AND mid='".$row_ma['id']."'");
if($nzahltest['num_rows']>0) {
$nzahldaten = $GLOBALS['mysql']->query("SELECT * FROM ma_abzahlung WHERE monat='".$monat."' AND jahr='".$jahr."' AND mid='".$row_ma['id']."'");
while($nzdaten = $nzahldaten->fetch_assoc()) {
if($nzdaten['zuschlag']==1) {
$savesumme=$savesumme+$nzdaten['summe'];
} else {
$savesumme=$savesumme-$nzdaten['summe'];
}
}
}
//------------------------- Kalenderstring erstellen.
$tempx = $GLOBALS['mysql']->query("SELECT * FROM planer_bez WHERE id<80"); $kaldata=''; $dd=0;
while($row = $tempx->fetch_assoc()) {
$kd = $GLOBALS['mysql']->query_single("SELECT * FROM planer WHERE mid='".$row_ma['id']."' AND monat='".$monat."' AND jahr='".$jahr."' AND grund='".$row['id']."'");
if($kd['num_rows']>0) {
if($dd==0) {
$kaldata=$kd['num_rows']." x ".$row['bez']; $dd++;
} else {
$kaldata=$kaldata.' ** '.$kd['num_rows']." x ".$row['bez'];
}
}
}
//------------------------- ist netto oder brutto
$tarifdaten = $GLOBALS['mysql']->query_single("SELECT * FROM tariftyp WHERE id='".$row_ma['tarifgtyp']."'");
$netto= $tarifdaten['netto'];
//------------------------- Infodata
$testabfrage = $GLOBALS['mysql']->query_single("SELECT * FROM ma_ges_lohn WHERE monat='".$monat."' AND jahr='".$jahr."' AND mid='".$row_ma['id']."'");
$GLOBALS['mysql']->insert("UPDATE ma_ges_lohn SET glohn='".$savesumme."' WHERE id='".$testabfrage['id']."'");
$GLOBALS['mysql']->insert("UPDATE ma_ges_lohn SET netto='".$netto."' WHERE id='".$testabfrage['id']."'");
$GLOBALS['mysql']->insert("UPDATE ma_ges_lohn SET kaldata='".$kaldata."' WHERE id='".$testabfrage['id']."'");
$GLOBALS['mysql']->insert("UPDATE ma_ges_lohn SET fertig=1 WHERE id='".$testabfrage['id']."'");
$GLOBALS['mysql']->insert("UPDATE ma_ges_lohn SET geheim='".$row_ma['lohngeheim']."' WHERE id='".$testabfrage['id']."'");
$fertig=1;
}
//echo "<pre>"; print_r($tmp); echo "</pre>";
//---------------------------------------------- fertig löschen zurücksetzten ---------------------------------
if($_GET['vs']==9) {
$GLOBALS['mysql']->insert("UPDATE ma_ges_lohn SET fertig=0 WHERE monat='".$monat."' AND jahr='".$jahr."' AND mid='".$_GET['id']."'");
$fertig=9;
}
} // ende vs code GET
//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------
// ********* Auslesen ****************************************************************************
if(isset($_GET['id'])) {
$lohn=0; $key=0; $kei=0; $fertig=0;
$id=$_GET['id'];
$ma_id=$_GET['id']; // id für anzeige
$ma = $GLOBALS['mysql']->query_single("SELECT * FROM mitarbeiter WHERE id='".$id."'");
// --- Grunddaten ************************** überarteiten bzw löschen
$ma_data['name'] = $_SESSION['ma_all'][$id]['name']; // name für anzeige
$ma_data['geheim'] = $_SESSION['ma_all'][$id]['lohngeheim'];// geheim 1 / 0
$ma_data['ttyp'] = $_SESSION['ma_all'][$id]['tariftyp']; // geheim 1 / 0
$ma_data['wnlohn'] = $_SESSION['ma_all'][$id]['tarifg']; // geheim 1 / 0
//$ma_data['kirche'] = $_SESSION['ma_all'][$id]['konfessionen']; // Kirchensteuer
//-------------------------------------------------------------------------------------------------
// $z = $GLOBALS['mysql']->query_single("SELECT SUM(tarifh) As tarifh FROM tourenliste WHERE monat='".$monat."' and jahr='".$jahr."' and fahrer='".$id."' and typ in(3,4,5,17,18)");
//$lkopf=
// echo "--------".$z['tarifh'];
//-------------------------------------------------------------------------------------------------
// *** Grundlohn auslesen und speichern *** nur einmal pro Monat
$gl = $GLOBALS['mysql']->query_single("SELECT * FROM ma_lohn_ges WHERE mid='".$id."' and monat='".$monat."' and jahr='".$jahr."'");
if($gl['num_rows'] == 0) {
$alter=$jahr-$ma['gebjahr'];
if($ma_data['konfessionen']<1) { $kirche=$ma_data['konfessionen']; } else { $kirche=0; }
// status &fertig fehlt noch
$GLOBALS['mysql']->insert("INSERT INTO ma_lohn_ges (mid,monat,jahr,glohn,kinder,kinderfb,kkzuschlag,steuerkl,jgang,kirche,grund_h,grund_n1,grund_n2)
VALUES(
'".$id."',
'".$monat."',
'".$jahr."',
'".$ma['tarifg']."',
'".$ma['kinder']."',
'".$ma['kinderfb']."',
'".$ma['kkbeitrag']."',
'".$ma['steuerkl']."',
'".$alter."',
'".$kirche."',
'".$ma['grund_h']."',
'".$ma['grund_n1']."',
'".$ma['grund_n2']."')
");
$gldata['grund_h'] =$ma['grund_h'];
$gldata['grund_n1']=$ma['grund_n1'];
$gldata['grund_n2']=$ma['grund_n2'];
//--------------------------------------
//------- Stunden und Touren umschreiben in Tourenliste
$gtd = $GLOBALS['mysql']->query("SELECT * FROM tourenliste WHERE monat='".$monat."' AND jahr='".$jahr."' AND fahrer='".$id."'"); $key=0;
while($row = $gtd->fetch_assoc()) {
$GLOBALS['mysql']->insert("UPDATE tourenliste SET tarifh='".$_SESSION['tour'][$row['tour']]['tarifh']."' WHERE id='".$row['id']."'");
$GLOBALS['mysql']->insert("UPDATE tourenliste SET tarifn1='".$_SESSION['tour'][$row['tour']]['tarifn1']."' WHERE id='".$row['id']."'");
$GLOBALS['mysql']->insert("UPDATE tourenliste SET tarifn2='".$_SESSION['tour'][$row['tour']]['tarifn2']."' WHERE id='".$row['id']."'");
// echo $_SESSION['tour'][$row['tour']]['tarifh']."</br>";
}
//---------------------------------------
} else {
$gldata['grund_h'] =$gl['grund_h'];
$gldata['grund_n1']=$gl['grund_n1'];
$gldata['grund_n2']=$gl['grund_n2'];
}
//-----------------------------------------------------------------------------------------------------------------
$monatstage = date("t",mktime(0, 0, 0,$monat,1,$jahr));
for ($i = 1; $i <= $monatstage; $i++) {
// $ts=mktime(0, 0, 0,$monat,$i,$jahr);
$wt =date("w",mktime(8,8,8,$monat,$i,$jahr));
$data[$i]['wt'] =$wt;
$data[$i]['tag']=$i;
if ($wt==0) { $data[$i]['tagbez']="So."; $data[$i]['taginfo']="Sonntag"; }
if ($wt==1) { $data[$i]['tagbez']="Mo."; $data[$i]['taginfo']="Montag"; }
if ($wt==2) { $data[$i]['tagbez']="Di."; $data[$i]['taginfo']="Dienstag"; }
if ($wt==3) { $data[$i]['tagbez']="Mi."; $data[$i]['taginfo']="Mittwoch"; }
if ($wt==4) { $data[$i]['tagbez']="Do."; $data[$i]['taginfo']="Donnerstag"; }
if ($wt==5) { $data[$i]['tagbez']="Fr."; $data[$i]['taginfo']="Freitag"; }
if ($wt==6) { $data[$i]['tagbez']="Sa."; $data[$i]['taginfo']="Samstag"; }
$ftag = $GLOBALS['mysql']->query_single("SELECT * FROM feiertage WHERE tag='".$i."' and monat='".$monat."' and jahr='".$jahr."' ");
if($ftag['num_rows'] != 0) { $data[$i]['ft']=1; $data[$i]['taginfo']=$data[$i]['taginfo']." ".$ftag['info']; }
//--- GH --- 6 Tage
// if ($ma_data['ttyp']==3) { }
}
// --- Tourdaten
$tourx = $GLOBALS['mysql']->query("SELECT * FROM tourenliste WHERE monat='".$monat."' AND jahr='".$jahr."' AND fahrer='".$id."' ORDER BY tag");
$key=0; $day=1;
while($row_td = $tourx->fetch_assoc()) {
//$tdata[$key]['ws']=1;
if ($row_td['tag']!=$day) {
//$tdata[$key]['ws']=1;
$data[$day]['tdata']=$tdata;
$day=$row_td['tag'];
$tdata=array(); $key=0;
} else { $tdata[$key]['ws']=0; }
if ($key==0) { $tdata[$key]['ws']=2; }
$ztemp=0;
$tdata[$key]['key'] =$key;
$tdata[$key]['t_id']=$row_td['id'];
$tdata[$key]['name']=$_SESSION['tour'][$row_td['tour']]['tour'];
$wt2 =date("t",mktime(8,8,8,$monat,$day,$jahr));
if ($wt2==0) { $ztemp=$row_td['lohn_h_0']; }
if ($wt2==1) { $ztemp=$row_td['lohn_h_1']; }
if ($wt2==2) { $ztemp=$row_td['lohn_h_2']; }
if ($wt2==3) { $ztemp=$row_td['lohn_h_3']; }
if ($wt2==4) { $ztemp=$row_td['lohn_h_4']; }
if ($wt2==5) { $ztemp=$row_td['lohn_h_5']; }
if ($wt2==6) { $ztemp=$row_td['lohn_h_6']; }
if ($ztemp<1) { $ztemp=$_SESSION['tour'][$row_td['tour']]['tarifh']; }
$tdata[$key]['tourh']=$ztemp;
// stammtourprüfung
if ($_SESSION['tour'][$row_td['tour']]['s_fahrer']==$id) { $tdata[$key]['stamm']=1; }
// Tourentyp prüfung
//echo "<pre>"; print_r($tdata); echo "</pre>";
$data[$day]['tdata']=$tdata;
$key++;
/*
$senddata[$key]['tid']=$row_td['id'];
$senddata[$key]['astunden']=$row_td['tarifh'];
$senddata[$key]['time']=$row_td['time'];
//------------------------
$tt1=$row_td['time']-10000;
$tt2=$row_td['time']+5000;
$kl = $GLOBALS['mysql']->query_single("SELECT * FROM kartenlog WHERE user='".$ma_id."' and zeit>'".$tt1."' and zeit<'".$tt2."'");
if($kl['num_rows']!=0) { $senddata[$key]['stime']=$kl['zeit']; }
$tt3=$row_td['time']+5000;
$tt4=$row_td['time']+30000;
$kl = $GLOBALS['mysql']->query_single("SELECT * FROM kartenlog WHERE user='".$ma_id."' and zeit>'".$tt3."' and zeit<'".$tt4."'");
$senddata[$key]['etime']=$kl['zeit'];
$senddata[$key]['ezeit']=$row_td['time']+$_SESSION['tour'][$row_td['tour']]['zeit'];
// echo $kl['zeit']."</br>";
//-----------------------
//$tmpd = $GLOBALS['mysql']->query_single("SELECT * FROM touren WHERE id='".$row_td['tour']."'");
//$senddata[$key]['name1']=$tmpd['tour'];
$senddata[$key]['name1']=$_SESSION['tour'][$row_td['tour']]['tour'];
$senddata[$key]['name2']=$_SESSION['tour'][$row_td['tour']]['tour3'];
*/
if ($wt==1) { }
if ($_SESSION['tour'][$id]['tariftyp']) { }
}
}
$template->assign('data', $data);
//echo "<pre>"; print_r($gldata); echo "</pre>";
if(isset($tmp)) { $template->assign('tmp', $tmp); }
//-----------------------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------------------
$tariftyp = $GLOBALS['mysql']->query_array("SELECT * FROM tariftyp WHERE aktiv>0 ORDER BY id");
$template->assign('tariftyp', $tariftyp);
//-----------------------------------------------------------------------------------------------------------------
$ma_abz = $GLOBALS['mysql']->query_array("SELECT * FROM ma_abzahlung WHERE mid='".$id."' ORDER BY jahr,monat");
$template->assign('ma_abz', $ma_abz);
$template->assign('ma', $ma);
//-----------------------------------------------------------------------------------------------------------------
$template->assign('ma_lohntyp', $ma_lohntyp);
$template->assign('ma_id', $id);
$template->assign('ma_g_lohntyp', $ma_g_lohntyp);
$template->assign('ma_name', $ma_data['name']);
$template->assign('ma_g_lohn', $ma_data['wnlohn']);
$template->assign('ldata', $data); //ldata
$template->assign('gdata', $gldata); //ldata
// echo "<pre>"; print_r($data); echo "</pre>";
$template->assign('lgeheim', $lgeheim);
$template->assign('fertig', $fertig);
$template->assign('senddata', $senddata);
$template->assign('lohnanzeige', $lohnanzeige);
$temp1 = $GLOBALS['mysql']->query("SELECT * FROM mitarbeiter WHERE aktiv>0 AND typ<97 AND tarifgtyp!=99 ORDER BY name"); $key=0;
while($rowdata = $temp1->fetch_assoc()) {
$mitarbeiterlist[$key]['name']=$rowdata['name'];
$mitarbeiterlist[$key]['id']=$rowdata['id'];
$mitarbeiterlist[$key]['lohngeheim']=$rowdata['lohngeheim'];
$testabfrage = $GLOBALS['mysql']->query_single("SELECT * FROM ma_ges_lohn WHERE monat='".$monat."' AND jahr='".$jahr."' AND mid='".$rowdata['id']."'");
if($testabfrage['num_rows']>0) { $mitarbeiterlist[$key]['fertig']=$testabfrage['fertig']; } else { $mitarbeiterlist[$key]['fertig']=0; }
$key++;
}
$template->assign('mitarbeiterlist', $mitarbeiterlist);
//$template->assign('ma_lohn', $ma_lohn);
$template->assign('monat', $monat);
$template->assign('jahr', $jahr);
$template->assign('content', 'tpl/a_lohn2023.tpl'); //_list
?>