Subversion-Projekte lars-tiefland.content-management

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?
2
    // Dateiname:					$URL: http://server3/svn/content-management/trunk/Warenwirtschaft/statistik.php $
3
    // Revision:					$Rev: 3931 $
4
    // letzter Bearbeiter:			$Author: tiefland $
5
    // letztes Bearbeitungsdatum:	$Date: 2011-09-16 10:17:57 +0200 (Fr, 16 Sep 2011) $
6
 
7
    setlocale( LC_TIME, "de_DE" );
8
    define( "modul_name", "Warenwirtschaft" );
9
    define( "tool_name", "statistik" );
10
    require_once  "../Online-Shop/connect2.php";
11
    require_once  "includes/statistik/system.php";
12
 
13
    //neue Smarty-Instanz erstellen
14
    require_once  "Weban_Smarty.class.php";
15
    $GLOBALS["ui"] = new Weban_Smarty();
16
    $GLOBALS["ui"]->compile_dir = $_SERVER["DOCUMENT_ROOT"] .
17
        "/templates_c/";
18
    $GLOBALS["ui"]->compile_id="Warenwirtschaft|statistik";
19
    $GLOBALS["ui"]->use_sub_dirs=true;
20
 
21
    //Datumsfilter aufbauen
22
    $dates = getDates();
23
    $dates_sel = select_tpl( "filter[datum]", $dates, "datum", "datumText", $filter["datum"], true );
24
 
25
    $ansichten[] = array( "ID" => 1, "name" => "Standard" );
26
    $ansichten[] = array( "ID" => 2, "name" => "Detailansicht" );
27
    $ansichten[] = array( "ID" => 3, "name" => "Detailansicht V2" );
28
 
29
    /*if ( !$_SESSION[modul_name][tool_name]["filter"] )
30
    {
31
    $_SESSION[modul_name][tool_name]["filter"] = array();
32
    }
33
 
34
    $filter = &$_SESSION[modul_name][tool_name]["filter"];*/
35
 
36
    if ( $_REQUEST["filter"] )
37
    {
38
        $filter = $_REQUEST["filter"];
39
    }
40
 
41
    if ( !isset($filter["datum"]) )
42
    {
43
        $filter["datum"] = date( "Y-m" );
44
    }
45
    $f_datum = $filter["datum"];
46
 
47
    //SQL für Datumseinschränkung bestimmen
48
    if ( $f_datum[strlen($f_datum) - 1] == "W" )
49
    {
50
        //Woche ausgewählt
51
        $f_datum[strlen( $f_datum ) - 1] = "";
52
        $start = strtotime( $f_datum );
53
        $ende = strtotime( "1 week", $start );
54
        $start_v = strtotime( "-1 year", $start );
55
        if ( strftime("%w", $start_v) != 1 )
56
        {
57
            $start_v = strtotime( "monday", $start_v );
58
        }
59
        $ende_v = strtotime( "1 week", $start_v );
60
        $time_frame = strftime( "Woche %V", strtotime($f_datum) );
61
        define( "WEEK", true );
62
    }
63
    else
64
    {
65
        //Monat ausgewählt
66
        $start = strtotime( $f_datum . "-01" );
67
        $d_anz = date( "t", $start );
68
        $ende = strtotime( "$d_anz days", $start );
69
        //$ende = strtotime( "1 month", $start );
70
        $start_v = strtotime( "-1 year", $start );
71
        $ende_v = strtotime( "-1 year", $ende );
72
        $time_frame = strftime( "%B", $start );
73
        define( "WEEK", false );
74
    }
75
    $c_year = date( "Y", $start );
76
    $p_year = $c_year - 1;
77
 
78
    //Shops auslesen und filtern
79
    $shops = getShops( $filter["shopID"], true, $start, $ende, $start_v, $ende_v );
80
    $shops_sel = select_tpl( "filter[shopID]", $shops, "ID", "Name", $filter["shopID"] );
81
 
82
    $bestellart_recht = false;
83
 
84
    if ( isset($web_rechte["Warenwirtschaft"]["bestellung"]["bestellart"]) )
85
    {
86
        if ( !isset($filter["bestellart"]) )
87
        {
88
            $filter["bestellart"] = 1;
89
        }
90
        $ansichten[] = array( "ID" => 4, "name" => "Detailansicht nach Bestellarten" );
91
        $bestellarten = getBestellarten();
92
        $bestellarten_sel = $bestellarten;
93
        $bestellarten_sel[] = array( "id" => 0, "name" =>
94
            "----------- alle -----------" );
95
        $GLOBALS["ui"]->assign( "bestellarten", select_tpl("filter[bestellart]", $bestellarten_sel,
96
            "id", "name", $filter["bestellart"], true) );
97
        if ( $filter["bestellart"] )
98
        {
99
            $bestellarten_loop[] = array( "id" => $filter["bestellart"], "name" => $bestellarten[$filter["bestellart"] -
100
                1]["name"] );
101
        }
102
        else
103
        {
104
            $bestellarten_loop = $bestellarten;
105
        }
106
        $GLOBALS["ui"]->assign( "bestellarten_arr", $bestellarten_loop );
107
        $bestellart_recht = true;
108
    }
