Seite 1 von 1
Nachrichten an die Benutzer abschicken
Verfasst: So 24. Mär 2024, 16:08
von daniel
Hallo Stefan,
laut "manual" kann man über "OrderSprinter Spider" "Nachrichten an die Benutzer abschicken".
Ich fände es hilfreich, wenn dies auch direkt in der Kernanwendung möglich wäre.
z.B. Szenario: Fest mit ca. 1.000 Gästen und 8 BedienerInnen
Zu Stoßzeiten möchte ich eine Info geben z.B. "Pommes Wartezeit ca. 30 Minuten - Wurst ca. 10 Minuten"
Hier wäre eine Kellner-Nachricht hilfreich
Auch bei kleineren Szenarien wäre das sicher manchmal hilfreich
Eine Login-Nachricht wäre auch ganz nett:
z.B. zusätzlich zur persönlichen Begrüßung der BedienerInnen:
"Vielen Dank im Voraus für Deinen Einsatz bei der heutigen Party"
Viele Grüße Daniel
Re: Nachrichten an die Benutzer abschicken
Verfasst: Di 26. Mär 2024, 23:56
von pichel
Hallo Daniel,
das ist eigentlich gar nicht so schwer zu implementieren, wurde aber bisher noch nie gewünscht und mir erschloss sich auch der Sinn bisher nicht. Aber für die Situationen, die du beschreibst, würde so eine Nachrichtenfunktion innerhalb des Kernsystems schon nützloch erweisen.
Ich habe es in mein Ticketsystem hinterlegt, und vielleicht finde ich die Zeit, es irgendwann einzubauen.
Viele Grüße,
Stefan
Re: Nachrichten an die Benutzer abschicken
Verfasst: Mi 31. Jul 2024, 04:05
von Frank S.
Hallo Stefan,
ich selbst verwende die Funktion zwar nicht, als ich aber gerade dabei war Alex in einem anderem Post die Funktion zu erklären ist mir ein Bug aufgefallen:
Setzen der Nachricht funktioniert, Löschen der Nachricht funktioniert, Überschreiben einer Nachricht funktioniert nicht:
Original Code:
Bei UPDATE %work&% anstatt %work%
Irgendwie stimmt was mit intval und dem fetched result nicht. "$res['msgnumber'] == 0" ist so immer 0 auch wenn bereits eine Nachricht gesetzt wurde.
Code: Alles auswählen
private function setWaiterMessage($waiterMessage) {
try {
$msg = trim($waiterMessage);
$pdo = DbUtils::openDbAndReturnPdoStatic();
if ($msg == "") {
CommonUtils::execSql($pdo, 'DELETE FROM %work% WHERE item=?', array('waitermessage'));
} else {
$sql = "SELECT COUNT(item) as msgnumber from %work% where item=?";
$res = intval(CommonUtils::fetchSqlAll($pdo, $sql, array('waitermessage')));
if ($res['msgnumber'] == 0) {
CommonUtils::execSql($pdo, 'INSERT INTO %work% (item,value) VALUES(?,?)', array('waitermessage',$msg));
} else {
CommonUtils::execSql($pdo, "UPDATE %work&% SET value=? WHERE item=?", array($msg,'waitermessage'));
}
}
echo json_encode(array("status" => "OK","msg" => $waiterMessage));
} catch (Exception $e) {
echo json_encode(array("status" => "ERROR","msg" => "Error: " . $e->getMessage()));
return;
}
}
Verbesserter Code (keine Garantie, bei mir geht es so aber):
Code: Alles auswählen
private function setWaiterMessage($waiterMessage) {
try {
$msg = trim($waiterMessage);
$pdo = DbUtils::openDbAndReturnPdoStatic();
if ($msg == "") {
CommonUtils::execSql($pdo, 'DELETE FROM %work% WHERE item=?', array('waitermessage'));
} else {
$sql = "SELECT COUNT(item) as msgnumber from %work% where item=?";
$res = CommonUtils::fetchSqlAll($pdo, $sql, array('waitermessage'));
$msgnumber = intval($res[0]['msgnumber']);
if ($msgnumber == 0) {
CommonUtils::execSql($pdo, 'INSERT INTO %work% (item,value) VALUES(?,?)', array('waitermessage',$msg));
} else {
CommonUtils::execSql($pdo, "UPDATE %work% SET value=? WHERE item=?", array($msg,'waitermessage'));
}
}
echo json_encode(array("status" => "OK","msg" => $waiterMessage));
} catch (Exception $e) {
echo json_encode(array("status" => "ERROR","msg" => "Error: " . $e->getMessage()));
return;
}
}
Gruß Frank
Re: Nachrichten an die Benutzer abschicken
Verfasst: Fr 2. Aug 2024, 00:10
von pichel
Hallo Frank,
vielen Dank für die Fehlerkorrektur. Keine Ahnung, wie mir das passiert ist. Bei solchen Dingen, die nicht umsatzrelevante Zahlen erzeugen/reporten, teste ich nicht so ausgiebig und schlampe ich zugegebenermaßen mit den automatischen Tests ziemlich. Muss ich für die nächste Version reparieren...
Gruß,
Stefan
Re: Nachrichten an die Benutzer abschicken
Verfasst: So 11. Aug 2024, 23:06
von pichel
Hallo Frank,
vielen Dank für deinen Hinweis zur Funktion "Nachricht an alle Benutzer". Es ist in der neuen 2.8.8 korrigiert, die ich vorhin veröffentlicht habe.
Schöne Grüße,
Stefan