Nach Klick auf "Arbeitsbon" in andere Ansicht

In diesem Forum können Fragen zum OrderSprinter gestellt werden.
udgesbou
Beiträge: 102
Registriert: Fr 15. Jul 2016, 21:57

Re: Nach Klick auf "Arbeitsbon" in andere Ansicht

Beitrag von udgesbou »

pichel hat geschrieben: Do 11. Jul 2019, 21:48Von 1.5.25 auf 1.5.32 habe ich so absolut gar nichts an der Tischsortierung gemacht.
Das habe ich mir gedacht, deswegen finde ich es auch komisch.
pichel hat geschrieben: Do 11. Jul 2019, 21:48Bitte prüfe, ob du die modifizierte SQL-Abfrage wirklich an der richtigen Stelle eingebaut hast.
Die von mir modifizierte Stelle findet sich ja in der Datei "roomtables.php" hier in Zeile 266.

Der Teil aus der o. g. Datei sieht so aus:

Code: Alles auswählen

$sql = "SELECT R.id as id,R.tableno as name,R.sorting as sorting,";
	$sql .= " IFNULL(SUM(IF(Q.toremove='0' AND Q.paidtime is null AND Q.isclosed is null,Q.price,0.00)),0.00) as pricesum FROM %resttables% R";
	$sql .= " LEFT OUTER JOIN %queue% Q ON Q.tablenr=R.id WHERE R.removed is null AND active='1' AND ";
	$sql .= " R.roomid=? $areaWhere GROUP BY R.id,name ";
	$sql .= " ORDER BY R.sorting";
Ich ändere die letzte Zeile wie folgt um, zumindest hat das bis jetzt immer funktioniert:

Code: Alles auswählen

$sql = "SELECT R.id as id,R.tableno as name,R.sorting as sorting,";
	$sql .= " IFNULL(SUM(IF(Q.toremove='0' AND Q.paidtime is null AND Q.isclosed is null,Q.price,0.00)),0.00) as pricesum FROM %resttables% R";
	$sql .= " LEFT OUTER JOIN %queue% Q ON Q.tablenr=R.id WHERE R.removed is null AND active='1' AND ";
	$sql .= " R.roomid=? $areaWhere GROUP BY R.id,name ";
	$sql .= " ORDER BY pricesum DESC";
Sobald ich die Datei entsprechend ändere, stehen zwar die Tische auf denen etwas gebucht wurde oben, aber der Rest wird im regelmäßigen Abfrageintervall durcheinandergeworfen.

Ich habe die "ordersprinter_room" und "ordersprinter_resttables" aus der Datenbank im Anhang noch einmal mit angefügt, vielleicht hat sich ja doch ein Fehler in der Datenbank eingeschlichen und ich erkenne ihn nicht :geek:


Danke und Grüße
Dateianhänge
Room_Resttables.rar
(2.54 KiB) 174-mal heruntergeladen
MartinH

Re: Nach Klick auf "Arbeitsbon" in andere Ansicht

Beitrag von MartinH »

Hi udgesbou,

du sortierst ja nur nach Preis. Bedeutet, dass die restlichen Tische (die ja alle den gleichen Preis haben, nämlich nix) in beliebiger Reihenfolge kommen dürfen.

Probier mal aus nach beiden Spalten zu sortieren:

ORDER BY pricesum DESC, R.sorting ASC

Dann wird zuerst nach Preis sortiert und bei gleichen Preisen nach "sorting".

Gruß

Martin
udgesbou
Beiträge: 102
Registriert: Fr 15. Jul 2016, 21:57

Re: Nach Klick auf "Arbeitsbon" in andere Ansicht

Beitrag von udgesbou »

MartinH hat geschrieben: Sa 13. Jul 2019, 16:59Probier mal aus nach beiden Spalten zu sortieren:

ORDER BY pricesum DESC, R.sorting ASC

Dann wird zuerst nach Preis sortiert und bei gleichen Preisen nach "sorting".
Servus Martin, das ist die Lösung, vielen Dank dafür. Jetzt arbeitet wieder alles so wie es soll :mrgreen: :mrgreen:


Grüße
pichel
Administrator
Beiträge: 1380
Registriert: So 13. Sep 2015, 19:48
Wohnort: Hamburg
Kontaktdaten:

Re: Nach Klick auf "Arbeitsbon" in andere Ansicht

Beitrag von pichel »

@Martin: vielen Dank, dass du hier im Forum mithilfst, die Fragen zu beantworten, das nimmt mir echt Arbeit ab :)

@udgesbou: Mir fehlte bisher die Zeit, aber jetzt habe ich mir den Thread nochmal angesehen. Das ursprüngliche Problem war doch, dass in deiner Tabelle die Einträge für die Sortierung einiger Tische aus irgendeinem Grund verloren gegangen sind und ich dir im Beitrag vom 27. Aug 2018, 11:14 beschrieben hatte, wie du die Sortierung wieder einrichten kannst. Wenn die Sortierung nach Update auf 1.5.32 wieder komplett durcheinander ist, deutet das für mich darauf hin, dass die sorting-Spalte von resttables immer noch NULL-Werte enthält. Ich würde dir empfehlen, dass wirklich geradezuziehen, damit du später keine Probleme bekommst.

Nun hast du ein weiteres Sortierkriterium eingebaut: die Summe der für einen Tisch bestellten Produkte. Ich habe mir notiert, dass ich dem Anwender in einer der zukünftigen Versionen als benutzerdefinierte Einstellung die Wahl lasse, ob er nach statischer Tischsortierung, oder zuerst noch nach Preis sortieren soll. Aber bis das ich das irgendwann einmal eingebaut habe, musst du eigene SQL-Tweaks immer wieder neu einbauen und ich kann dir nicht versprechen, dass die stets immer noch mit jeder Version funktionieren. Ich ändere die Sources sehr häufig, habe dann aber natürlich nicht im Kopf, welche Änderungen Anwender gemacht haben könnten. Nur so als Randbemerkung...

Gruß,

Stefan
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
Antworten