Revision 1 | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed
<?php// $Id: lieferschein.php 4134 2011-12-09 16:33:14Z niewerth $require_once "connect2.php";require_once "includes/bestellungen/system/mysql_query_logged.php";require_once "Weban_Smarty.class.php";require_once "includes/best_manu/best_manu_search.php";require_once "includes/lieferschein/body_$site.inc.php";require_once "fpdf/fpdf.php";require_once "includes/bestellungen/system/artikelDatabase.php";if ( !$b_id ){if ( $_GET["b_id"] ){$b_id = ( int )$_GET["b_id"];} elseif ( $_POST["b_id"] ){$b_id = ( int )$_POST["b_id"];}else{die( "Keine Bestellung angegeben!" );}}$sql_b = "SELECT * FROM Bestellung WHERE ID=$b_id";$res_b = mysql_query_logged( $sql_b );$row_b = mysql_fetch_assoc( $res_b );$shops_ID = $row_b['shops_ID'];if ( file_exists( "includes/lieferschein/body_" . $site . "_" . $shops_ID .".inc.php" ) ){require_once ( "includes/lieferschein/body_" . $site . "_" . $shops_ID .".inc.php" );}else{require_once "includes/lieferschein/body_" . $site . ".inc.php";}/*** Funktionen der Lagerwirtschaft.*/require_once '../includes/system/functions.lagerwirtschaft.php';class PDF extends FPDF{function generate_LN( $bestell_id, $art, $Nummernkreis ){global $web_rechte;if ( $Nummernkreis ){global $shops_ID;if ( isset( $web_rechte["Warenwirtschaft"]["rechnungsbuch"]["rechnungsnrtrennung"] ) ){$sql_re = "SELECTre_shortFROMshopsWHEREID=" . $shops_ID . "";$res_re = mysql_query( $sql_re );$row_re = mysql_fetch_assoc( $res_re );$re_short = $row_re["re_short"];}$sql = "SELECTl_nr AS lnFROMnummernkreis_lieferscheinWHEREjahr=" . date( "Y" );if ( isset( $web_rechte["Warenwirtschaft"]["rechnungsbuch"]["rechnungsnrtrennung"] ) ){$sql .= "ANDre_short='$re_short'";}$res = mysql_query_logged( $sql );if ( $res ){if ( mysql_num_rows( $res ) ){$row = mysql_fetch_assoc( $res );$ln = $row["ln"];$ln++;}else{$ln = 1;$sql = "INSERT INTOnummernkreis_lieferschein(l_nr,";if ( isset( $web_rechte["Warenwirtschaft"]["rechnungsbuch"]["rechnungsnrtrennung"] ) ){$sql .= "re_short,";}$sql .= "jahr)VALUES($ln,";if ( isset( $web_rechte["Warenwirtschaft"]["rechnungsbuch"]["rechnungsnrtrennung"] ) ){$sql .= "'" . $re_short . "',";}$sql .= "" . date( "Y" ) . ")";mysql_query_logged( $sql );}}else{$ln = 1;}$sql = "UPDATEnummernkreis_lieferscheinSETl_nr=" . $ln . "WHEREjahr=" . date( "Y" );if ( isset( $web_rechte["Warenwirtschaft"]["rechnungsbuch"]["rechnungsnrtrennung"] ) ){$sql .= "ANDre_short='$re_short'";}mysql_query_logged( $sql );}else{$date = date( "Y-m-d" );$f_name = $art . "_" . $bestell_id . "_" . $date;$sql = "SELECTMAX(document) AS dokumentFROMdokumenteWHEREdocument LIKE '$f_name%'";$res = mysql_query( $sql );if ( $res ){if ( mysql_num_rows( $res ) ){$row = mysql_fetch_assoc( $res );$dokument = substr( $row["dokument"], 0, strlen( $row["dokument"] ) -4 );$dokument = explode( "_", $dokument );$ln = $dokument[count( $dokument ) - 1];$ln++;}else{$ln = 1;}}else{$ln = 1;die( mysql_error() );}}return $ln;}//Page headerfunction Header(){global $site, $r_nr, $shops_ID;if ( file_exists( "includes/lieferschein/header_" . $site . "_" .$shops_ID . ".inc.php" ) ){require_once ( "includes/lieferschein/header_" . $site . "_" .$shops_ID . ".inc.php" );}else{require_once ( "includes/lieferschein/header_" . $site .".inc.php" );}}//Page footerfunction Footer(){global $site, $shops_ID;if ( file_exists( "includes/lieferschein/footer_" . $site . "_" .$shops_ID . ".inc.php" ) ){require_once ( "includes/lieferschein/footer_" . $site . "_" .$shops_ID . ".inc.php" );}else{require_once ( "includes/lieferschein/footer_" . $site .".inc.php" );}}function NbLines( $w, $txt ){//Computes the number of lines a MultiCell of width w will take$cw = &$this->CurrentFont['cw'];if ( $w == 0 )$w = $this->w - $this->rMargin - $this->x;$wmax = ( $w - 2 * $this->cMargin ) * 1000 / $this->FontSize;$s = str_replace( "\r", '', $txt );$nb = strlen( $s );if ( $nb > 0 and $s[$nb - 1] == "\n" )$nb--;$sep = -1;$i = 0;$j = 0;$l = 0;$nl = 1;while ( $i < $nb ){$c = $s[$i];if ( $c == "\n" ){$i++;$sep = -1;$j = $i;$l = 0;$nl++;continue;}if ( $c == ' ' )$sep = $i;$l += $cw[$c];if ( $l > $wmax ){if ( $sep == -1 ){if ( $i == $j )$i++;}else$i = $sep + 1;$sep = -1;$j = $i;$l = 0;$nl++;}else$i++;}return $nl;}}$pdf = new PDF();if ( !isset( $liefer_id ) ){$liefer_id = "0";}if ( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["lieferschein"] ) ){$Status = false;$Nummernkreis = false;$Speichern = false;$Lieferadressenauswahl = false;//$liefer_id = -1;$daten = explode( ";", $web_rechte["Warenwirtschaft"]["bestellung"]["lieferschein"] );$id = array_search( "Lieferadressenauswahl", $daten );if ( $id !== false ){$Lieferadressenauswahl = true;if ( isset( $_GET["liefer_id"] ) && !empty( $_GET["liefer_id"] ) ){$liefer_id = $_GET["liefer_id"];}}if ( $liefer_id || $id === false ){$id = array_search( "Status", $daten );if ( $id !== false ){$Status = true;}$id = array_search( "Nummernkreis", $daten );if ( $id !== false ){$Nummernkreis = true;if ( !isset( $anz_stellen ) ){$anz_stellen = 5;}$r_nr = sprintf( "%0" . $anz_stellen . "d", $pdf->generate_LN( $b_id, "L", $Nummernkreis ) );if ( isset( $web_rechte["Warenwirtschaft"]["rechnungsbuch"]["rechnungsnrtrennung"] ) ){$sql = "SELECTshortFROMshopsWHEREid=$shops_ID";$res = mysql_query( $sql );$row = mysql_fetch_assoc( $res );$r_nr = $row["short"] . $r_nr;}$r_nr = date( "y" ) . $r_nr;$fName = "L" . $r_nr . ".pdf";}else{$date = date( "Y-m-d" );$ln = $pdf->generate_LN( $b_id, "L", false );if ( !isset( $anz_stellen ) ){$anz_stellen = 5;}$r_nr = sprintf( "%0" . $anz_stellen . "d", $ln );$fName = "L_" . $b_id . "_" . $date . "_" . $r_nr . ".pdf";}$id = array_search( "Speichern", $daten );if ( $id !== false ){$Speichern = true;}}}//Instanciation of inherited class$GLOBALS["ui"] = new Weban_Smarty();$GLOBALS["ui"]->compile_dir = $_SERVER["DOCUMENT_ROOT"] . "/templates_c/";$GLOBALS["ui"]->compile_id = "Warenwirtschaft|lieferscheine";$GLOBALS["ui"]->use_sub_dirs = true;// ME: Soll der Kunde das Datum auf der Vorschaltseite ändern können?if ( isset($web_rechte["Warenwirtschaft"]["bestellung"]["abw_datum_lieferschein"]) ) {$GLOBALS["ui"]->assign( "datum_aendern", true );}if ( $row_b["liefer_Name"] && $row_b["liefer_Strasse"] && $row_b["liefer_PLZ"] &&$row_b["liefer_Ort"] && $row_b["liefer_Land"] ){$GLOBALS["ui"]->assign( "liefer_adresse", true );}if ( $Lieferadressenauswahl && $liefer_id == "0" ){$Suchfelder = array( "Name1", "Vorname", "Name2", "Strasse","Hausnummer", "PLZ_Ort", "E_Mail" );$i = 0;foreach ( $Suchfelder as $Feld ){if ( isset( $user_rechte["logins"]["admin"][$Feld] ) ){if ( ( $web_rechte["logins"]["admin"][$Feld] ) ){$suchfelder[$i]["name"] = $web_rechte["logins"]["admin"][$Feld];}else{$suchfelder[$i]["name"] = ( $Feld == "PLZ_Ort" ) ?str_replace( "_", " / ", $Feld ) : $Feld;}$suchfelder[$i]["f_name"] = $Feld;$i++;}}suchen();$GLOBALS["ui"]->assign( "b_id", $b_id );$GLOBALS["ui"]->display( "lieferschein_adresse.tpl" );} elseif ( !$Lieferadressenauswahl || !empty( $liefer_id ) || $liefer_id != "0" ){$pdf->setSubject( "Lieferschein" );$pdf->setAuthor( $haendler_name );$pdf->setCreator( "fpdf PHP Library" );$pdf->AliasNbPages();$pdf->AddPage();$pdf->setY( 45 );$pdf->setFont( 'Arial', '', 8 );$pdf->cell( 80, 4, $umschlag, "B", 1, "L" );$pdf->setFont( 'Arial', '', 10 );$sql_b = "SELECT * FROM Bestellung WHERE ID=$b_id";$res_b = mysql_query_logged( $sql_b );$row_b = mysql_fetch_assoc( $res_b );$b_name = $row_b["letzte_Aenderung_von"];$b_name = substr( $b_name, 0, strpos( $b_name, "@" ) );if ( $liefer_id == "-1" || is_null( $liefer_id ) ){$sql_l = "";$name = $row_b["liefer_Vorname"] . " " . $row_b["liefer_Name"];$anrede = $row_b["liefer_Anrede"];// ME: Anrede in der richtigen Spracheif ( $row_b['Language'] == "NL" ){switch ( $row_b['Anrede'] ){case "Herr":$anrede = "Heer";break;case "Frau":$anrede = "Mevrouw";break;default:$anrede = "Heer";break;}}$plz = $row_b["liefer_PLZ"];$ort = $row_b["liefer_Ort"];$land = $row_b["liefer_Land"];$str = $row_b["liefer_Strasse"] . " " . $row_b["liefer_Str_Nr"];$firma = $row_b["liefer_Firma"];} elseif ( $liefer_id == "-2" ){$sql_l = "SELECT * FROM Logins WHERE ID=" . $row_b["Login"];}else{$sql_l = "SELECT * FROM Logins WHERE ID=" . $liefer_id;}if ( $sql_l ){$res_l = mysql_query_logged( $sql_l );$row_l = mysql_fetch_assoc( $res_l );$name = ( $row_l["Vorname"] ) ? $row_l["Vorname"] . " " . $row_l['Name1'] :$row_l["Name1"];$anrede = $row_l["Anrede"];// ME: Anrede in der richtigen Sprache$anrede = $row_l["Anrede"];if ( $row_l['Land'] == "Nederland" ){switch ( $row_l['Anrede'] ){case "Herr":$anrede = "Heer";break;case "Frau":$anrede = "Mevrouw";break;default:$anrede = "Heer";break;}}$plz = $row_l["PLZ"];$ort = $row_l["ORT"];$str = $row_l["Strasse"];$str .= ( isset( $row_l["Hausnummer"] ) ) ? " " . $row_l["Hausnummer"] :"";$firma = ( isset( $row_l["Name2"] ) ) ? $row_l["Name2"] : "";}$pdf->ln( 5 );$pdf->setX( 20 );if ( !$firma ){$pdf->cell( 80, 4, $anrede, 0, 1, "L" );$pdf->setX( 20 );$pdf->cell( 80, 4, $name, 0, 1, "L" );}else{$pdf->setX( 20 );$pdf->cell( 80, 4, $firma, 0, 1, "L" );$pdf->setX( 20 );$pdf->cell( 80, 4, $anrede . " " . $name, 0, 1, "L" );}$pdf->setX( 20 );$pdf->cell( 80, 4, $str, 0, 1, "L" );$pdf->setX( 20 );$pdf->cell( 80, 4, "$plz $ort", 0, 1, "L" );if ( $Infozeile != 'on' ){$pdf->setY( 80 );$pdf->cell( 150, 4, "Kunden Nr.:", 0, 0, "R" );$pdf->cell( 0, 4, $row_l["ID"], 0, 1, "R" );$pdf->cell( 150, 4, "Bearbeiter:", 0, 0, "R" );$pdf->cell( 0, 4, $b_name, 0, 1, "R" );$pdf->cell( 150, 4, "USt-IdNr.:", 0, 0, "R" );$pdf->cell( 0, 4, $haendler_ust_id, 0, 1, "R" );$pdf->cell( 150, 4, "Datum:", 0, 0, "R" );// ME: ggf das geänderte Datum einsetzenif ( isset($web_rechte["Warenwirtschaft"]["bestellung"]["abw_datum_lieferschein"]) ) {if($_POST['datum']) {$pdf->cell( 0, 4, $_POST['datum'] , 0, 0, "R" );}else{$pdf->cell( 0, 4, date( "d.m.Y" ), 0, 0, "R" );}}else{$pdf->cell( 0, 4, date( "d.m.Y" ), 0, 0, "R" );}}$pdf->ln( 10 );$pdf->SetFont( 'Arial', 'B', 14 );$pdf->cell( 0, 4, $REName, 0, 1, "C" );$pdf->ln( 5 );$pdf->SetFont( 'Arial', 'B', 9 );$sql = "SELECT * FROM artikel_to_Bestellung WHERE Bestellung=$b_id AND status!='storniert'";if ( $Status ){$sql .= " AND lieferscheinStatus = 'schreiben'";}$sql .= " ORDER BY Rang";$res = mysql_query_logged( $sql );$summe_n = 0;$summe_b = 0;$preis_n = 0;$g_preis = 0;$g_preis_n = 0;$pos = 1;//Zusatzkopfif ( $Infozeile == 'on' ){$pdf->Ln( 15 );$pdf->setFillColor( 204 );$pdf->cell( 30, 4, "Lieferschein Nr.", "LTR", 0, "C", 1 );$pdf->cell( 30, 4, "Kunden Nr.", "LTR", 0, "C", 1 );$pdf->cell( 70, 4, "Bearbeiter", "LTR", 0, "C", 1 );$pdf->cell( 34, 4, "Datum", "LTR", 0, "C", 1 );$pdf->cell( 0, 4, "Seite", "LTR", 1, "C", 1 );$pdf->setFillColor( 255 );$pdf->cell( 30, 4, "$r_nr", "LBR", 0, "C", 1 );$pdf->cell( 30, 4, $row_b['Login'], "LBR", 0, "C", 1 );$pdf->cell( 70, 4, "$b_name", "LBR", 0, "C", 1 );// ME: ggf das geänderte Datum einsetzenif ( isset($web_rechte["Warenwirtschaft"]["bestellung"]["abw_datum_lieferschein"]) ) {if($_POST['datum']) {$pdf->cell( 34, 4, $_POST['datum'] , "LBR", 0, "C", 1 );}else{$pdf->cell( 34, 4, date( 'd.m.Y' ), "LBR", 0, "C", 1 );}}else{$pdf->cell( 34, 4, date( 'd.m.Y' ), "LBR", 0, "C", 1 );}$pdf->cell( 0, 4, $pdf->PageNo(), "LBR", 1, "C", 1 );}if ( file_exists( "includes/lieferschein/contentheader_" . $site . "_" .$shops_ID . ".inc.php" ) ){require_once ( "includes/lieferschein/contentheader_" . $site . "_" .$shops_ID . ".inc.php" );} else {$pdf->setFillColor( 204 );$pdf->cell( 10, 4, "$Pos_text", "LTR", 0, "C", 1 );$pdf->cell( 20, 4, "$Menge_text", "LTR", 0, "C", 1 );$pdf->cell( 20, 4, "$Kennung_text", "LTR", 0, "C", 1 );$pdf->cell( 100, 4, "$Text_text", "LTR", 1, "C", 1 );$pdf->cell( 10, 4, "", "LBR", 0, "C", 1 );$pdf->cell( 20, 4, "", "LBR", 0, "C", 1 );$pdf->cell( 20, 4, "", "LBR", 0, "C", 1 );$pdf->cell( 100, 4, "", "LBR", 1, "C", 1 );}$pdf->setFillColor( 255 );$pdf->SetFont( 'Arial', '', 9 );while ( $row = mysql_fetch_assoc( $res ) ){$menge = $row["Menge"];$e_preis = $row["Preis_pro_Stueck"];$preis_n = $e_preis - ( $e_preis * 19 / 119 );if ( $row["artikel"] != 999999 ){$sql_a = "SELECT*FROM" . artikelDatabase( $row_b["shops_ID"] ) . "WHEREID=" . $row["artikel"] . "";$res_a = mysql_query( $sql_a );$row_a = mysql_fetch_assoc( $res_a );$kennung = $row_a["kennung"];if ( $row_a["Father"] == -3 ){$versandname = $row["Bezeichnung"];$pos = "";$menge = "";$g_preis = $e_preis;$g_preis_n = $preis_n;}else{// Bestandsminderung erstmal weggelassen$g_preis = $e_preis * $menge;$g_preis_n = $preis_n * $menge;}}else{$g_preis = $e_preis * $menge;$g_preis_n = $preis_n * $menge;$kennung = "";}$summe_b += $g_preis;$summe_n += $g_preis_n;$a_name = $row["Bezeichnung"];$h = $pdf->NbLines( 100, $a_name );$h = 5 * $h;$x = $pdf->GetX();$y = $pdf->GetY();if ( file_exists( "includes/lieferschein/content_" . $site . "_" .$shops_ID . ".inc.php" ) ){include( "includes/lieferschein/content_" . $site . "_" .$shops_ID . ".inc.php" );} else {$pdf->MultiCell( 10, $h, $pos.".", 1, "C" );$pdf->SetXY( $x + 10, $y );$x = $pdf->GetX();$y = $pdf->GetY();$pdf->MultiCell( 20, $h, ((is_numeric($pos)) ? str_replace(",00", "",number_format($menge, 2, ',', '.')) : "") ." x", 1, "C" );$pdf->SetXY( $x + 20, $y );$x = $pdf->GetX();$y = $pdf->GetY();$pdf->MultiCell( 20, $h, $kennung, 1, "C" );$pdf->SetXY( $x + 20, $y );$x = $pdf->GetX();$y = $pdf->GetY();$pdf->MultiCell( 100, 5, $a_name, 1, "L", 0 );}//$pdf->ln( 4 );if ( $Status ){$sql_s ="UPDATE artikel_to_Bestellung SET lieferscheinStatus='geschrieben' WHERE ID=" .$row["ID"];mysql_query_logged( $sql_s );}$pos++;}$pdf->cell( 150, 8, "", "T", 1 );$pdf->setFont( 'Arial', '', 9.5 );if ( $row_b["Bemerkung_extern"] ){// externe Bemerkung$pdf->multiCell( 35, 4, "externe Bemerkung: ", 0, 0, "L" );$pdf->setFont( 'Arial', 'B', 9.5 );$pdf->multiCell( 0, 4, $row_b["Bemerkung_extern"], 0, 1, "L" );$pdf->setFont( 'Arial', '', 9.5 );}if ( VERSAND_ANZEIGEN ){if($versandname || $zahlungs_hinweis) {$pdf->multiCell( 0, 4, "\r\nZahlung: $versandname\n$zahlungs_hinweis",0, 1, "L" );}}else{$pdf->multiCell( 0, 4, "\r\n$zahlungs_hinweis", 0, 1, "L" );}if ( $Speichern ){$pdf->Output( $webs['verzeichnis'] . "/images/dokumente/" . $fName,"F" );$sql = "INSERT INTOdokumente(table_foreign,row_foreign,data_foreign,document,letzte_Aenderung_am,letzte_Aenderung_von)VALUES('Bestellung','ID',$b_id,'$fName',NOW(),'" . $_SERVER["PHP_AUTH_USER"] . "')";mysql_query( $sql );}$pdf->Output();}?>