Blame | Letzte Änderung | Log anzeigen | RSS feed
<?php//$Id: bestellungen_archivieren.php 3931 2011-09-16 08:17:57Z tiefland $/*** @author Lars Tiefland <tiefland@weban.de>* @copyright 2008 Webagentur Niewerth* @package Content-management* @subpackage Toolbox* @version $Rev: 3931 $* @license propietary* @filesource**//*** löscht alte Bestellungen und speichert die Daten in einer Hilfstabelle, damit die Statistik weiterhin auf die Daten zurückgreifen kann* @author Lars Tiefland <tiefland@weban.de>* @copyright 2008 Webagentur Niewerth*/require_once "common.php";function delete_orders( $ende ){global $web_rechte;$ret["error"] = false;if ( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["bestellart"] ) ){$sql_ba = "SELECT*FROMbestellart";$res_ba = mysql_query( $sql_ba );if ( !$res_ba ){$ret["error"] = true;$ret["sql"] = $sql_ba;return $ret;}while ( $row_ba = mysql_fetch_assoc( $res_ba ) ){$bestellarten[] = $row_ba["id"];}}else{$bestellarten[] = 0;}foreach ( $bestellarten as $bestellart_id ){$daten = array();$sql = "SELECT DISTINCTSUBSTRING(erstellt_am, 1,10) AS datumFROMBestellungWHEREerstellt_am < '$ende'";$sql .= ( $bestellart_id ) ? " AND bestellart_id=$bestellart_id" :"";$sql .= "ORDER BYerstellt_am";$res = mysql_query( $sql );if ( !$res ){$ret["error"] = true;$ret["sql"] = $sql;return $ret;}while ( $row = mysql_fetch_assoc( $res ) ){$datum = $row["datum"];$sql_anz = "SELECTCOUNT(*) AS anz,shops_IDFROMBestellungWHEREerstellt_am LIKE '" . $datum . "%'";$sql_anz .= ( $bestellart_id ) ? " AND bestellart_id=$bestellart_id" :"";$sql_anz .= "GROUP BYshops_ID";$res_anz = mysql_query( $sql_anz );if ( !$res_anz ){$ret["error"] = true;$ret["sql"] = $sql_anz;return $ret;}while ( $row_anz = mysql_fetch_assoc( $res_anz ) ){$shop = $row_anz["shops_ID"];$anz = $row_anz["anz"];$daten[$row["datum"]][$shop]["anzahl"] = $anz;$sql_umsatz = "SELECTSUM(Menge*Preis_pro_Stueck) AS umsatzFROMartikel_to_Bestellung AS ab,Bestellung AS bWHEREerstellt_am LIKE '" . $datum . "%'ANDb.shops_ID=" . $shop . "ANDab.Bestellung=b.ID";$sql_umsatz .= ( $bestellart_id ) ? " AND bestellart_id=$bestellart_id" :"";$res_umsatz = mysql_query( $sql_umsatz );if ( !$res_umsatz ){$ret["error"] = true;$ret["sql"] = $sql_umsatz;return $ret;}while ( $row_umsatz = mysql_fetch_assoc( $res_umsatz ) ){$umsatz = $row_umsatz["umsatz"];$daten[$datum][$shop]["umsatz"] = $umsatz;}}}if ( is_array( $daten ) ){foreach ( $daten as $datum => $shop_werte ){foreach ( $shop_werte as $shop_id => $werte ){$umsatz = $werte["umsatz"];$anz = $werte["anzahl"];$sql = "INSERT INTObestellung_archiv(shops_id,datum,best_anzahl,umsatz,bestellart_id)VALUES($shop_id ,'$datum',$anz,'$umsatz',$bestellart_id)";$res = mysql_query( $sql );if ( !$res ){$ret["error"] = true;$ret["sql"] = $sql;return $ret;}}//alle Bestellungen von $datum löschen$sql = "SELECTIDFROMBestellungWHEREerstellt_am LIKE '$datum%'";$sql .= ( $bestellart_id ) ? " AND bestellart_id=$bestellart_id" :"";$res = mysql_query( $sql );if ( !$res ){$ret["error"] = true;$ret["sql"] = $sql;return $ret;}while ( $row = mysql_fetch_assoc( $res ) ){$best[] = $row["ID"];}$bestellungen = implode( ",", $best );$sql = "DELETE FROMartikel_to_BestellungWHEREartikel_to_Bestellung.Bestellung IN ($bestellungen)";$res = mysql_query( $sql );if ( !$res ){$ret["error"] = true;$ret["sql"] = $sql;return $ret;}$sql = "DELETE FROMBestellungWHEREerstellt_am LIKE '$datum%'";$sql .= ( $bestellart_id ) ? " AND bestellart_id=$bestellart_id" :"";$res = mysql_query( $sql );if ( !$res ){$ret["error"] = true;$ret["sql"] = $sql;return $ret;}}}}return $ret;}$GLOBALS["ui"]->assign( "title", "Bestellungen archivieren" );if ( !$_POST["mode"] ){$GLOBALS["ui"]->assign( "file", "common/" . basename( $_SERVER["SCRIPT_NAME"],"php" ) . "tpl" );}else{$date = $_POST["Date_Year"] . "-" . $_POST["Date_Month"] . "-01";$ret = delete_orders( $date );$res = $ret["error"];$GLOBALS["ui"]->assign( "error", $res );if ( !$res ){$GLOBALS["ui"]->assign( "meld", "Bestellungen erfolgreich gelöscht!" );}else{$GLOBALS["ui"]->assign( "meld", "Leider ist ein Fehler aufgetreten!" );$GLOBALS["ui"]->assign( "db_meld", mysql_error() . "<br>" . $ret["sql"] );}$GLOBALS["ui"]->assign( "file", "common/meld.tpl" );}$GLOBALS["ui"]->display( "common/page.tpl" );?>