source: www/finance/index.php@ 152

Last change on this file since 152 was 152, checked in by george, 16 years ago
  • Upraveno: Další soubory přepracované do nového systému zobrazování.
  • Property svn:executable set to *
File size: 6.5 KB
Line 
1<?php
2include_once('../global.php');
3include_once('include.php');
4
5class FinanceOverview extends Page
6{
7 var $FullTitle = 'Přehled financování sítě';
8 var $ShortTitle = 'Přehled financí';
9
10 function Show()
11 {
12 global $Config, $RealMaxSpeed, $Internet, $InternetUsers, $kWh, $TotalInternetPaid, $SpravaUsers, $Sprava, $UserIdNetwork;
13
14 $Output = '<table><tr><td valign="top">';
15
16 $Output .= '<table><tr><td width="30%">';
17 if(GetMemberByIP(GetRemoteAddress()) > 0) $Output .= '<a href="user_state.php">Vaše finanční operace</a><br /><br /><br />';
18
19 $Output .= '<a href="monthly_overall.php">Měsíční přehledy</a><br />';
20 $Output .= '<a href="tarify.php">Tarify</a><br />';
21 $Output .= '<a href="zarizeni.php">Výpis zařízení</a><br />';
22 if($this->System->Modules['User']->CheckPermission('Finance', 'SubjectList')) $Output .= '<a href="clenove.php">Seznam členů</a><br />';
23 $Output .= '<a href="spotreba.php">Spotřeba energie</a><br />';
24 $Output .= '<a href="'.$Config['Web']['RootFolder'].'/aktuality/index.php?category=9">Investice v síti</a><br />';
25 //$Output .= '<a href="faktury/">Faktury za internet</a><br />';
26 //$Output .= '<a href="inventory.php">Výpis skladových zásob</a><br />';
27 $Output .= '</td><td width="50%">';
28
29 $Output .= '</td></tr></table><br />';
30
31 $Output .= '<strong>Souhrn:</strong><br />';
32
33 $DbResult = $this->Database->query("SELECT * FROM finance_monthly_overall ORDER BY date DESC LIMIT 0,1");
34 $Row = $DbResult->fetch_array();
35 $Output .= 'Platba za internetovou linku ('.$RealMaxSpeed.'/'.$RealMaxSpeed.' kbit/s): <strong>'.$Internet.' Kč</strong><br />';
36
37 $DbResult = $this->Database->query("SELECT COUNT(*) FROM users WHERE role=2");
38 $Row2 = $DbResult->fetch_array();
39 $Output .= 'Počet účastníků: <strong>'.$Row2[0].'</strong><br />';
40
41 $DbResult = $this->Database->query("SELECT SUM(price) FROM network_devices WHERE used=1");
42 $Row4 = $DbResult->fetch_array();
43 $Output .= 'Celková cena zařízení sítě: <strong>'.$Row4[0].' Kč</strong><br />';
44
45 $DbResult = $this->Database->query('SELECT SUM((SELECT COALESCE(SUM(Value), 0) FROM FinanceCashFlow WHERE Subject=users.id) + (SELECT COALESCE(SUM(-Value), 0) FROM FinanceClaimsLiabilities WHERE Subject=users.id)) as Cash FROM users WHERE role=2');
46 $Row4 = $DbResult->fetch_array();
47 $Output .= 'Celkem peněz na účtech: <strong>'.$Row4[0].' Kč</strong><br />';
48 $Output .= 'Stanovená cena jedné kWh: <strong>'.$kWh.' Kč</strong><br />';
49 //echo('Komunitou stanovený poplatek za správu sítě pro jednoho uživatele: <strong>'.$Sprava.' Kč</strong><br />');
50 $DbResult = $this->Database->query("SELECT SUM(family) FROM users WHERE role=2");
51 $Row5 = $DbResult->fetch_array();
52 $TotalFamily = 600;
53 $Output .= 'V připojených domácnostech celkem <strong>'.$Row5[0].'</strong> občanů ze všech <strong>'.$TotalFamily.'</strong> ('.round($Row5[0] / $TotalFamily * 100).' %)<br />';
54 $Output .= 'IČ: <strong>75904535</strong><br />'.
55 'DIČ: <strong>CZ8303255884</strong><br />'.
56 'Bankovní účet: <strong>218098370 / 0300</strong><br />'.
57 '<br />';
58
59 $Output .= '</td><td valign="top">';
60
61 $UsersPayment = $TotalInternetPaid;
62 $NetworkManagement = $Sprava * $SpravaUsers;
63 $TotalGain = 0;
64 $TotalExpense = 0;
65 $DbResult = $this->Database->query("SELECT SUM(consumption) FROM network_devices WHERE used=1");
66 $Row = $DbResult->fetch_array();
67 $TotalConsumption = W2Kc($Row[0]);
68
69 $Output .= 'Měsíční vyúčtování:<br />
70 <table border="1" cellspacing="0" cellpadding="3">
71 <tr><th>Položka</th><th>Cena [Kč]</th></tr>
72 <tr><th colspan="2">Příjmy</th></tr>';
73 $Output .= '<tr><td>Poplatky účastníků za internet</td><td align="right">'.$UsersPayment.'</td></tr>';
74 $TotalGain += $UsersPayment;
75 $Output .= '<tr><td><strong>Celkem</strong></td><td align="right"><strong>'.$TotalGain.'</strong></td></tr>';
76 $Output .= '<tr><th colspan="2">Výdaje</th></tr><tr><td>Internet</td><td align="right">'.$Internet.'</td></tr>';
77 $TotalExpense += $Internet;
78 $Output .= '<tr><td>Správa sítě</td><td align="right">'.$NetworkManagement.'</td></tr>';
79 $TotalExpense += $NetworkManagement;
80 $Output .= '<tr><td>Spotřeba energie</td><td align="right">'.$TotalConsumption.'</td></tr>';
81 $TotalExpense += $TotalConsumption;
82 $Output .= '<tr><td><strong>Celkem</strong></td><td align="right"><strong>'.$TotalExpense.'</strong></td></tr>';
83 $Output .= '<tr><td colspan="2">&nbsp;</td></tr>';
84 $Output .= '<tr><td><strong>Rozdíl</strong></td><td align="right"><strong>'.($TotalGain - $TotalExpense).'</strong></td></tr>';
85 $Output .= '<tr><td>Převod do dalšího měsíce</td><td align="right">'.($TotalGain - $TotalExpense).'</td></tr>';
86 $Output .= '</table><br />';
87 $DbResult = $this->Database->select('users', 'cash', 'id='.$UserIdNetwork);
88 $Row = $DbResult->fetch_array();
89 $NetworkCash = $Row['cash'];
90 $Output .= 'Stav účtu sítě: '.$NetworkCash.' Kč<br /><a href="clenove.php?show=user&amp;id='.$UserIdNetwork.'">Výpis účtu</a><br />';
91
92 $Output .= '</td></tr></table>';
93
94/*
95echo('Poplatek je odečten z účtu vždy první den v měsíci. Peníze noste nejlépe předem.<br /><br />');
96echo('<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 />');
97*/
98 return($Output);
99 }
100}
101
102$System->AddModule(new FinanceOverview());
103$System->Modules['FinanceOverview']->GetOutput();
104
105?>
Note: See TracBrowser for help on using the repository browser.