Dateien nach "/" hochladen
This commit is contained in:
Binary file not shown.
@@ -0,0 +1,95 @@
|
||||
<?php
|
||||
|
||||
include "functions.php";
|
||||
include "header.php";
|
||||
include "headerline.php";
|
||||
include "nav.php";
|
||||
|
||||
|
||||
?>
|
||||
|
||||
|
||||
|
||||
<!-- Banner -->
|
||||
<section id="banner">
|
||||
<div class="content">
|
||||
|
||||
<?php
|
||||
|
||||
if(checkKaffeelisteAdmin($conn, $mailadress)){
|
||||
|
||||
echo "<h2>Kaffeeliste - Hinweise</h2>";
|
||||
|
||||
// Hinweis löschen
|
||||
if (isset($_GET['delete'])) {
|
||||
$id = (int)$_GET['delete'];
|
||||
$stmt = sqlsrv_query($conn, "DELETE FROM kl_hinweise WHERE id = ?", [$id]);
|
||||
}
|
||||
|
||||
// Hinweis speichern
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
$nachricht = $_POST['nachricht'];
|
||||
|
||||
|
||||
$gueltig_bis = $_POST['gueltig_bis']; // z.B. "2025-09-03T14:00"
|
||||
$dt = DateTime::createFromFormat('Y-m-d\TH:i', $gueltig_bis);
|
||||
|
||||
if ($dt) {
|
||||
$gueltig_bis_sql = $dt->format('Y-d-m H:i:s'); // z.B. "2025-03-09 14:00:00"
|
||||
} else {
|
||||
die("Ungültiges Datumsformat");
|
||||
}
|
||||
|
||||
if (!empty($nachricht) && !empty($gueltig_bis_sql)) {
|
||||
|
||||
$stmt = sqlsrv_query($conn,
|
||||
"INSERT INTO kl_hinweise (nachricht, gueltig_bis) VALUES (?, ?)",
|
||||
[$nachricht, $gueltig_bis_sql]
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// Hinweise abrufen
|
||||
$hinweise = [];
|
||||
$stmt = sqlsrv_query($conn, "SELECT id, nachricht, gueltig_bis FROM kl_hinweise ORDER BY gueltig_bis DESC");
|
||||
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
|
||||
$hinweise[] = $row;
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
<h2>Neuen Hinweis hinzufügen</h2>
|
||||
<form method="post">
|
||||
<label>Nachricht:</label><br>
|
||||
<textarea name="nachricht" required></textarea><br><br>
|
||||
<label>Gültig bis:</label><br>
|
||||
<input type="datetime-local" name="gueltig_bis" required><br><br>
|
||||
<button type="submit">Speichern</button>
|
||||
</form>
|
||||
|
||||
<h2>Alle Hinweise</h2>
|
||||
<?php foreach ($hinweise as $hinweis): ?>
|
||||
<div class="hinweis">
|
||||
<strong><?= htmlspecialchars($hinweis['nachricht']) ?></strong><br>
|
||||
<small>Gültig bis: <?= $hinweis['gueltig_bis']->format('d.m.Y H:i') ?></small><br>
|
||||
<a href="?delete=<?= $hinweis['id'] ?>" onclick="return confirm('Diesen Hinweis wirklich löschen?')">🗑️ Löschen</a>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<?php
|
||||
|
||||
|
||||
}else{
|
||||
echo "<h2>Sie haben keine Zugang zu dieser Webseite</h2>";
|
||||
}
|
||||
?>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php include "footer.php";
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,241 @@
|
||||
<?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";
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,177 @@
|
||||
<?php
|
||||
// Einstellungen
|
||||
// Verbindung zur Datenbank herstellen (ersetze die Platzhalter durch deine Daten)
|
||||
$serverName = "sql-nds-autoclient-prod.aoknds.aok";
|
||||
$connectionOptions = array(
|
||||
"Database" => "Automatisierungsclient",
|
||||
"Uid" => "ac_admin",
|
||||
"PWD" => "allacc3ssPW",
|
||||
"TrustServerCertificate"=>true
|
||||
);
|
||||
|
||||
$stricheAnzupassen = 490; // Anzahl der neuen Striche
|
||||
$betragProStrich = 0.20; // Betrag pro Strich in Euro
|
||||
|
||||
// Testmodus aktivieren
|
||||
$testmodus = false;
|
||||
|
||||
|
||||
|
||||
use PHPMailer\PHPMailer\PHPMailer;
|
||||
use PHPMailer\PHPMailer\SMTP;
|
||||
use PHPMailer\PHPMailer\Exception;
|
||||
|
||||
require 'PHPMailer/src/Exception.php';
|
||||
require 'PHPMailer/src/PHPMailer.php';
|
||||
require 'PHPMailer/src/SMTP.php';
|
||||
|
||||
// PHPMailer konfigurieren
|
||||
function sendeMail($empfaenger, $betreff, $inhalt, $testmodus)
|
||||
{
|
||||
$mail = new PHPMailer(true);
|
||||
|
||||
try {
|
||||
// Server-Einstellungen
|
||||
$mail->isSMTP();
|
||||
$mail->Host = 'smtpv.aoknds.aok'; // SMTP-Server
|
||||
$mail->Timeout = 180;
|
||||
$mail->SMTPAuth = false;
|
||||
$mail->Port = 25;
|
||||
|
||||
// Absender
|
||||
$mail->setFrom('kaffeelistesb3@nds.aok.de', 'Kaffeeliste');
|
||||
|
||||
// Empfänger
|
||||
if ($testmodus) {
|
||||
$mail->addAddress('kaffeelistesb3@nds.aok.de'); // Testadresse
|
||||
} else {
|
||||
$mail->addAddress($empfaenger); // Tatsächlicher Empfänger
|
||||
}
|
||||
|
||||
// Inhalt
|
||||
$mail->isHTML(true);
|
||||
$mail->Subject = $betreff;
|
||||
$mail->Body = utf8_decode($inhalt);
|
||||
|
||||
// Senden
|
||||
$mail->send();
|
||||
echo "E-Mail erfolgreich gesendet an: " . ($testmodus ? 'kaffeelistesb3@nds.aok.de' : $empfaenger) . "\n";
|
||||
} catch (Exception $e) {
|
||||
echo "E-Mail konnte nicht gesendet werden. Fehler: {$mail->ErrorInfo}\n";
|
||||
}
|
||||
}
|
||||
|
||||
// Verbindung herstellen
|
||||
$conn = sqlsrv_connect($serverName, $connectionOptions);
|
||||
if ($conn === false) {
|
||||
die(print_r(sqlsrv_errors(), true));
|
||||
}
|
||||
|
||||
// Aktuelles Jahr ermitteln
|
||||
$currentYear = date("Y");
|
||||
|
||||
// SQL-Abfrage: Gesamtanzahl der Striche pro Mitarbeiter im aktuellen Jahr mit Namen und E-Mail
|
||||
$sql = "
|
||||
SELECT
|
||||
m.MitarbeiterID,
|
||||
m.Name,
|
||||
m.Email,
|
||||
SUM(v.AnzahlStriche) AS GesamtStriche
|
||||
FROM kl_Kaffeeverbrauch v
|
||||
JOIN kl_Mitarbeiter m ON v.MitarbeiterID = m.MitarbeiterID
|
||||
WHERE YEAR(v.Datum) = ? AND m.aktiv = 1
|
||||
GROUP BY m.MitarbeiterID, m.Name, m.Email
|
||||
";
|
||||
$params = [$currentYear];
|
||||
$stmt = sqlsrv_query($conn, $sql, $params);
|
||||
|
||||
if ($stmt === false) {
|
||||
die(print_r(sqlsrv_errors(), true));
|
||||
}
|
||||
|
||||
// Ergebnisse verarbeiten
|
||||
$mitarbeiterDaten = [];
|
||||
$gesamtStriche = 0;
|
||||
|
||||
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
|
||||
$mitarbeiterDaten[] = $row;
|
||||
$gesamtStriche += $row['GesamtStriche'];
|
||||
}
|
||||
|
||||
echo $gesamtStriche;
|
||||
|
||||
// Neue Striche proportional verteilen
|
||||
$verteilung = [];
|
||||
|
||||
foreach ($mitarbeiterDaten as $mitarbeiter) {
|
||||
$mitarbeiterID = $mitarbeiter['MitarbeiterID'];
|
||||
$anteil = $mitarbeiter['GesamtStriche'] / $gesamtStriche;
|
||||
$neueStriche = round($anteil * $stricheAnzupassen);
|
||||
$betrag = $neueStriche * $betragProStrich;
|
||||
|
||||
$verteilung[] = [
|
||||
'MitarbeiterID' => $mitarbeiterID,
|
||||
'Name' => $mitarbeiter['Name'],
|
||||
'Email' => $mitarbeiter['Email'],
|
||||
'JahrStriche' => $mitarbeiter['GesamtStriche'],
|
||||
'NeueStriche' => $neueStriche,
|
||||
'Betrag' => $betrag
|
||||
];
|
||||
|
||||
// SQL-Befehl vorbereiten
|
||||
$insertSql = "
|
||||
INSERT INTO kl_Einzahlungen (MitarbeiterID, Betrag, Datum)
|
||||
VALUES (?, ?, GETDATE())
|
||||
";
|
||||
$insertParams = [$mitarbeiterID, $betrag];
|
||||
|
||||
if ($testmodus) {
|
||||
// SQL-Befehl und Parameter anzeigen
|
||||
echo "SQL-Befehl: $insertSql\n";
|
||||
echo "Parameter: " . json_encode($insertParams) . "\n";
|
||||
// E-Mail vorbereiten
|
||||
|
||||
} else {
|
||||
// SQL-Befehl ausführen
|
||||
$insertStmt = sqlsrv_query($conn, $insertSql, $insertParams);
|
||||
if ($insertStmt === false) {
|
||||
die(print_r(sqlsrv_errors(), true));
|
||||
}
|
||||
// E-Mail vorbereiten
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
$betreff = "Kaffeeliste - Weihnachten";
|
||||
$inhalt = "
|
||||
<p>Hallo {$mitarbeiter['Name']},</p>
|
||||
<p>vielen Dank für deine Nutzung der Kaffeeliste in diesem Jahr!</p>
|
||||
<p>Du hast dieses Jahr {$mitarbeiter['GesamtStriche']} Kaffee bezogen.</p>
|
||||
<p>Deswegen wurden dir $betrag Euro auf deinem Konto gutgeschrieben.</p>
|
||||
<br><br>
|
||||
<p>Wir wünschen dir eine frohe Weihnachtszeit und einen guten Rutsch ins neue Jahr.</p>
|
||||
<p>Deine ARGE Kaffeeliste</p>
|
||||
";
|
||||
$empfaenger = $mitarbeiter['Email'];
|
||||
// E-Mail senden
|
||||
sendeMail($empfaenger, $betreff, $inhalt, $testmodus);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Sortiere die Verteilung nach JahrStriche (absteigend)
|
||||
usort($verteilung, function ($a, $b) {
|
||||
return $b['JahrStriche'] <=> $a['JahrStriche'];
|
||||
});
|
||||
|
||||
// Ergebnisse ausgeben
|
||||
header('Content-Type: application/json');
|
||||
#echo json_encode($verteilung, JSON_PRETTY_PRINT);
|
||||
|
||||
// Verbindung schließen
|
||||
sqlsrv_close($conn);
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user