Subversion-Projekte lars-tiefland.content-management

Revision

Blame | Letzte Änderung | Log anzeigen | RSS feed

<?
    // Dateiname:                                       $URL: http://server3/svn/content-management/trunk/Warenwirtschaft/statistik.php $
    // Revision:                                        $Rev: 3931 $
    // letzter Bearbeiter:                      $Author: tiefland $
    // letztes Bearbeitungsdatum:       $Date: 2011-09-16 10:17:57 +0200 (Fr, 16 Sep 2011) $

    setlocale( LC_TIME, "de_DE" );
    define( "modul_name", "Warenwirtschaft" );
    define( "tool_name", "statistik" );
    require_once  "../Online-Shop/connect2.php";
    require_once  "includes/statistik/system.php";

    //neue Smarty-Instanz erstellen
    require_once  "Weban_Smarty.class.php";
    $GLOBALS["ui"] = new Weban_Smarty();
    $GLOBALS["ui"]->compile_dir = $_SERVER["DOCUMENT_ROOT"] .
        "/templates_c/";
    $GLOBALS["ui"]->compile_id="Warenwirtschaft|statistik";
    $GLOBALS["ui"]->use_sub_dirs=true;

    //Datumsfilter aufbauen
    $dates = getDates();
    $dates_sel = select_tpl( "filter[datum]", $dates, "datum", "datumText", $filter["datum"], true );

    $ansichten[] = array( "ID" => 1, "name" => "Standard" );
    $ansichten[] = array( "ID" => 2, "name" => "Detailansicht" );
    $ansichten[] = array( "ID" => 3, "name" => "Detailansicht V2" );

    /*if ( !$_SESSION[modul_name][tool_name]["filter"] )
    {
    $_SESSION[modul_name][tool_name]["filter"] = array();
    }

    $filter = &$_SESSION[modul_name][tool_name]["filter"];*/

    if ( $_REQUEST["filter"] )
    {
        $filter = $_REQUEST["filter"];
    }

    if ( !isset($filter["datum"]) )
    {
        $filter["datum"] = date( "Y-m" );
    }
    $f_datum = $filter["datum"];

    //SQL für Datumseinschränkung bestimmen
    if ( $f_datum[strlen($f_datum) - 1] == "W" )
    {
        //Woche ausgewählt
        $f_datum[strlen( $f_datum ) - 1] = "";
        $start = strtotime( $f_datum );
        $ende = strtotime( "1 week", $start );
        $start_v = strtotime( "-1 year", $start );
        if ( strftime("%w", $start_v) != 1 )
        {
            $start_v = strtotime( "monday", $start_v );
        }
        $ende_v = strtotime( "1 week", $start_v );
        $time_frame = strftime( "Woche %V", strtotime($f_datum) );
        define( "WEEK", true );
    }
    else
    {
        //Monat ausgewählt
        $start = strtotime( $f_datum . "-01" );
        $d_anz = date( "t", $start );
        $ende = strtotime( "$d_anz days", $start );
        //$ende = strtotime( "1 month", $start );
        $start_v = strtotime( "-1 year", $start );
        $ende_v = strtotime( "-1 year", $ende );
        $time_frame = strftime( "%B", $start );
        define( "WEEK", false );
    }
    $c_year = date( "Y", $start );
    $p_year = $c_year - 1;

    //Shops auslesen und filtern
    $shops = getShops( $filter["shopID"], true, $start, $ende, $start_v, $ende_v );
    $shops_sel = select_tpl( "filter[shopID]", $shops, "ID", "Name", $filter["shopID"] );

    $bestellart_recht = false;

    if ( isset($web_rechte["Warenwirtschaft"]["bestellung"]["bestellart"]) )
    {
        if ( !isset($filter["bestellart"]) )
        {
            $filter["bestellart"] = 1;
        }
        $ansichten[] = array( "ID" => 4, "name" => "Detailansicht nach Bestellarten" );
        $bestellarten = getBestellarten();
        $bestellarten_sel = $bestellarten;
        $bestellarten_sel[] = array( "id" => 0, "name" =>
            "----------- alle -----------" );
        $GLOBALS["ui"]->assign( "bestellarten", select_tpl("filter[bestellart]", $bestellarten_sel,
            "id", "name", $filter["bestellart"], true) );
        if ( $filter["bestellart"] )
        {
            $bestellarten_loop[] = array( "id" => $filter["bestellart"], "name" => $bestellarten[$filter["bestellart"] -
                1]["name"] );
        }
        else
        {
            $bestellarten_loop = $bestellarten;
        }
        $GLOBALS["ui"]->assign( "bestellarten_arr", $bestellarten_loop );
        $bestellart_recht = true;
    }
    else
    {
        unset( $filter["bestellart"] );
    }
    $ansichten_sel = select_tpl( "filter[ansicht]", $ansichten, "ID", "name", $filter["ansicht"], true );
    $GLOBALS["ui"]->assign( "bestellart_recht", $bestellart_recht );

    $GLOBALS["ui"]->assign( "shop_filter", ($filter["shopID"]) ? true : false );
    $GLOBALS["ui"]->assign( "kunde", $webs["kunde_bezeichnung"] );
    $GLOBALS["ui"]->assign( "charset", $charset );
    $GLOBALS["ui"]->assign( "ansichten", $ansichten_sel );
    $GLOBALS["ui"]->assign( "shops_filter", $shops_sel );
    $GLOBALS["ui"]->assign( "dates", $dates_sel );

    switch ( $filter["ansicht"] )
    {
        case 2:
            require_once  "statistik_detail.php";
            break;
        case 3:
            require_once  "statistik_v2.php";
            break;
        case 4:
            require_once  "statistik_bestellarten.php";
            break;
        default:
            $id = 0;
            $umsatz_ges = get_Umsatz( $start, $ende, null, 0, $filter["bestellart"] );
            $umsatz_ges_p = number_format( $umsatz_ges, 2, ',', '.' );
            $artikel_pos_ges = get_pos_artikel( $start, $ende, null, 0, $filter["bestellart"] );
            $artikel_anz_ges = get_anz_artikel( $start, $ende, null, 0, $filter["bestellart"] );
            $artikel_pos_ges_p = number_format( $artikel_pos_ges, 0, ',', '.' );
            $artikel_anz_ges_p = number_format( $artikel_anz_ges, 0, ',', '.' );
            foreach ( $shops as $shop )
            {
                //Daten für jeden einzelnen Shop auslesen
                $umsatz = get_Umsatz( $start, $ende, $shop["ID"], 0, $filter["bestellart"] );
                $artikel_pos = get_pos_artikel( $start, $ende, $shop["ID"], 0, $filter["bestellart"] );
                $artikel_anz = get_anz_artikel( $start, $ende, $shop["ID"], 0, $filter["bestellart"] );

                //Prozentwerte berechnen
                $artikel_anz_rel = ( !$filter["shopID"] && !empty($artikel_anz_ges) ) ?
                    number_format( ($artikel_anz / $artikel_anz_ges) * 100, 1, ',', '' ) . "%" :
                    "100%";
                $artikel_pos_rel = ( !$filter["shopID"] && !empty($artikel_pos_ges) ) ?
                    number_format( ($artikel_pos / $artikel_pos_ges) * 100, 1, ',', '' ) . "%" :
                    "100%";
                $umsatz_rel = ( !$filter["shopID"] && !empty($umsatz_ges) ) ? number_format( ($umsatz /
                    $umsatz_ges) * 100, 1, ',', '' ) . "%" : "100%";

                //Daten aufbereiten
                $artikel_anz_p = number_format( $artikel_anz, 0, ',', '.' );
                $artikel_pos_p = number_format( $artikel_pos, 0, ',', '.' );
                $umsatz_p = number_format( $umsatz, 2, ',', '.' );

                //Daten zusammenführen
                $daten[$id] = array( "shop_name" => $shop["Name"], "umsatz" => $umsatz_p,
                    "umsatz_rel" => $umsatz_rel, "artikel_pos" => $artikel_pos_p,
                    "artikel_pos_rel" => $artikel_pos_rel, "artikel_anz" => $artikel_anz_p,
                    "artikel_anz_rel" => $artikel_anz_rel, );
                $id++;
            }
            if ( !$filter[shopID] )
            {
                $GLOBALS["ui"]->assign( "umsatz_ges", $umsatz_ges_p );
                $GLOBALS["ui"]->assign( "artikel_pos_ges", $artikel_pos_ges_p );
                $GLOBALS["ui"]->assign( "artikel_anz_ges", $artikel_anz_ges_p );
            }
            $GLOBALS["ui"]->assign( "daten", $daten );
            $GLOBALS["ui"]->assign( "file", "statistik-standard.tpl" );
            break;
    }
    $GLOBALS["ui"]->display( "statistik-page.tpl" );
?>