Improve printed ordersatz
authorJoey Schulze <joey@infodrom.org>
Thu, 7 Apr 2016 18:17:43 +0000 (20:17 +0200)
committerJoey Schulze <joey@infodrom.org>
Thu, 7 Apr 2016 18:17:43 +0000 (20:17 +0200)
ordersatz.tex
utils.php

index 2211b52..2db713c 100644 (file)
@@ -3,6 +3,7 @@
 \renewcommand*\familydefault{\sfdefault}
 \usepackage[T1]{fontenc}
 \usepackage[latin1]{inputenc}
 \renewcommand*\familydefault{\sfdefault}
 \usepackage[T1]{fontenc}
 \usepackage[latin1]{inputenc}
+\usepackage{ifthen}
 \usepackage{german}
 \usepackage{supertabular}
 
 \usepackage{german}
 \usepackage{supertabular}
 
 %
 % Falls Drucker = Linstep Dell 17n
 %
 %
 % Falls Drucker = Linstep Dell 17n
 %
-% \addtolength{\textheight}{-0.5cm}
+% \addtolength{\textheight}{-0.4cm}
+
+\addtolength{\oddsidemargin}{-1.0cm}
+\addtolength{\textwidth}{1.5cm}
 
 \input ordersatz_vars
 
 
 \input ordersatz_vars
 
@@ -41,8 +45,9 @@
 
 \renewcommand{\headtoname}[0]{Kundenordersatz (\reise)}
 
 
 \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
 }
 
 \hline
 }
 
-\begin{supertabular}{|l|r|p{11.8cm}|c|c|}
+\begin{supertabular}{|l|r|p{12.4cm}|c|c|}
 \input ordersatz_items
 
 \end{supertabular}
 \input ordersatz_items
 
 \end{supertabular}
index 1784acc..5e58c4b 100644 (file)
--- a/utils.php
+++ b/utils.php
@@ -132,6 +132,8 @@ function ordersatz_write($id, $dir, $send)
 {
   global $db;
 
 {
   global $db;
 
+  $weekdays = array('Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag');
+
   $fname = sprintf("%smasks/%s/%s",
                   $_SESSION['sys']['basedir'],
                   MODULE,
   $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{\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 " .
   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 " .
                 "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);
                 $id);
 
   $result = query_db($sql);
@@ -173,17 +176,22 @@ function ordersatz_write($id, $dir, $send)
 
   $f = fopen(FNAME_ITEMS, 'w');
 
 
   $f = fopen(FNAME_ITEMS, 'w');
 
-  foreach ($result as $row) {
+  $i = -1;
+  while (++$i < count($result)) {
+    $row = $result[$i];
+
     $bez = latex_encode($row['bezeichnung']);
     $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']));
 
     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['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'])));
                       $bez,
                       latex_encode($row['vpname']),
                       latex_encode($row['gang'])));