109
    else
110
    {
111
        unset( $filter["bestellart"] );
112
    }
113
    $ansichten_sel = select_tpl( "filter[ansicht]", $ansichten, "ID", "name", $filter["ansicht"], true );
114
    $GLOBALS["ui"]->assign( "bestellart_recht", $bestellart_recht );
115
 
116
    $GLOBALS["ui"]->assign( "shop_filter", ($filter["shopID"]) ? true : false );
117
    $GLOBALS["ui"]->assign( "kunde", $webs["kunde_bezeichnung"] );
118
    $GLOBALS["ui"]->assign( "charset", $charset );
119
    $GLOBALS["ui"]->assign( "ansichten", $ansichten_sel );
120
    $GLOBALS["ui"]->assign( "shops_filter", $shops_sel );
121
    $GLOBALS["ui"]->assign( "dates", $dates_sel );
122
 
123
    switch ( $filter["ansicht"] )
124
    {
125
        case 2:
126
            require_once  "statistik_detail.php";
127
            break;
128
        case 3:
129
            require_once  "statistik_v2.php";
130
            break;
131
        case 4:
132
            require_once  "statistik_bestellarten.php";
133
            break;
134
        default:
135
            $id = 0;
136
            $umsatz_ges = get_Umsatz( $start, $ende, null, 0, $filter["bestellart"] );
137
            $umsatz_ges_p = number_format( $umsatz_ges, 2, ',', '.' );
138
            $artikel_pos_ges = get_pos_artikel( $start, $ende, null, 0, $filter["bestellart"] );
139
            $artikel_anz_ges = get_anz_artikel( $start, $ende, null, 0, $filter["bestellart"] );
140
            $artikel_pos_ges_p = number_format( $artikel_pos_ges, 0, ',', '.' );
141
            $artikel_anz_ges_p = number_format( $artikel_anz_ges, 0, ',', '.' );
142
            foreach ( $shops as $shop )
143
            {
144
                //Daten für jeden einzelnen Shop auslesen
145
                $umsatz = get_Umsatz( $start, $ende, $shop["ID"], 0, $filter["bestellart"] );
146
                $artikel_pos = get_pos_artikel( $start, $ende, $shop["ID"], 0, $filter["bestellart"] );
147
                $artikel_anz = get_anz_artikel( $start, $ende, $shop["ID"], 0, $filter["bestellart"] );
148
 
149
                //Prozentwerte berechnen
150
                $artikel_anz_rel = ( !$filter["shopID"] && !empty($artikel_anz_ges) ) ?
151
                    number_format( ($artikel_anz / $artikel_anz_ges) * 100, 1, ',', '' ) . "%" :
152
                    "100%";
153
                $artikel_pos_rel = ( !$filter["shopID"] && !empty($artikel_pos_ges) ) ?
154
                    number_format( ($artikel_pos / $artikel_pos_ges) * 100, 1, ',', '' ) . "%" :
155
                    "100%";
156
                $umsatz_rel = ( !$filter["shopID"] && !empty($umsatz_ges) ) ? number_format( ($umsatz /
157
                    $umsatz_ges) * 100, 1, ',', '' ) . "%" : "100%";
158
 
159
                //Daten aufbereiten
160
                $artikel_anz_p = number_format( $artikel_anz, 0, ',', '.' );
161
                $artikel_pos_p = number_format( $artikel_pos, 0, ',', '.' );
162
                $umsatz_p = number_format( $umsatz, 2, ',', '.' );
163
 
164
                //Daten zusammenführen
165
                $daten[$id] = array( "shop_name" => $shop["Name"], "umsatz" => $umsatz_p,
166
                    "umsatz_rel" => $umsatz_rel, "artikel_pos" => $artikel_pos_p,
167
                    "artikel_pos_rel" => $artikel_pos_rel, "artikel_anz" => $artikel_anz_p,
168
                    "artikel_anz_rel" => $artikel_anz_rel, );
169
                $id++;
170
            }
171
            if ( !$filter[shopID] )
172
            {
173
                $GLOBALS["ui"]->assign( "umsatz_ges", $umsatz_ges_p );
174
                $GLOBALS["ui"]->assign( "artikel_pos_ges", $artikel_pos_ges_p );
175
                $GLOBALS["ui"]->assign( "artikel_anz_ges", $artikel_anz_ges_p );
176
            }
177
            $GLOBALS["ui"]->assign( "daten", $daten );
178
            $GLOBALS["ui"]->assign( "file", "statistik-standard.tpl" );
179
            break;
180
    }
181
    $GLOBALS["ui"]->display( "statistik-page.tpl" );
182
?>