Changeset 163 for www/finance


Ignore:
Timestamp:
Feb 20, 2009, 9:53:27 AM (16 years ago)
Author:
george
Message:
  • Opraveno: Další vlna odstraňování odkazů na starou tabulku users.
  • Upraveno: Posílání konfigurace traffic shapingu do rotueru mikrotik po menších blocích.
  • Přidáno: Nová tabulka MemberPayment fungující jako bilance skutečných měsíčních plateb a jako cache některých výpočtů k placení.
  • Přidáno: Zobrazení běhových ladících informací na spodku stránky.
  • Opraveno: V XHTML hlavičce opravena volba kódování.
Location:
www/finance
Files:
1 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • www/finance/clenove.php

    r157 r163  
    2222      $TotalMonth = 0;
    2323      $TotalCash = 0;
    24       $DbResult = $this->Database->query('SELECT *, CONCAT(users.second_name, " ", users.first_name) as Fullname, ((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 ORDER BY fullname');
    25 
    26       //$DbResult = $Database->query("SELECT *,CONCAT(second_name, ' ', first_name) as fullname FROM users WHERE role=2 ORDER BY fullname");
     24      $DbResult = $this->Database->query('SELECT * FROM MemberPayment JOIN Member ON Member.Id=MemberPayment.Member JOIN Subject ON Subject.Id=Member.Subject ORDER BY Name');
    2725      while($Row = $DbResult->fetch_array())
    2826      {
    29         $Monthly = $Row['monthly'] - $Row['plus'];
    30         if($Row['hw'] == 0) $Monthly = '(trvale nepřipojen) '.(-$Row['plus']);
    31         else
    32         {
    33           if($Row['overheads'] == 0) $Monthly = '(dočasně nepřipojen) '.$Monthly;
    34           else
    35           {
    36             if($Row['inet'] == 0) $Monthly = '(bez internetu) '.$Monthly;
    37             else $Monthly = $Monthly;
    38           }
    39         }
    40         //$Row['cash'] = $Row['AdvancesIn'] - $Row['AdvancesOut'] + $Row['Liabilities'] - $Row['Claims'];
     27       //$Row['cash'] = $Row['AdvancesIn'] - $Row['AdvancesOut'] + $Row['Liabilities'] - $Row['Claims'];
    4128        $TotalCash += $Row['Cash'];
    4229        if($Row['Cash'] < 0) $Row['Cash'] = '<span style="color: red;">'.$Row['Cash'].'</span>';
    43         $Tarif = $Finance->Tarify[$Row['inet_tarif_now']]['name'];
    44         $PristiTarif = $Finance->Tarify[$Row['inet_tarif_next']]['name'];
    45         $Output .= '<tr><td><a href="user_state.php?id='.$Row['id'].'">'.$Row['Fullname'].'</a></td>';
     30        $Tarif = $Finance->Tarify[$Row['InternetTariffCurrentMonth']]['name'];
     31        $PristiTarif = $Finance->Tarify[$Row['InternetTariffNextMonth']]['name'];
     32        $Output .= '<tr><td><a href="user_state.php?id='.$Row['Id'].'">'.$Row['Name'].'</a></td>';
    4633        //<td align="right">'.$Row['network_device'].'</td>
    47         $Output .= '<td align="right">'.$Monthly.'</td><td align="right">'.$Row['Cash'].'</td><td align="center">'.$Tarif.'</td><td align="center">'.$PristiTarif.'</td><td>'.$Row['notice'].'&nbsp;</td></tr>';
    48         $TotalDevice += $Row['network_device'];
    49         $TotalMonth += ($Row['monthly'] - $Row['plus']);
     34        $Output .= '<td align="right">'.$Row['MonthlyTotal'].'</td><td align="right">'.$Row['Cash'].'</td><td align="center">'.$Tarif.'</td><td align="center">'.$PristiTarif.'</td></tr>';
     35        $TotalDevice += $Row['NetworkDevice'];
     36        $TotalMonth += ($Row['MonthlyTotal']);
    5037      }
    5138      $Output .= '<tr><td><strong>Celkem</strong></td>';
  • www/finance/finance.php

    r157 r163  
    3434    } 
    3535
    36     if($Period == 0) $Column = 'now'; else $Column = 'next';
     36    if($Period == 0) $Column = 'Current'; else $Column = 'Next';
    3737    $TotalUserCount = 0;
    3838    $TotalUnits = 0;
     
    4141    foreach($Tarify as $Index => $Tarif)
    4242    {
    43       $DbResult = $this->Database->select('users', 'COUNT(*)', 'inet_tarif_'.$Column.'='.$Index.' AND inet=1 AND role=2');
    44       $Row = $DbResult->fetch_array();
     43      $DbResult = $this->Database->select('Member', 'COUNT(*)', 'InternetTariff'.$Column.'Month='.$Index);
     44      $Row = $DbResult->fetch_row();
    4545      $Tarify[$Index]['user_count'] = $Row[0];   
    4646      switch($Tarif['group_id'])
     
    108108    $this->BaseTariffPrice = $Row['BaseTariffPrice'];
    109109
    110     $DbResult = $this->Database->query("SELECT COUNT(*) FROM users WHERE inet=1 AND role=2");
    111     $Row = $DbResult->fetch_array();
     110    $DbResult = $this->Database->query('SELECT COUNT(*) FROM Member');
     111    $Row = $DbResult->fetch_row();
    112112    $this->InternetUsers = $Row[0];
    113  
    114     $DbResult = $this->Database->query("SELECT COUNT(*) FROM users WHERE overheads=1 AND role=2");
    115     $SpravaUsers = $DbResult->fetch_array();
    116     $this->SpravaUsers = $SpravaUsers[0];
     113   
     114    $this->SpravaUsers = $this->InternetUsers;
    117115    $DbResult = $this->Database->query("SELECT SUM(consumption) FROM network_segments");
    118116    $TotalConsumption = $DbResult->fetch_array();
    119117    $this->TotalConsumption = $TotalConsumption[0];
    120118
    121     $DbResult = $this->Database->query("SELECT SUM(`monthly`) as `internet`, SUM(`monthly` - `plus`) as `real` FROM users WHERE role=2");
    122     $Row = $DbResult->fetch_array();
    123     $this->TotalInternetPaid = $Row['internet'];
    124     $this->TotalPaid = $Row['real'];
     119    $DbResult = $this->Database->query('SELECT SUM(`MonthlyInternet`) AS `MonthlyInternet`, SUM(`MonthlyTotal`) AS `MonthlyTotal` FROM MemberPayment');
     120    $Row = $DbResult->fetch_assoc();
     121    $this->TotalInternetPaid = $Row['MonthlyInternet'];
     122    $this->TotalPaid = $Row['MonthlyTotal'];
    125123 
    126124    $this->RecalculateTariffs($Period);
  • www/finance/index.php

    r157 r163  
    1212        $Output = '<table><tr><td valign="top">';
    1313
    14     if(GetMemberByIP(GetRemoteAddress()) > 0) $Output .= '<a href="user_state_ip.php">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    if(GetMemberByIP(GetRemoteAddress()) > 0) $Output .= '<a href="user_state_ip.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 />';
    1515       
    1616    $Output .= '<a href="monthly_overall.php">Měsíční přehledy</a><br />';
     
    2929    $Output .= 'Platba za internetovou linku ('.$Finance->RealMaxSpeed.'/'.$Finance->RealMaxSpeed.' kbit/s): <strong>'.$Finance->Internet.' Kč</strong><br />';
    3030
    31     $DbResult = $this->Database->query("SELECT COUNT(*) FROM users WHERE role=2");
     31    $DbResult = $this->Database->query('SELECT COUNT(*) FROM Member');
    3232    $Row2 = $DbResult->fetch_array();
    3333    $Output .= 'Počet účastníků: <strong>'.$Row2[0].'</strong><br />';
    3434
    35     $DbResult = $this->Database->query("SELECT SUM(price) FROM network_devices WHERE used=1");
     35    $DbResult = $this->Database->query('SELECT SUM(price) FROM network_devices WHERE used=1');
    3636    $Row4 = $DbResult->fetch_array();
    3737    $Output .= 'Celková cena zařízení sítě: <strong>'.$Row4[0].' Kč</strong><br />';
    3838
    39     $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');
     39    $DbResult = $this->Database->query('SELECT SUM(Cash) as Cash FROM MemberPayment');
    4040    $Row4 = $DbResult->fetch_array();
    4141    $Output .= 'Celkem peněz na účtech: <strong>'.$Row4[0].' Kč</strong><br />';
    4242    $Output .= 'Stanovená cena jedné kWh: <strong>'.$Finance->kWh.' Kč</strong><br />';
    4343    //echo('Komunitou stanovený poplatek za správu sítě pro jednoho uživatele: <strong>'.$Sprava.' Kč</strong><br />');
    44     $DbResult = $this->Database->query("SELECT SUM(family) FROM users WHERE role=2");
    45     $Row5 = $DbResult->fetch_array();
     44    $DbResult = $this->Database->query('SELECT SUM(FamilyMemberCount) AS Family FROM Member');
     45    $Family = $DbResult->fetch_assoc();
     46        $Family = $Family['Family'];
    4647    $TotalFamily = 600;
    47     $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 />';
     48    $Output .= 'V připojených domácnostech celkem <strong>'.$Family.'</strong> občanů ze všech <strong>'.$TotalFamily.'</strong> ('.round($Family / $TotalFamily * 100).' %)<br />';
    4849    $Output .= 'IČ: <strong>75904535</strong><br />'.
    4950    'DIČ: <strong>CZ8303255884</strong><br />'.
     
    7980    $Output .= '<tr><td>Převod do dalšího měsíce</td><td align="right">'.($TotalGain - $TotalExpense).'</td></tr>';
    8081    $Output .= '</table><br />';
    81     $DbResult = $this->Database->select('users', 'cash', 'id='.$Finance->UserIdNetwork);
     82    /* $DbResult = $this->Database->select('', 'cash', 'id='.$Finance->UserIdNetwork);
    8283    $Row = $DbResult->fetch_array();
    8384    $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    $Output .= 'Stav účtu sítě: '.$NetworkCash.' Kč<br /><a href="clenove.php?show=user&amp;id='.$Finance->UserIdNetwork.'">Výpis účtu</a><br />';*/
    8586
    8687    $Output .= '</td></tr></table>';
  • www/finance/prepocet.php

    r157 r163  
    1111    $Finance = &$this->System->Modules['Finance'];
    1212    $Output = 'Aktualizuju finance uživatelů...<br />';
    13     $DbResult = $this->Database->query('SELECT * FROM users WHERE role=2 OR id='.$Finance->UserIdNetwork);  // Select network members only
    14     while($Row = $DbResult->fetch_array())
    15     {
    16       $DbResult2 = $this->Database->query('SELECT SUM(money) FROM finance_operations WHERE user='.$Row['id']);  // Account state
    17       $Row3 = $DbResult2->fetch_array();
    18       $DbResult2 = $this->Database->query('SELECT SUM(consumption) FROM network_devices WHERE user='.$Row['id'].' AND used=1');
    19       $Row4 = $DbResult2->fetch_array();
    20 
    21       $Price = 0;
     13        $this->Database->query('TRUNCATE TABLE MemberPayment');
     14    $DbResult = $this->Database->query('SELECT * FROM Member');
     15    while($Member = $DbResult->fetch_assoc())
     16    {
     17      $DbResult2 = $this->Database->query('SELECT ((SELECT COALESCE(SUM(Value), 0) FROM FinanceCashFlow WHERE Subject='.$Member['Subject'].') + (SELECT COALESCE(SUM(-Value), 0) FROM FinanceClaimsLiabilities WHERE Subject='.$Member['Subject'].')) as Cash');
     18      $Cash = $DbResult2->fetch_row();
     19          $Cash = $Cash[0];
     20         
     21      $DbResult2 = $this->Database->query('SELECT SUM(consumption) FROM network_devices WHERE user='.$Member['Id'].' AND used=1');
     22      $ConsumptionPlus = $DbResult2->fetch_row();
     23          $ConsumptionPlus = $ConsumptionPlus[0];
     24
     25      $NetworkDevice = 0;
    2226      $Consumption = 0;
    23       $ID = $Row['network_segment'];
     27      $ID = $Member['NetworkSegment'];
    2428      while($ID != 0)
    2529      {
    2630        $DbResult2 = $this->Database->query('SELECT * FROM network_segments WHERE id='.$ID);
    27         $Row2 = $DbResult2->fetch_array();
    28         if(!(($Row['inet_hw'] == 0) and ($ID == $Finance->InternetSegmentId)))
    29         {
    30           $Price += $Row2['price'] / $Row2['users'];
    31           $Consumption += $Row2['consumption'] / $Row2['users_overheads'];
    32         }
     31        $Device = $DbResult2->fetch_assoc();
     32        $NetworkDevice += $Device['price'] / $Device['users'];
     33        $Consumption += $Device['consumption'] / $Device['users_overheads'];
    3334        //echo($ID.' '.$InternetSegment.' '.$InternetSegmentId.' '.$Row['inet_hw'].' '.$Price.'<br>');
    34         $ID = $Row2['parent'];
    35       }
     35        $ID = $Device['parent'];
     36      }
     37         
    3638      $Monthly = 0;
    37       $MonthlyInet = $Finance->Tarify[$Row['inet_tarif_next']]['price'];
    38       if($Row['inet'] == 1) $Monthly += $MonthlyInet;
     39      $MonthlyInet = $Finance->Tarify[$Member['InternetTariffNextMonth']]['price'];
     40      //if($Row['inet'] == 1)
     41          $Monthly += $MonthlyInet;
     42      $Monthly -= $ConsumptionPlus;
    3943      //if($Row['overheads'] == 1) $Monthly += $Sprava; // + W2Kc($Consumption);
    4044      //echo($Row['fullname'].' '.$Row['inet'].' '.$Monthly.'<br>');
    4145      $Monthly = round($Monthly);
    4246      //echo($Row['fullname'].' '.$Row['inet'].' '.$Monthly.'<br>');
    43       $this->Database->update('users', 'id='.$Row['id'], array('network_device' => $Price, 'monthly_inet' => $MonthlyInet, 'monthly' => $Monthly, 'consumption' => $this->System->Modules['Finance']->W2Kc($Consumption), 'cash' => $Row3[0], 'plus' => $Finance->W2Kc($Row4[0])));
     47               
     48      $this->Database->insert('MemberPayment', array('Member' => $Member['Id'], 'NetworkDevice' => $NetworkDevice, 'MonthlyInternet' => $MonthlyInet, 'MonthlyTotal' => $Monthly, 'MonthlyConsumption' => $this->System->Modules['Finance']->W2Kc($Consumption), 'Cash' => $Cash, 'MonthlyPlus' => $Finance->W2Kc($ConsumptionPlus)));
    4449    }
    4550        return($Output);
     
    5257    $this->Database->query('UPDATE network_segments SET users = 0, users_overheads = 0');               // Vynulovat počty uživatelů
    5358    $DbResult = $this->Database->query('SELECT * FROM network_segments');
    54     while($Row = $DbResult->fetch_array())
     59    while($NetworkSegment = $DbResult->fetch_array())
    5560    {
    5661      //echo('Segment '.$Row['name'].'<br>');
    57       $DbResult2 = $this->Database->query('SELECT users FROM network_segments WHERE id='.$Row['id']);
     62      $DbResult2 = $this->Database->query('SELECT users FROM network_segments WHERE id='.$NetworkSegment['id']);
    5863      $RowP = $DbResult2->fetch_array();
    59       $DbResult2 = $this->Database->query("SELECT users_overheads FROM network_segments WHERE id=".$Row['id']);
     64      $DbResult2 = $this->Database->query('SELECT users_overheads FROM network_segments WHERE id='.$NetworkSegment['id']);
    6065      $RowP2 = $DbResult2->fetch_array();
    6166
    62       $DbResult2 = $this->Database->query("SELECT SUM(price) as Price, SUM(consumption) as Consumption FROM network_devices WHERE segment=".$Row['id']." AND used=1");
     67      $DbResult2 = $this->Database->query('SELECT SUM(price) as Price, SUM(consumption) as Consumption FROM network_devices WHERE segment='.$NetworkSegment['id'].' AND used=1');
    6368      $Row2 = $DbResult2->fetch_array();
    64       $DbResult2 = $this->Database->query("SELECT COUNT(*) FROM users WHERE network_segment=".$Row['id'].' AND hw=1');
     69      $DbResult2 = $this->Database->query('SELECT COUNT(*) FROM Member WHERE NetworkSegment='.$NetworkSegment['id']);
    6570      $Row3 = $DbResult2->fetch_array();
    66       $DbResult2 = $this->Database->query("SELECT COUNT(*) FROM users WHERE network_segment=".$Row['id'].' AND overheads=1');
     71      $DbResult2 = $this->Database->query('SELECT COUNT(*) FROM Member WHERE NetworkSegment='.$NetworkSegment['id']);
    6772      $Row5 = $DbResult2->fetch_array();
    68       $ID = $Row['parent'];
     73      $ID = $NetworkSegment['parent'];
    6974      while($ID != 0)
    7075      {
    7176        //echo($ID.', ');
    72         $DbResult2 = $this->Database->query("SELECT * FROM network_segments WHERE id=".$ID);
     77        $DbResult2 = $this->Database->query('SELECT * FROM network_segments WHERE id='.$ID);
    7378        $Row4 = $DbResult2->fetch_array();
    7479        $this->Database->update('network_segments', 'id='.$Row4['id'], array('users' => ($Row4['users'] + $Row3[0]), 'users_overheads' => ($Row4['users_overheads'] + $Row5[0])));
     
    7681      }
    7782      //echo('Pocet '.$Row3[0].','.$Row['hosts'].'<br>');
    78       $this->Database->update('network_segments', 'id='.$Row['id'], array('price' => $Row2['Price'], 'users' => ($Row3[0] + $RowP['users']), 'consumption' => $Row2['Consumption'], 'users_overheads' => ($Row5[0] + $RowP2['users_overheads'])));
     83      $this->Database->update('network_segments', 'id='.$NetworkSegment['id'], array('price' => $Row2['Price'], 'users' => ($Row3[0] + $RowP['users']), 'consumption' => $Row2['Consumption'], 'users_overheads' => ($Row5[0] + $RowP2['users_overheads'])));
    7984    }
    8085
    8186    // Zkorigovat segment Internet
    82     $DbResult = $this->Database->select('users', 'COUNT(*)', 'inet_hw=1');
     87    $DbResult = $this->Database->select('Member', 'COUNT(*)');
    8388    $Row = $DbResult->fetch_array();
    84     $DbResult = $this->Database->select('users', 'COUNT(*)', 'inet=1');
    85     $Row2 = $DbResult->fetch_array();
    86     $DbResult = $this->Database->update('network_segments','id='.$Finance->InternetSegmentId, array('users' => $Row[0], 'users_overheads' => $Row2[0]));
     89    $DbResult = $this->Database->update('network_segments','id='.$Finance->InternetSegmentId, array('users' => $Row[0], 'users_overheads' => $Row[0]));
    8790    return($Output);
    8891  }
    8992
    90   function CreateMonthlyOverallBill()
     93  /*function CreateMonthlyOverallBill()
    9194  {
    9295    global $Sprava, $SpravaUsers, $TotalConsumption, $UserIdNetwork, $Internet, $TotalInternetPaid;
     
    117120    }
    118121        return($Output);
    119   }
    120 
     122  }*/
    121123
    122124  function Show()
     
    149151    $Row = $DbResult->fetch_array();
    150152    $Output .= "), Segmenty(".$Row[0];
    151     $DbResult = $this->Database->query("SELECT SUM(network_device) FROM users");
     153    $DbResult = $this->Database->query('SELECT SUM(NetworkDevice) FROM MemberPayment');
    152154    $Row5 = $DbResult->fetch_array();
    153155    $Output .= "), Uživatelé(".$Row5[0].")<br>\n";
    154     $DbResult = $this->Database->query("SELECT SUM(cash) FROM users WHERE role=2");
     156    $DbResult = $this->Database->query("SELECT SUM(Cash) FROM MemberPayment");
    155157    $Row6 = $DbResult->fetch_array();
    156158    $Output .= "Stav pokladny: Uživatelé(".$Row6[0].")";
     
    178180
    179181      // Generuj účetní položky
    180       $DbResult = $this->Database->query("SELECT *, CONCAT(second_name, ' ', first_name) as fullname FROM users WHERE (role = 2)");
     182      $DbResult = $this->Database->query('SELECT * FROM MemberPayment JOIN Member ON Member.Id=MemberPayment.Member JOIN Subject ON Subject.Id=Member.Subject');
    181183      while($User = $DbResult->fetch_array())
    182184      {
    183         $Output .= $User['fullname'].': ';
     185        $Output .= $User['Name'].': ';
    184186        $MonthCount = $BillingPeriodMonthCount[$User['BillingPeriod']];
    185         if(($MonthCount > 0) and (((($Mesic - 1) % 12) % $MonthCount) == 0) and ($User['inet_tarif_now'] != 6))
     187        if(($MonthCount > 0) and (((($Mesic - 1) % 12) % $MonthCount) == 0) and ($User['InternetTariffCurrentMonth'] != 6))
    186188        {
    187189          //echo($Mesic.'%'.$MonthCount.'='.($Mesic % $MonthCount).' ');
    188           $PayPerMonth = -($User['plus'] - $User['monthly']);
     190          $PayPerMonth = $User['MonthlyTotal'];
    189191          $PayPerPeriod = $PayPerMonth * $MonthCount;
    190192          $PeriodFrom = mktime(0, 0, 0, date('n'), 1, date('Y'));
     
    193195          $Output .= $TimePeriodText.': '.$PayPerMonth." * ".$MonthCount." = ".$PayPerPeriod."<br />\n";
    194196          $BillCode = $Finance->GetNextDocumentLineNumber(6); // Faktury vydané
    195           $BillId = $this->System->Modules['Bill']->CreateBill($User['id'], array(array('Description' => 'Připojení k síti', 'Price' => $PayPerPeriod, 'Quantity' => 1)), $PeriodFrom, $PeriodTo, $BillCode);
    196           $this->Database->insert('finance_operations', array('money' => -$PayPerPeriod, 'user' => $User['id'], 'type' => 2, 'date' => 'NOW()', 'comment' => 'Připojení k síti za období '.$TimePeriodText, 'group' => 1, 'bill_id' => $BillId, 'BillCode' => $BillCode));
     197          $BillId = $this->System->Modules['Bill']->CreateBill($User['Id'], array(array('Description' => 'Připojení k síti', 'Price' => $PayPerPeriod, 'Quantity' => 1)), $PeriodFrom, $PeriodTo, $BillCode);
     198          $this->Database->insert('finance_operations', array('money' => -$PayPerPeriod, 'user' => $User['Id'], 'type' => 2, 'date' => 'NOW()', 'comment' => 'Připojení k síti za období '.$TimePeriodText, 'group' => 1, 'bill_id' => $BillId, 'BillCode' => $BillCode));
    197199        } else $Output .= ("<br />");
    198200      }
     
    220222      }
    221223
    222       $Output .= "Měním aktuální tarify uživatelů...<br>\n";
    223 
    224224      // Update tariff user selection
    225       $DbResult = $this->Database->query("SELECT id,inet_tarif_next FROM users WHERE role=2");
     225      $Output .= "Měním aktuální tarify uživatelů...<br />\n";
     226      $DbResult = $this->Database->query('SELECT Id, InternetTariffNextMonth FROM Member');
    226227      while($User = $DbResult->fetch_array())
    227228      {
    228         $this->Database->update('users', 'id='.$User['id'], array('inet_tarif_now' => $User['inet_tarif_next']));
     229        $this->Database->update('Member', 'Id='.$User['Id'], array('InternetTariffCurrentMonth' => $User['InternetTariffNextMonth']));
    229230      }
    230231
  • www/finance/user_state.php

    r157 r163  
    1010  function Show()
    1111  {
    12     global $Tarify, $Sprava;
     12    if(array_key_exists('old', $_GET))
     13        {
     14          $UserId = GetMemberByIP(GetRemoteAddress());
     15        } else
     16    if(array_key_exists('userid', $_GET))
     17        {
     18          if(!$this->System->Modules['User']->CheckPermission('Finance', 'Manage')) return('Nemáte oprávnění');
     19          $UserId = $_GET['userid'];
     20        } else
     21        {
     22          if(!$this->System->Modules['User']->CheckPermission('Finance', 'DisplaySubjectState')) return('Nemáte oprávnění');
     23      $UserId = $this->System->Modules['User']->User['Id'];
     24        }
    1325
    14     if(!$this->System->Modules['User']->CheckPermission('Finance', 'DisplaySubjectState')) return('Nemáte oprávnění');
    15 
     26        $Finance = &$this->System->Modules['Finance'];
    1627        $this->System->Modules['Finance']->RecalculateTariffs(1);
    17     $UserId = $this->System->Modules['User']->User['Id'];
    1828    if(!array_key_exists('show', $_GET)) $_GET['show'] = '';
    1929    $DbResult = $this->Database->query('SELECT Id FROM Subject WHERE Id=(SELECT Subject FROM Member WHERE Id=(SELECT Member FROM User WHERE Id='.$UserId.'))');
    2030    $Subject = $DbResult->fetch_assoc();
    21     $DbResult = $this->Database->query('SELECT InternetTariffCurrentMonth FROM Member WHERE Id=(SELECT Member FROM User WHERE Id='.$UserId.')');
     31    $DbResult = $this->Database->query('SELECT * FROM Member JOIN MemberPayment ON MemberPayment.Member=Member.Id WHERE Member.Id=(SELECT Member FROM User WHERE User.Id='.$UserId.')');
    2232    $Member = $DbResult->fetch_assoc();
    23     $TarifName = $Tarify[$Member['InternetTariffCurrentMonth']]['name'];
    24         $TarifPrice = $Tarify[$Member['InternetTariffCurrentMonth']]['price'];
     33    $TarifName = $Finance->Tarify[$Member['InternetTariffCurrentMonth']]['name'];
     34        $TarifPrice = $Finance->Tarify[$Member['InternetTariffCurrentMonth']]['price'];
    2535    $Output = '<table width="100%" border="0" cellspacing="0" cellpadding="3"><tr><td valign="top">';
    2636
     
    5363    $Output .= 'Variabilní symbol pro platby: <strong>'.$Subject['Id'].'</strong><br><br>';
    5464
    55     $DbResult = $this->Database->query('SELECT SUM(consumption) AS Total FROM network_devices WHERE user='.$UserId.' AND used=1');
    56         $ConsumptionBonus = $DbResult->fetch_assoc();
    57         $ConsumptionBonus = $this->System->Modules['Finance']->W2Kc($ConsumptionBonus['Total']);
    58 
    5965        $Total = 0;
    6066    $Output .= 'Rozpis měsíčního poplatku:<br><table border="1" cellspacing="0" cellpadding="3">'.
     
    6268      '<tr><td>Internet - tarif '.$TarifName.'</td><td>'.$TarifPrice.'</td></tr>';
    6369        $Total += $TarifPrice;
    64         if($ConsumptionBonus != 0)
    65       $Output .= '<tr><td>Příjem za spotřebu</td><td>'.(-$ConsumptionBonus)  .'</td></tr>';
    66         $Total += -$ConsumptionBonus;
     70        if($Member['MonthlyPlus'] != 0)
     71      $Output .= '<tr><td>Příjem za spotřebu</td><td>'.(-$Member['MonthlyPlus'])  .'</td></tr>';
     72        $Total += -$Member['MonthlyPlus'];
    6773    $Output .= '<tr><td><strong>Celkem</strong></td><td><strong>'.$Total.'</strong></td></tr></table>';
    6874    //echo('Tarif pro příští měsíc: '.$Tarify[$Row2['inet_tarif_next']]['name'].'<br><br>');
    6975    $Output .= '<br />';
    7076   
    71     if($ConsumptionBonus != 0)
     77    if($Member['MonthlyPlus'] != 0)
    7278    {
    7379          $Output .= 'Měsíční příjem za spotřebu zařízení umístěných u uživatele:<br>';
Note: See TracChangeset for help on using the changeset viewer.