<?php

include "functions.php";
include "header.php";
include "headerline.php";
include "nav.php";


?>



<!-- Banner -->
	<section id="banner">
		<div class="content">

<?php

if(checkKaffeelisteAccess($conn, $mailadress)){

	echo "<h2>Kaffeeliste</h2>";
	echo "Hallo " . getUserName($conn,$mailadress) . "!<br><br>";
	// Funktion zum Berechnen der Gesamtausgabe und Gesamtstriche pro Mitarbeiter
	function berechneGesamtausgabe($email, $conn) {
		// MitarbeiterID anhand der E-Mail-Adresse abrufen
		$sqlMitarbeiterID = "SELECT MitarbeiterID FROM kl_Mitarbeiter WHERE Email = ?";
		$stmtMitarbeiterID = sqlsrv_query($conn, $sqlMitarbeiterID, array($email));
		$rowMitarbeiterID = sqlsrv_fetch_array($stmtMitarbeiterID, SQLSRV_FETCH_ASSOC);

		if (!$rowMitarbeiterID) {
			return null; // Mitarbeiter nicht gefunden
		}

		$mitarbeiterID = $rowMitarbeiterID["MitarbeiterID"];
		// Gesamteinzahlung pro Mitarbeiter
		$sqleinzahlung = "SELECT SUM(Betrag) AS Gesamteinzahlung FROM kl_Einzahlungen WHERE MitarbeiterID = ?";
		$stmteinzahlung = sqlsrv_query($conn, $sqleinzahlung, array($mitarbeiterID));
		$roweinzahlung = sqlsrv_fetch_array($stmteinzahlung, SQLSRV_FETCH_ASSOC);
		$gesamteinzahlung = $roweinzahlung['Gesamteinzahlung'];
		
		// Gesamtausgabe für Kaffeeverbrauch pro Mitarbeiter
		$sqlAusgabe = "SELECT SUM(AnzahlStriche) AS Gesamtstriche, SUM(Kosten) AS Gesamtausgabe FROM kl_Kaffeeverbrauch WHERE MitarbeiterID = ?";
		$stmtAusgabe = sqlsrv_query($conn, $sqlAusgabe, array($mitarbeiterID));
		$rowAusgabe = sqlsrv_fetch_array($stmtAusgabe, SQLSRV_FETCH_ASSOC);
		$gesamtausgabe = $rowAusgabe['Gesamtausgabe'];
		$gesamtstriche = $rowAusgabe['Gesamtstriche'];
		$aktuellerStand = $gesamteinzahlung - $gesamtausgabe;
		
		// Gesamteinzahlung pro Mitarbeiter und Aktuellem Jahr
		$sqleinzahlung = "SELECT SUM(Betrag) AS Gesamteinzahlung FROM kl_Einzahlungen WHERE MitarbeiterID = ? AND FORMAT(Datum, 'yyyy') = FORMAT(GETDATE(), 'yyyy') ";
		$stmteinzahlung = sqlsrv_query($conn, $sqleinzahlung, array($mitarbeiterID));
		$roweinzahlung = sqlsrv_fetch_array($stmteinzahlung, SQLSRV_FETCH_ASSOC);
		$yeareinzahlung = $roweinzahlung['Gesamteinzahlung'];
		
		// Gesamtausgabe für Kaffeeverbrauch pro Mitarbeiter und Aktuellem Jahr
		$sqlAusgabe = "SELECT SUM(AnzahlStriche) AS Gesamtstriche, SUM(Kosten) AS Gesamtausgabe FROM kl_Kaffeeverbrauch WHERE MitarbeiterID = ? AND FORMAT(Datum, 'yyyy') = FORMAT(GETDATE(), 'yyyy')";
		$stmtAusgabe = sqlsrv_query($conn, $sqlAusgabe, array($mitarbeiterID));
		$rowAusgabe = sqlsrv_fetch_array($stmtAusgabe, SQLSRV_FETCH_ASSOC);
		$yearausgabe = $rowAusgabe['Gesamtausgabe'];
		$yearstriche = $rowAusgabe['Gesamtstriche'];
		
		return array('Jahresausgabe' => $yearausgabe, 'Jahresstriche' => $yearstriche, 'Jahreseinzahlung' => $yeareinzahlung, 'Gesamtausgabe' => $gesamtausgabe, 'Gesamtstriche' => $gesamtstriche, 'Gesamteinzahlung' => $gesamteinzahlung, 'aktuellerStand' => $aktuellerStand);
		#return array('Gesamtausgabe' => $gesamtausgabe, 'Gesamtstriche' => $gesamtstriche, 'Gesamteinzahlung' => $gesamteinzahlung, 'aktuellerStand' => $aktuellerStand);

	}
	function AusgabeletztenEinzahlungen($email, $conn) {
		// MitarbeiterID anhand der E-Mail-Adresse abrufen
		$sqlMitarbeiterID = "SELECT TOP 20 MitarbeiterID FROM kl_Mitarbeiter WHERE Email = ?";
		$stmtMitarbeiterID = sqlsrv_query($conn, $sqlMitarbeiterID, array($email));
		$rowMitarbeiterID = sqlsrv_fetch_array($stmtMitarbeiterID, SQLSRV_FETCH_ASSOC);

		if (!$rowMitarbeiterID) {
			return null; // Mitarbeiter nicht gefunden
		}
		$mitarbeiterID = $rowMitarbeiterID["MitarbeiterID"];
		// Gesamteinzahlung pro Mitarbeiter
		$sqleinzahlung = "SELECT Betrag,Datum FROM kl_Einzahlungen WHERE MitarbeiterID = ? ORDER BY Datum DESC ";
		$stmteinzahlung = sqlsrv_query($conn, $sqleinzahlung, array($mitarbeiterID));
		$ausgabe = "<h4>Letzte Einzahlungen</h4><table><tr><th style='width:120'>Datum</th><th>Einzahlung</th></tr>";
		while ($row = sqlsrv_fetch_array($stmteinzahlung, SQLSRV_FETCH_ASSOC)) {
			$ausgabe .= "<tr><td>" . date_format($row["Datum"],"d.m.Y") . "</td><td>" . number_format($row["Betrag"], 2, ',', '') . "€</td></tr>";
		}
		$ausgabe .= "</table>";
		return $ausgabe;
	}
	
	function AusgabeletztenStriche($email, $conn) {
		// MitarbeiterID anhand der E-Mail-Adresse abrufen
		$sqlMitarbeiterID = "SELECT TOP 20 MitarbeiterID FROM kl_Mitarbeiter WHERE Email = ?";
		$stmtMitarbeiterID = sqlsrv_query($conn, $sqlMitarbeiterID, array($email));
		$rowMitarbeiterID = sqlsrv_fetch_array($stmtMitarbeiterID, SQLSRV_FETCH_ASSOC);

		if (!$rowMitarbeiterID) {
			return null; // Mitarbeiter nicht gefunden
		}
		$mitarbeiterID = $rowMitarbeiterID["MitarbeiterID"];
		// Gesamteinzahlung pro Mitarbeiter
		$sqleinzahlung = "SELECT AnzahlStriche,Kosten,Datum FROM kl_Kaffeeverbrauch WHERE MitarbeiterID = ? ORDER BY Datum DESC ";
		$stmteinzahlung = sqlsrv_query($conn, $sqleinzahlung, array($mitarbeiterID));
		$ausgabe = "<h4>Letzte Striche</h4><table ><tr><th style='width:120'>Datum</th><th>Striche</th><th>Kosten</th></tr>";
		while ($row = sqlsrv_fetch_array($stmteinzahlung, SQLSRV_FETCH_ASSOC)) {
			$ausgabe .= "<tr><td>" . date_format($row["Datum"],"d.m.Y") . "</td><td>" . $row["AnzahlStriche"] . "</td><td>" . number_format($row["Kosten"], 2, ',', '') . "€</td></tr>";
		}
		$ausgabe .= "</table>";
		return $ausgabe;
	}	
	
	
	// E-Mail-Adresse des Mitarbeiters (ersetze durch die tatsächliche E-Mail)
	$email = $mailadress;

	// Berechne Gesamtausgabe und Gesamtstriche für den Mitarbeiter
	$result = berechneGesamtausgabe($email, $conn);

	if ($result !== null) {
		
		#echo "<h2>Gesamtausgabe und Gesamtstriche</h2>";
		#echo "<p>E-Mail: $email</p>";
		#echo "Gesamtausgabe: " . number_format($result['Gesamtausgabe'], 2, ',', '') . " €<br>";
		#echo "Gesamtstriche: {$result['Gesamtstriche']}<br>";
		#echo "<p>Gesamteinzahlung: " . number_format($result['Gesamteinzahlung'], 2, ',', '') . " €<br>";
		$aktuellerstand = number_format($result['aktuellerStand'], 2, ',', '.');
		if($result['aktuellerStand'] > 0){
			echo "<p><b>Aktueller Stand: {$aktuellerstand} € (Guthaben)</p>";
		}elseif($result['aktuellerStand'] < 0){
			echo "<p><b>Aktueller Stand: {$aktuellerstand} € (Schulden)</p>";
		}else{
			echo "<p><b>Aktueller Stand: {$aktuellerstand} €</p>";
		}
		echo "</b>";
		echo "<h2>Jahresübersicht</h2>";
		echo "Ausgabe im aktuellem Jahr: " . number_format($result['Jahresausgabe'], 2, ',', '') . " €<br>";
		echo "Gesamtstriche  im aktuellem Jahr:  {$result['Jahresstriche']}<br>";
		echo "<p>Gesamteinzahlung im aktuellem Jahr: " . number_format($result['Jahreseinzahlung'], 2, ',', '') . " €<br>";		
		
		
		$sqlconfig = "SELECT paypaluse,paypallink,strichperweb FROM kl_config";
		$stmtconfig = sqlsrv_query($conn, $sqlconfig, array($email));
		$rowconfig = sqlsrv_fetch_array($stmtconfig, SQLSRV_FETCH_ASSOC);
		
		if($rowconfig["strichperweb"] == 1){
			// Kosten pro Strich auslesen
			$sqlKostenproStrich = "SELECT KostenproStrich FROM kl_config ";
			$stmtKostenproStrich = sqlsrv_query($conn, $sqlKostenproStrich);
			$row = sqlsrv_fetch_array($stmtKostenproStrich, SQLSRV_FETCH_ASSOC);
			$KostenproStrichtemp = $row["KostenproStrich"];
			$KostenproStrich = number_format($KostenproStrichtemp, 2, ',', '');
			
			echo "<h2>Eintrag in die Strichliste</h2>";
			echo '<b>Hier kannst du einen oder zwei Striche für dich in der Kaffeeliste eintragen. <br>Dafür benötigst du keinen Eintrag auf der Liste durchführen.</b><br>Aktueller Preis pro Strich: '.$KostenproStrich . ' €<br><br>';
			
			echo'<ul class="actions">
				<li>';			
			echo '<form method="post" action="' . htmlspecialchars($_SERVER["PHP_SELF"]) . '"><button type="submit">Einen Strich eintragen</button><input type="hidden" name="anzahlStriche" value="1" ></form>';
			echo '</li><li>';
			echo '<form method="post" action="' . htmlspecialchars($_SERVER["PHP_SELF"]) . '"><button type="submit">Zwei Striche eintragen</button><input type="hidden" name="anzahlStriche" value="2" ></form>';
			echo '</li></ul>';
			
			if ($_SERVER["REQUEST_METHOD"] == "POST") {
				
				
				// Iteriere über alle Mitarbeiter
				
				// Validierung könnte hier hinzugefügt werden
				$anzahlStriche = $_POST["anzahlStriche"];
				$anzahlStriche = (int)$anzahlStriche;
				$kostenproStrich = floatval($KostenproStrichtemp);
				$kosten = floatval($anzahlStriche * $KostenproStrichtemp);
				$datum = date("Y-d-m H:i:s"); // Das aktuelle Datum verwenden
				if($anzahlStriche != 0){
					// SQL-Abfrage zum Einfügen der Daten
					$sql = "INSERT INTO kl_Kaffeeverbrauch (MitarbeiterID, AnzahlStriche, Kosten, KostenproStrich, Datum, Eintragsart) VALUES (?, ?, ?, ?, ?, 2)";
					$params = array(getUserId($conn,$email), $anzahlStriche, $kosten, $kostenproStrich, $datum);
					
					$stmt = sqlsrv_query($conn, $sql, $params);
					
					if ($stmt === false) {
						die(print_r(sqlsrv_errors(), true));
					}
					echo '<div class="hint-box success"> <i class="fas fa-check-circle"></i> <p><b>Stricheintragung wurde erfolgreich eingetragen!</b><br>Du kannst den Eintrag weiter unten kontrollieren.</p> </div><br>';
					
				}
			

				
			}
			
			
		}
		
		if($rowconfig["paypaluse"] == 1){
			echo "<h2>Paypal-Einzahlungen</h2>";
			echo '<b>Bezahle immer über die Freunde-Funktion von Paypal. Ansonsten stellen wir 20% des Betrags als Gebühr in Rechnung.</b><br>';
			
			$paypallink = trim($rowconfig["paypallink"]);
			echo "<br>";
			if($result['aktuellerStand'] < 0){
				
				echo '<form action="' . $paypallink .'' . $aktuellerstand . '" target="_blank" ><button type="submit">'. $aktuellerstand . ' € bezahlen</button></form>';

				
			}
			echo'<ul class="actions">
				<li>';			
			echo '<form action="' . $paypallink .'5" target="_blank" ><button type="submit">5,00 € einzahlen</button></form>';
			echo '</li><li>';
			echo '<form action="' . $paypallink .'10" target="_blank" ><button type="submit">10,00 € einzahlen</button></form>';
			echo '</li><li>';
			echo '<form action="' . $paypallink .'15" target="_blank" ><button type="submit">15,00 € einzahlen</button></form>';
			echo '</li></ul>';
			
		}
		echo "<br>";
		echo "<br>";
		echo AusgabeletztenEinzahlungen($email, $conn);
		echo "<br>";
		echo AusgabeletztenStriche($email, $conn);
		?>
		<br><br>
		
		<!-- Formular mit Button zum Anpassen des Namens -->
		<form action="namenanpassen.php" method="get">
			<button type="submit">Namensanpassung</button>
		</form>
	<?php
	} else {
		echo "<p>Mitarbeiter mit der E-Mail-Adresse $email wurde nicht gefunden.</p>";
	}
	

}else{
	echo "<h2>Sie haben keine Zugang zu dieser Webseite</h2>";
}
?>

    </div>
</section>

<?php include "footer.php"; 

?>