source: trunk/finance/index.php@ 275

Last change on this file since 275 was 204, checked in by george, 16 years ago
  • Upraveno: Tabulka finance_tariffs přejmenována na FinanceTariff a přepracována její struktura podle aktuálních potřeb. Do tabulky uloženy průběžné výpočty jako sloupec MemberCount či dynamicky přepočítavaný sloupce SpeedMin. Zrušeno přepočítávání ceny a rychlosti dle cenových jednotek a rychlostních jednotek.
  • Přidáno: Sloupec Hire v tabulce Member sloužící pro záznam placení nájmu členům.
  • Property svn:executable set to *
File size: 6.4 KB
Line 
1<?php
2include_once('../global.php');
3
4class FinanceOverview extends Page
5{
6 var $FullTitle = 'Přehled financování sítě';
7 var $ShortTitle = 'Přehled financí';
8
9 function Show()
10 {
11 $Finance = $this->System->Modules['Finance'];
12 $Output = '<table><tr><td valign="top">';
13 if(GetMemberByIP(GetRemoteAddress()) > 0) $Output .= '<a href="user_state.php?old">Vaše finanční operace</a> (Tato volba je také přístupná po přihlášení do systému v uživatelském menu).<br /><br /><br />';
14
15 $Output .= '<a href="monthly_overall.php">Měsíční přehledy</a><br />';
16 $Output .= '<a href="tarify.php">Tarify</a><br />';
17 $Output .= '<a href="zarizeni.php">Výpis zařízení</a><br />';
18 if($this->System->Modules['User']->CheckPermission('Finance', 'SubjectList')) $Output .= '<a href="clenove.php">Seznam členů</a><br />';
19 $Output .= '<a href="spotreba.php">Spotřeba energie</a><br />';
20 $Output .= '<a href="'.$this->System->Config['Web']['RootFolder'].'/aktuality/index.php?category=9">Investice v síti</a><br />';
21 //$Output .= '<a href="faktury/">Faktury za internet</a><br />';
22 //$Output .= '<a href="inventory.php">Výpis skladových zásob</a><br />';
23
24 $Output .= '<br /><strong>Souhrn:</strong><br />';
25
26 $DbResult = $this->Database->query('SELECT * FROM finance_monthly_overall ORDER BY date DESC LIMIT 0,1');
27 $Row = $DbResult->fetch_array();
28 $Output .= 'Platba za internetovou linku ('.$Finance->RealMaxSpeed.'/'.$Finance->RealMaxSpeed.' kbit/s): <strong>'.$Finance->Internet.' Kč</strong><br />';
29
30 $DbResult = $this->Database->query('SELECT COUNT(*) FROM Member');
31 $Row2 = $DbResult->fetch_array();
32 $Output .= 'Počet účastníků: <strong>'.$Row2[0].'</strong><br />';
33
34 $DbResult = $this->Database->query('SELECT SUM(price) FROM network_devices WHERE used=1');
35 $Row4 = $DbResult->fetch_array();
36 $Output .= 'Celková cena zařízení sítě: <strong>'.$Row4[0].' Kč</strong><br />';
37
38 $DbResult = $this->Database->query('SELECT SUM(Cash) as Cash FROM MemberPayment');
39 $Row4 = $DbResult->fetch_array();
40 $Output .= 'Celkem peněz na účtech: <strong>'.$Row4[0].' Kč</strong><br />';
41 $Output .= 'Stanovená cena jedné kWh: <strong>'.$Finance->kWh.' Kč</strong><br />';
42 //echo('Komunitou stanovený poplatek za správu sítě pro jednoho uživatele: <strong>'.$Sprava.' Kč</strong><br />');
43 $DbResult = $this->Database->query('SELECT SUM(FamilyMemberCount) AS Family FROM Member');
44 $Family = $DbResult->fetch_assoc();
45 $Family = $Family['Family'];
46 $TotalFamily = 600;
47 $Output .= 'V připojených domácnostech celkem <strong>'.$Family.'</strong> občanů ze všech <strong>'.$TotalFamily.'</strong> ('.round($Family / $TotalFamily * 100).' %)<br />';
48 $Output .= 'IČ: <strong>75904535</strong><br />'.
49 'DIČ: <strong>CZ8303255884</strong><br />'.
50 'Bankovní účet: <strong>218098370 / 0300</strong><br />'.
51 '<br />';
52
53 $Output .= '</td><td valign="top">';
54
55 $UsersPayment = $Finance->TotalInternetPaid;
56 $NetworkManagement = $Finance->Sprava * $Finance->SpravaUsers;
57 $TotalGain = 0;
58 $TotalExpense = 0;
59 $DbResult = $this->Database->query('SELECT SUM(consumption) FROM network_devices WHERE used=1');
60 $Row = $DbResult->fetch_array();
61 $TotalConsumption = $this->System->Modules['Finance']->W2Kc($Row[0]);
62
63 $Output .= 'Měsíční vyúčtování:<br />
64 <table class="WideTable">
65 <tr><th>Položka</th><th>Cena [Kč]</th></tr>
66 <tr><th colspan="2">Příjmy</th></tr>';
67 $Output .= '<tr><td>Poplatky účastníků za internet</td><td align="right">'.$UsersPayment.'</td></tr>';
68 $TotalGain += $UsersPayment;
69 $Output .= '<tr><td><strong>Celkem</strong></td><td align="right"><strong>'.$TotalGain.'</strong></td></tr>';
70 $Output .= '<tr><th colspan="2">Výdaje</th></tr><tr><td>Internet</td><td align="right">'.$Finance->Internet.'</td></tr>';
71 $TotalExpense += $Finance->Internet;
72 $Output .= '<tr><td>Správa sítě</td><td align="right">'.$NetworkManagement.'</td></tr>';
73 $TotalExpense += $NetworkManagement;
74 $Output .= '<tr><td>Spotřeba energie</td><td align="right">'.$TotalConsumption.'</td></tr>';
75 $TotalExpense += $TotalConsumption;
76 $Output .= '<tr><td><strong>Celkem</strong></td><td align="right"><strong>'.$TotalExpense.'</strong></td></tr>';
77 $Output .= '<tr><td colspan="2">&nbsp;</td></tr>';
78 $Output .= '<tr><td><strong>Rozdíl</strong></td><td align="right"><strong>'.($TotalGain - $TotalExpense).'</strong></td></tr>';
79 $Output .= '<tr><td>Převod do dalšího měsíce</td><td align="right">'.($TotalGain - $TotalExpense).'</td></tr>';
80 $Output .= '</table><br />';
81 /* $DbResult = $this->Database->select('', 'cash', 'id='.$Finance->UserIdNetwork);
82 $Row = $DbResult->fetch_array();
83 $NetworkCash = $Row['cash'];
84 $Output .= 'Stav účtu sítě: '.$NetworkCash.' Kč<br /><a href="clenove.php?show=user&amp;id='.$Finance->UserIdNetwork.'">Výpis účtu</a><br />';*/
85
86 $Output .= '</td></tr></table>';
87
88/*
89echo('Poplatek je odečten z účtu vždy první den v měsíci. Peníze noste nejlépe předem.<br /><br />');
90echo('<strong>Jak se rozpočítávají finance</strong><br />Internet i zařízení sítě se platí za domácnost. Systém výpočtu vychází z topologie sítě. Síť má stromovou topologii přičemž listy stromu jsou jednotliví uživatelé a kořen stromu je linka do internetu. Dosavadní systém je uzpůsoben tak, aby linky, které jsou nejvíce zatíženy, byly nejlépe zaplaceny a mohlo na nich tak být dražší a výkonější zařízení. Nejvytíženější linky se nazývají páteřní. Proto platí každý uživatel podílově zařízení, které vede od něj až ke kořenu stromu, což je v našem případě server Centrála s trvalým internetovým připojením. Pro jednoduchost je síť rozdělena na segmenty. Segment je část sítě, kterou využívá konstantní počet uživatelů. Každý segment je tvořen skupinou zařízení a má svoji celkovou cenu. Každý uživatel je přirozeně napojen na některý ze segmentů. Podíl klienta na zařízení sítě je vypočten jako součet podílů na jednotlivých segmentech směrem ke kořenu. Podíl na segmentu znamená celková cena segmentu podělená počtem uživatelů využívajících daný segment.<br />');
91*/
92 return($Output);
93 }
94}
95
96$System->AddModule(new FinanceOverview());
97$System->Modules['FinanceOverview']->GetOutput();
98
99?>
Note: See TracBrowser for help on using the repository browser.