From 07190e42214ce94e8fc1a45f4f666a49d0b36983 Mon Sep 17 00:00:00 2001 From: Joey Schulze Date: Thu, 7 Apr 2016 20:17:43 +0200 Subject: [PATCH] Improve printed ordersatz --- ordersatz.tex | 13 +++++++++---- utils.php | 20 ++++++++++++++------ 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/ordersatz.tex b/ordersatz.tex index 2211b52..2db713c 100644 --- a/ordersatz.tex +++ b/ordersatz.tex @@ -3,6 +3,7 @@ \renewcommand*\familydefault{\sfdefault} \usepackage[T1]{fontenc} \usepackage[latin1]{inputenc} +\usepackage{ifthen} \usepackage{german} \usepackage{supertabular} @@ -14,7 +15,10 @@ % % Falls Drucker = Linstep Dell 17n % -% \addtolength{\textheight}{-0.5cm} +% \addtolength{\textheight}{-0.4cm} + +\addtolength{\oddsidemargin}{-1.0cm} +\addtolength{\textwidth}{1.5cm} \input ordersatz_vars @@ -41,8 +45,9 @@ \renewcommand{\headtoname}[0]{Kundenordersatz (\reise)} -\newcommand{\order}[5]{% -#2 & #1 & #3 & #5 & #4\\ \hline +\newcommand{\order}[6][]{% +#3 & #2 & #4 & #6 & #5 +\ifthenelse{\equal{#1}{l}}{\\\hline\hline}{\\\hline} } @@ -87,7 +92,7 @@ Bitte die Waren noch nicht durch die Kasse ziehen. \hline } -\begin{supertabular}{|l|r|p{11.8cm}|c|c|} +\begin{supertabular}{|l|r|p{12.4cm}|c|c|} \input ordersatz_items \end{supertabular} diff --git a/utils.php b/utils.php index 1784acc..5e58c4b 100644 --- a/utils.php +++ b/utils.php @@ -132,6 +132,8 @@ function ordersatz_write($id, $dir, $send) { global $db; + $weekdays = array('Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'); + $fname = sprintf("%smasks/%s/%s", $_SESSION['sys']['basedir'], MODULE, @@ -154,7 +156,8 @@ function ordersatz_write($id, $dir, $send) fwrite($f, sprintf('\newcommand{\uhrzeit}{%s}'."\n", latex_encode($satz[0]['uhrzeit']))); $d = explode('-', $satz[0]['datum']); - fwrite($f, sprintf('\newcommand{\datum}{%d.%d.%d}'."\n", $d[2], $d[1], $d[0])); + $time = mktime(10,0,0,$d[1], $d[2], $d[0]); + fwrite($f, sprintf('\newcommand{\datum}{%s, %d.%d.%d}'."\n", $weekdays[date('w', $time)], $d[2], $d[1], $d[0])); fclose($f); $sql = sprintf("SELECT artnr,gang,metro_vpe.short AS vpname,menge,bezeichnung,hinweis,hersteller,anzahl " . @@ -163,7 +166,7 @@ function ordersatz_write($id, $dir, $send) "JOIN metro_abteilung ON abteilung = metro_abteilung.id " . "JOIN metro_vpe ON vpe = metro_vpe.id " . "WHERE ordersatz = %d AND anzahl IS NOT NULL " . - "ORDER BY sort,gang,metro_abteilung.name,bezeichnung", + "ORDER BY sort,gang,menge,bezeichnung", $id); $result = query_db($sql); @@ -173,17 +176,22 @@ function ordersatz_write($id, $dir, $send) $f = fopen(FNAME_ITEMS, 'w'); - foreach ($result as $row) { + $i = -1; + while (++$i < count($result)) { + $row = $result[$i]; + $bez = latex_encode($row['bezeichnung']); + if (strlen($row['menge'])) + $bez = latex_encode($row['menge']) . ' ' . $bez; if (strlen($row['hersteller'])) $bez .= ' (' . latex_encode($row['hersteller']) . ')'; if (strlen($row['hinweis'])) $bez .= sprintf("\\newline\\textbf{%s}", latex_encode($row['hinweis'])); - fwrite($f, sprintf('\order{%d}{%s}{%s %s}{%s}{%s}'."\n", + fwrite($f, sprintf('\order%s{%d}{%s}{%s}{%s}{%s}'."\n", + ($i+1 < count($result) && $result[$i+1]['gang'] != $row['gang']) ? '[l]' : '', $row['anzahl'], - $row['artnr'] ? (int)$row['artnr'] : '', - latex_encode($row['menge']), + ($row['artnr'] && $row['artnr'] != 4711) ? (int)$row['artnr'] : '', $bez, latex_encode($row['vpname']), latex_encode($row['gang']))); -- 2.20.1