Blame | Letzte Änderung | Log anzeigen | RSS feed
<?php/*** @package Content-management* @author Lars Tiefland <tiefland@weban.de>* @copyright 2010 Webagentur Niewerth* @license propietary http://www.weban.de* @version $Rev: 3931 $* @filesource**//**** @package Content-management* @author Lars Tiefland <tiefland@weban.de>* @copyright 2010 Webagentur Niewerth*/// SVN: $Id: rhenus_export.php 3931 2011-09-16 08:17:57Z tiefland $require_once 'Weban_Smarty.class.php';require_once '../Online-Shop/connect2.php';require_once 'File/Find.php';require_once 'module/functions.common.php';$GLOBALS["ui"] = new Weban_Smarty();$GLOBALS["ui"]->compile_dir = $_SERVER["DOCUMENT_ROOT"] . "/templates_c/";$GLOBALS["ui"]->compile_id = "Warenwirtschaft|export";$GLOBALS["ui"]->use_sub_dirs = true;$GLOBALS["ui"]->assign( "title", "Auftragsdaten nach Rhenus exportieren" );if ( isset( $user_rechte['Warenwirtschaft']['export']['rhenus'] ) ){if ( $_GET['mode'] == 'new' ){rhenus_export();} elseif ( $_GET['file'] ){$file = $_GET['file'];if ( file_exists( $file ) ){//header( 'Content-Type: text/plain' );header( 'Content-Disposition: attachment; filename="' .basename( $file ) . '"' );readfile( $file );}}else{if ( !file_exists( "archiv/$site" ) ){mkdir( "archiv/$site" );}if ( !file_exists( "archiv/$site" ) ){mkdir( "archiv/$site" );}$ff = new File_Find();$files = $ff->search( "/export_Bestellungen_rhenus_[0-9a-zA-Z]{0,3}_{0,1}[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.csv$/i","archiv/$site/", "perl" );rsort( $files );foreach ( $files as $f_id => $file ){$files_arr[$f_id]["name"] = $file;$date = date( "d.m.Y H:i:s", filemtime( $file ) );$files_arr[$f_id]["desc"] = $date;}$GLOBALS["ui"]->assign( "files", $files_arr );$GLOBALS["ui"]->assign( "anbieter", "rhenus" );$GLOBALS["ui"]->display( "export.tpl" );}}else{$GLOBALS["ui"]->assign( "meld","Sie haben nicht das Recht dieses Tool zu nutzen!" );$GLOBALS["ui"]->assign( "error", true );$GLOBALS["ui"]->display( "meld.tpl" );}function rhenus_export(){global $site, $web_rechte;$date = date( 'Y-m-d_H-i-s' );$sql = "SELECT DISTINCTBestellung,artikel,short_line_1 AS rufname,ab.Preis_pro_Stueck,a.Eigenschaft_1FROMartikel_to_Bestellung abJOINartikel AS aONa.ID=ab.artikelWHEREab.status='freigegeben'ANDa.Father = -3";$res_b = mysql_query( $sql );if ( !$res_b ){die( mysql_error() );}while ( $row_b = mysql_fetch_assoc( $res_b ) ){$b_id = $row_b["Bestellung"];$paket = !( $row_b["Eigenschaft_1"] );//$paket = false;$a_id = $row_b["artikel"];$inkasso = "";$zahlungsart = ucfirst( $row_b["rufname"] );if ( $zahlungsart == "Nachnahme" ){// Inkassobetrag ermitteln$inkasso = getInkasso( $b_id );}$entsorgung = getEntsorgung( $b_id );$sql_a = "SELECTab.ID,ab.artikel,ab.Menge,ab.Bezeichnung,ab.Preis_pro_Stueck,a.kurzbezeichnung,a.short_line_2,a.gewicht,a.FatherFROMartikel_to_Bestellung abJOINartikel AS aONa.ID=ab.artikelWHEREa.Father!=-3ANDab.Bestellung=$b_id";$res_a = mysql_query( $sql_a );if ( !$res_a ){die( mysql_error() );}$p_anz_total = mysql_num_rows( $res_a );$sql_a = "SELECTab.ID,ab.artikel,ab.Menge,ab.Bezeichnung,ab.Preis_pro_Stueck,a.kurzbezeichnung,a.short_line_2,a.gewicht,a.FatherFROMartikel_to_Bestellung abJOINartikel AS aONa.ID=ab.artikelWHEREab.status='reserviert'ANDa.Father!=-3ANDab.Bestellung=$b_id";$res_a = mysql_query( $sql_a );if ( !$res_a ){die( mysql_error() );}$p_anz = mysql_num_rows( $res_a );//echo $p_anz;if ( $p_anz ){$sql = "SELECTb.*,l.E_Mail,l.Vorname,l.Name1,l.Name2 as Firma,l.Strasse,l.Hausnummer,l.PLZ,l.Ort,l.Land,l.Telefon,s.shortFROMBestellung b,Logins l,shops sWHEREl.ID=b.LoginANDb.id= $b_idANDs.ID=b.shops_ID";$res = mysql_query( $sql );if ( !$res ){die( mysql_error() );}while ( $row = mysql_fetch_assoc( $res ) ){$inv_artikel = array( 13024, 999997 );if ( in_array( $row_a["artikel"], $inv_artikel ) ){continue;}$b_id = $row["ID"];$s_short = $row["short"];$l_id = $row["Login"];$i = 1;if ( $row['liefer_Land'] ){$land = $row['liefer_Land'];$anrede = $row['liefer_Andrede'];$strasse = $row['liefer_Strasse'];$hausnummer = $row['liefer_Str_Nr'];$name = $row['liefer_Name'];$vorname = $row['liefer_Vorname'];$ort = $row['liefer_Ort'];$plz = $row['liefer_PLZ'];}else{$land = $row['Land'];$anrede = $row['Anrede'];$strasse = $row['Strasse'];$hausnummer = $row['Hausnummer'];$name = $row['Name1'];$vorname = $row['Vorname'];$ort = $row['Ort'];$plz = $row['PLZ'];}$bemerkung = preg_replace( "/[\"'\r\n]*/", "", $row["Bemerkung_extern"] );$bemerkung = str_replace( ";", ",", $bemerkung );$bemerkung = substr( $bemerkung, 0, 70 );$dat = datetime2human( $row["erstellt_am"] );$datum = $dat["Datum"];$land = getISOCode( $land );while ( $row_a = mysql_fetch_assoc( $res_a ) ){$ab_id = $row_a["ID"];$f_row = array();if ( $row_a["Father"] == 131 ){$rhenus_a_id = $row_a["short_line_2"];}else{$rhenus_a_id = $row_a["artikel"];}$a_name = ( $row_a["Bezeichnung"] ) ? $row_a["Bezeichnung"] :$row_a["kurzbezeichnung"];$f_row[] = $b_id;$f_row[] = $l_id;$f_row[] = $anrede;$f_row[] = $name;$f_row[] = $vorname;$f_row[] = $strasse;$f_row[] = $hausnummer;$f_row[] = $plz;$f_row[] = $ort;$f_row[] = $land;$f_row[] = $row["Telefon"];$f_row[] = "";$f_row[] = "";$f_row[] = $row["E_Mail"];$f_row[] = ( $row_a["Father"] == 131 ) ? 3 : 1;$f_row[] = $datum;$f_row[] = $inkasso;$f_row[] = $zahlungsart;$f_row[] = "Ganztags";$f_row[] = $bemerkung;$f_row[] = $i;$f_row[] = $rhenus_a_id;$f_row[] = $a_name;$f_row[] = 0;$f_row[] = $row_a["Menge"];$f_row[] = $entsorgung;$f_row[] = 1;$f_row[] = "";$f_row[] = round( $row_a["gewicht"], 0 );$sql_u = "UPDATEartikel_to_BestellungSETstatus='erledigt',exported='" . time() . "'WHEREID=$ab_id";$res_u = mysql_query( $sql_u );if ( $i == $p_anz_total ){$sql_u = "UPDATEartikel_to_BestellungSETstatus = 'versand',exported='" . time() . "'WHEREBestellung = $b_idANDartikel = $a_id";$res_u = mysql_query( $sql_u );}else{$sql_u = "UPDATEartikel_to_BestellungSETexported='" . time() . "'WHEREBestellung = $b_idANDartikel = $a_id";$res_u = mysql_query( $sql_u );}$i++;$f_cont[$s_short][] = implode( ";", $f_row );if ( $paket ){$f_row[20] = $i;$f_row[21] = "";switch ( true ){case $row_a["gewicht"] >= 0 && $row_a["gewicht"] <6:$f_row[22] = "P1";break;case $row_a["gewicht"] >= 6 && $row_a["gewicht"] <11:$f_row[22] = "P2";break;case $row_a["gewicht"] >= 11 && $row_a["gewicht"] <17:$f_row[22] = "P3";break;case $row_a["gewicht"] >= 17 && $row_a["gewicht"] <21:$f_row[22] = "P4";break;case $row_a["gewicht"] >= 21 && $row_a["gewicht"] <33:$f_row[22] = "P5";break;case $row_a["gewicht"] >= 33 && $row_a["gewicht"] <35:$f_row[22] = "P6";break;case $row_a["gewicht"] >= 35 && $row_a["gewicht"] <41:$f_row[22] = "P7";break;case $row_a["gewicht"] >= 41 && $row_a["gewicht"] <43:$f_row[22] = "P8";break;case $row_a["gewicht"] >= 43 && $row_a["gewicht"] <45:$f_row[22] = "P9";break;case $row_a["gewicht"] >= 45 && $row_a["gewicht"] <47:$f_row[22] = "Q1";break;case $row_a["gewicht"] >= 47 && $row_a["gewicht"] <49:$f_row[22] = "Q2";break;case $row_a["gewicht"] >= 49 && $row_a["gewicht"] <51:$f_row[22] = "Q3";break;case $row_a["gewicht"] >= 51 && $row_a["gewicht"] <56:$f_row[22] = "Q4";break;case $row_a["gewicht"] >= 56 && $row_a["gewicht"] <61:$f_row[22] = "Q5";break;case $row_a["gewicht"] >= 61 && $row_a["gewicht"] <66:$f_row[22] = "Q6";break;case $row_a["gewicht"] >= 66 && $row_a["gewicht"] <71:$f_row[22] = "Q7";break;}$i++;$f_cont[$s_short][] = implode( ";", $f_row );}}}}else{$sql_u = "UPDATEartikel_to_BestellungSETstatus = 'versand',exported='" . time() . "'WHEREBestellung = $b_idANDartikel = $a_id";$res_u = mysql_query( $sql_u );}}foreach ( $f_cont as $shop => $s_cont ){$f_name = "export_Bestellungen_rhenus_" . $shop . "_" . $date .".csv";$cont = implode( "\r\n", $s_cont );if ( $cont ){//$f = fopen( "archiv/$site/$f_name", 'w' );if ( $header ){$cont = $header . "\r\n" . $cont;}/*fwrite( $f, $cont );fclose( $f );*/file_put_contents( "archiv/$site/$f_name", $cont );}}header( 'Location: export.php' );}function getInkasso( $b_id ){$sql = "SELECTSUM(ab.Menge * ab.Preis_pro_Stueck) AS inkassoFROMartikel_to_Bestellung ab,artikel aWHEREab.Bestellung=$b_idANDab.artikel=a.IDAND((ab.status='reserviert')OR(ab.exported='0000-00-00 00:00:00' AND a.Father=-3))";$res = mysql_query( $sql );echo mysql_error();$row = mysql_fetch_assoc( $res );$inkasso = number_format( $row["inkasso"], 2, ',', '' );return $inkasso;}function getEntsorgung( $b_id ){$sql = "SELECTCOUNT(*) AS entsorgungFROMartikel_to_Bestellung AS abWHEREab.artikel=999997ANDab.Bestellung=$b_id";$res = mysql_query( $sql );echo mysql_error();$row = mysql_fetch_assoc( $res );$entsorgung = $row["entsorung"];return $entsorgung;}?>