Nachrichten an die Benutzer abschicken

Antwort erstellen

Bestätigungscode
Gib den Code genau so ein, wie du ihn siehst; Groß- und Kleinschreibung wird nicht unterschieden.
Smileys
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[url] ist eingeschaltet
Smileys sind eingeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Nachrichten an die Benutzer abschicken

Re: Nachrichten an die Benutzer abschicken

von pichel » So 11. Aug 2024, 23:06

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

Re: Nachrichten an die Benutzer abschicken

von pichel » Fr 2. Aug 2024, 00:10

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

von Frank S. » Mi 31. Jul 2024, 04:05

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

von pichel » Di 26. Mär 2024, 23:56

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

Nachrichten an die Benutzer abschicken

von daniel » So 24. Mär 2024, 16:08

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

Nach oben