Blame | Letzte Änderung | Log anzeigen | RSS feed
<?// $Id: auftrag.php 3456 2011-03-17 14:55:30Z tiefland $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/auftrag/body_$site.inc.php";require_once "fpdf/fpdf.php";require_once "includes/bestellungen/system/artikelDatabase.php";class PDF extends FPDF{function generate_LN( $bestell_id, $art ){$date = date( "Y-m-d" );$f_name = $art . "_" . $bestell_id . "_" . $date;$sql ="SELECT MAX(document) AS dokument FROM dokumente WHERE document 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;require_once "includes/auftrag/header_$site.inc.php";}//Page footerfunction Footer(){global $site;require_once "includes/auftrag/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 ( !$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!" );}}if ( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["drucken"] ) ){$Status = false;$Nummernkreis = false;$Speichern = false;$Lieferadressenauswahl = false;$daten = explode( ";", $web_rechte["Warenwirtschaft"]["bestellung"]["drucken"] );$id = array_search( "Lieferadressenauswahl", $daten );if ( $id !== false ){$Lieferadressenauswahl = true;}$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,"A", $Nummernkreis ) );$r_nr = date( "y" ) . $r_nr;$fName = "A" . $r_nr . ".pdf";}else{$date = date( "Y-m-d" );$ln = $pdf->generate_LN( $b_id, "A", false );if ( !isset( $anz_stellen ) ){$anz_stellen = 5;}$r_nr = sprintf( "%0" . $anz_stellen . "d", $ln );$fName = "A_" . $b_id . "_" . $date . "_" . $r_nr . ".pdf";}$id = array_search( "Speichern", $daten );if ( $id !== false ){$Speichern = true;}}//Instanciation of inherited class$pdf->setSubject( "Auftrag" );$pdf->setAuthor( $haendler_name );$pdf->setCreator( "fpdf PHP Library" );$pdf->AliasNbPages();$pdf->AddPage();$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, "@" ) );$sql_l = "SELECT * FROM Logins WHERE ID=" . $row_b["Login"];$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"];$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"] : "";$telefon = $row_l["Telefon"];$pdf->SetFont( 'Arial', 'B', 14 );$pdf->Ln( 4 );$pdf->cell( 100, 8, "Kundendaten", 1, 1, "C" );$pdf->SetFont( 'Arial', 'B', 9 );$pdf->cell( 20, 8, "Firma", 1, 0, "L" );$pdf->SetFont( 'Arial', '', 9 );$pdf->cell( 80, 8, $firma, 1, 1, "L" );$pdf->SetFont( 'Arial', 'B', 9 );$pdf->cell( 20, 8, "Name", 1, 0, "L" );$pdf->SetFont( 'Arial', '', 9 );$pdf->cell( 80, 8, $anrede . " " . $name, 1, 1, "L" );$pdf->SetFont( 'Arial', 'B', 9 );$pdf->cell( 20, 8, "Straße", 1, 0, "L" );$pdf->SetFont( 'Arial', '', 9 );$pdf->cell( 80, 8, $str, 1, 1, "L" );$pdf->SetFont( 'Arial', 'B', 9 );$pdf->cell( 20, 8, "PLZ", 1, 0, "L" );$pdf->SetFont( 'Arial', '', 9 );$pdf->cell( 80, 8, $plz, 1, 1, "L" );$pdf->SetFont( 'Arial', 'B', 9 );$pdf->cell( 20, 8, "Ort", 1, 0, "L" );$pdf->SetFont( 'Arial', '', 9 );$pdf->cell( 80, 8, $ort, 1, 1, "L" );$pdf->SetFont( 'Arial', 'B', 9 );$pdf->cell( 20, 8, "Telefon", 1, 0, "L" );$pdf->SetFont( 'Arial', '', 9 );$pdf->cell( 80, 8, $telefon, 1, 1, "L" );$pdf->ln( 10 );$pdf->SetFont( 'Arial', 'B', 14 );$info = unserialize( $row_b["zusatzInfo"] );switch ( $info["typ"] ){case "reklamation":$REName .= " (Reklamation)";break;case "reparatur":$REName .= " (Reparatur)";break;case "kva":$REName .= " (Reparatur mit Kostenvoranschlag)";break;default:break;}$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'";$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->setFillColor( 204 );$pdf->cell( 30, 4, "Auftrag 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_l['ID'], "LBR", 0, "C", 1 );$pdf->cell( 70, 4, "$b_name", "LBR", 0, "C", 1 );$pdf->cell( 34, 4, date( 'd.m.Y' ), "LBR", 0, "C", 1 );$pdf->cell( 0, 4, $pdf->PageNo(), "LBR", 1, "C", 1 );}$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", 0, "C", 1 );$pdf->cell( 20, 4, "$Einzelpreis_text", "LTR", 0, "C", 1 );$pdf->cell( 0, 4, "$Gesamtpreis_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", 0, "C", 1 );$pdf->cell( 20, 4, "€", "LBR", 0, "C", 1 );$pdf->cell( 0, 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{$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;//var_dump($h);$x = $pdf->GetX();$y = $pdf->GetY();$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 ) ) ? number_format( $menge,2, ',', '.' ) : "", 1, "R" );$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" );$pdf->SetXY( $x + 100, $y );$x = $pdf->GetX();$y = $pdf->GetY();$pdf->Multicell( 20, $h, number_format( $preis_n, 3, ',', '.' ), 1,"R" );$pdf->SetXY( $x + 20, $y );$pdf->Multicell( 0, $h, number_format( $g_preis_n, 2, ',', '.' ), 1,"R" );$pos++;}$pdf->cell( 170, 4, "Gesamt Netto", 1, 0, "L" );$pdf->cell( 0, 4, number_format( $summe_n, 2, ',', '.' ), 1, 1, "R" );$pdf->cell( 50, 4, "zzgl. 19,00 % MwSt. auf ", "LBT", 0, "L" );$pdf->cell( 120, 4, number_format( $summe_n, 2, ',', '.' ), "BTR", 0,"R" );$pdf->cell( 0, 4, number_format( $summe_n * 0.19, 2, ',', '.' ), 1, 1,"R" );$pdf->setFont( 'Arial', 'B', 12 );$pdf->cell( 170, 8, "Gesamtbetrag", "LBR", 0, "L" );$pdf->cell( 0, 8, number_format( $summe_b, 2, ',', '.' ), "LBR", 1, "R" );$pdf->cell( 0, 8, "", "T", 1 );$pdf->setFont( 'Arial', '', 9.5 );switch ( $info["back"] ){case "return":$pdf->cell( 0, 8, "ausgetauschte Teile werden zurückgeschickt","", 1, "L" );break;case "noreturn":$pdf->cell( 0, 8, "ausgetauschte Teile verbleiben bei $haendler_name","", 1, "L" );break;default:break;}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 ){$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" );}$pdf->ln( 15 );$pdf->cell( 100 );$pdf->cell( 80, 8, "Unterschrift Kunde", "T", 1, "L" );$date = date( "Y-m-d" );$ln = $pdf->generate_LN( $b_id, "A", false );if ( !isset( $anz_stellen ) ){$anz_stellen = 5;}$r_nr = sprintf( "%0" . $anz_stellen . "d", $ln );$fName = "A_" . $b_id . "_" . $date . "_" . $r_nr . ".pdf";$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_logged( $sql );$pdf->Output();?>