Changeset 480 for trunk


Ignore:
Timestamp:
Feb 5, 2013, 10:25:54 PM (12 years ago)
Author:
chronos
Message:
  • Přidáno: Zobrazení měsíčních plateb v tabulce pro kontrolu před jejich generováním.
Location:
trunk
Files:
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • trunk

    • Property svn:ignore
      •  

        old new  
        99.buildpath
        1010.settings
         11nbproject
  • trunk/finance/manage.php

    r479 r480  
    5555        $Output .= $this->System->Modules['Finance']->RecalculateMemberPayment();
    5656        break;
    57       case 'MonthlyPayment':
     57      case 'ShowMonthlyPayment':
    5858        $Output = $this->ShowMonthlyPayment();
     59        break;
     60      case 'ProcessMonthlyPayment':
     61        $Output = $this->ProcessMonthlyPayment();
    5962        break;
    6063      case 'GenerateBills':
     
    6972        $Output .= '<a href="?Operation=Bills">Správa dokladů</a><br />';
    7073        $Output .= '<a href="?Operation=Recalculate">Přepočet financí</a><br />';
    71         $Output .= '<a href="?Operation=MonthlyPayment">Měsíční vyúčtování</a><br />';
     74        $Output .= '<a href="?Operation=ShowMonthlyPayment">Měsíční vyúčtování</a><br />';
    7275        $Output .= '<a href="clenove.php">Seznam členů</a><br />';
    7376        $Output .= '<a href="zivnost.php">Živnost</a><br />';
     
    288291
    289292  function ShowMonthlyPayment()
     293  {
     294    if(!$this->System->Modules['User']->CheckPermission('Finance', 'Manage')) return('Nemáte oprávnění');
     295    $SQL = 'SELECT Member.*, MemberPayment.MonthlyTotal AS Monthly, '.
     296      'MemberPayment.Cash AS Cash, '.
     297      '(SELECT GROUP_CONCAT(Service.Name) FROM ServiceCustomerRel LEFT JOIN Service '.
     298      'ON Service.Id=ServiceCustomerRel.Service WHERE ServiceCustomerRel.Customer=Member.Id AND ServiceCustomerRel.Period=1) AS ServicesNextMonth, '.
     299      'UNIX_TIMESTAMP(Member.BillingPeriodLastDate) AS LastDate, Subject.Name AS SubjectName, '.
     300      'FinanceBillingPeriod.Name AS BillingPeriodName '.
     301      'FROM MemberPayment JOIN Member ON Member.Id=MemberPayment.Member JOIN Subject '.
     302      'ON Subject.Id=Member.Subject LEFT JOIN FinanceBillingPeriod ON '.
     303      'FinanceBillingPeriod.Id=Member.BillingPeriodNext';
     304   
     305    $DbResult = $this->Database->query('SELECT COUNT(*) FROM ('.$SQL.') AS T');
     306    $DbRow = $DbResult->fetch_row();
     307    $PageList = GetPageList($DbRow[0]);   
     308
     309    $Output = $PageList['Output'];
     310    $Output .= '<table class="WideTable" style="font-size: small;">';
     311   
     312    $TableColumns = array(
     313      array('Name' => 'SubjectName', 'Title' => 'Jméno'),
     314      array('Name' => 'Monthly', 'Title' => 'Platba'),
     315      array('Name' => 'Cash', 'Title' => 'Kredit'),
     316      array('Name' => 'LastDate', 'Title' => 'Poslední fakturace'),
     317      array('Name' => 'ServicesNextMonth', 'Title' => 'Služby'),
     318      array('Name' => 'BillingPeriodName', 'Title' => 'Perioda'),
     319    );
     320    $Order = GetOrderTableHeader($TableColumns, 'SubjectName', 0);
     321    $Output .= $Order['Output'];
     322
     323    $Query = $SQL.' '.$Order['SQL'].$PageList['SQLLimit'];
     324   
     325    $DbResult = $this->Database->query($Query);
     326    while($Row = $DbResult->fetch_assoc())
     327    {
     328      $Output .= '<tr>'.
     329      '<td>'.$Row['SubjectName'].'</td>'.
     330      '<td>'.$Row['Monthly'].'</td>'.
     331      '<td>'.$Row['Cash'].'</td>'.
     332      '<td>'.date('j.n.Y', $Row['LastDate']).'</td>'.
     333      '<td>'.$Row['ServicesNextMonth'].'</td>'.
     334      '<td>'.$Row['BillingPeriodName'].'</td>'.
     335      '</tr>';
     336    }
     337    $Output .= '</table>';
     338    $Output .= $PageList['Output'];
     339    $Output .= '<a href="?Operation=ProcessMonthlyPayment">Generovat faktury</a>';
     340    return($Output);
     341  }
     342 
     343  function ProcessMonthlyPayment()
    290344  {
    291345    if(!$this->System->Modules['User']->CheckPermission('Finance', 'Manage')) return('Nemáte oprávnění');
  • trunk/form_classes.php

    r479 r480  
    6262    ),
    6363  ),
     64  'ServiceCustomerRel' => array(
     65    'Title' => 'Vztahy služba - zákazník',
     66    'Table' => 'ServiceCustomerRel',
     67    'Items' => array(
     68      'Service' => array('Type' => 'TService', 'Caption' => 'Služba', 'Default' => ''),       
     69      'Customer' => array('Type' => 'TMember', 'Caption' => 'Zákazník', 'Default' => ''),       
     70      'Period' => array('Type' => 'Integer', 'Caption' => 'Období', 'Default' => ''),       
     71    ),
     72  ),
    6473  'Work' => array(
    6574    'Title' => 'Práce',
     
    266275      'Price' => array('Type' => 'Integer', 'Caption' => 'Cena', 'Default' => '0', 'Suffix' => 'Kč'),
    267276      'CustomerCount' => array('Type' => 'Integer', 'Caption' => 'Počet zákazníků', 'Default' => ''),
    268       'ReplaceId' => array('Type' => 'TService', 'Caption' => 'Nahradit', 'Default' => '', 'Null' => true),
    269277      'Public' => array('Type' => 'Boolean', 'Caption' => 'Veřejné', 'Default' => ''),
    270278      'InternetSpeedMin' => array('Type' => 'Integer', 'Caption' => 'Min. rychlost internetu', 'Default' => '0', 'Suffix' => 'kbit/s'),
     
    275283      'Storage' => array('Type' => 'Integer', 'Caption' => 'Úložiště', 'Default' => '0', 'Suffix' => 'GB'),
    276284      'CPUCount' => array('Type' => 'Integer', 'Caption' => 'Počet jader', 'Default' => '0', 'Suffix' => ''),
     285      'ReplaceId' => array('Type' => 'TService', 'Caption' => 'Nahradit', 'Default' => '', 'Null' => true),
    277286    ),
    278287  ),
     
    296305      'Devices' => array('Type' => 'TDeviceList', 'Caption' => 'Registrovaná zařízení', 'Default' => ''),
    297306      'UserRel' => array('Type' => 'TUserCustomerRelListCustomer', 'Caption' => 'Přiřazení uživatelé', 'Default' => ''),
     307      'ServiceRel' => array('Type' => 'TServiceCustomerRelListCustomer', 'Caption' => 'Placené služby', 'Default' => ''),
    298308    ),
    299309  ),
     
    637647    ),
    638648  ),
     649  'ServiceCategory' => array(
     650    'Title' => 'Kategorie služeb',
     651    'Table' => 'ServiceCategory',
     652    'Items' => array(
     653      'Name' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => ''),
     654      'Items' => array('Type' => 'TServiceListServiceCategory', 'Caption' => 'Služby', 'Default' => ''),
     655    ),
     656  ),
    639657);
    640658
     
    946964    'Filter' => '1',
    947965  ),
     966  'TServiceCustomerRelListCustomer' => array(
     967    'Type' => 'ManyToOne',
     968    'Table' => 'ServiceCustomerRel',
     969    'Id' => 'Id',
     970    'Ref' => 'Customer',
     971    'Filter' => '1',
     972  ),
    948973  'TPermissionUserAssignmentListUser' => array(
    949974    'Type' => 'ManyToOne',
     
    972997    'Id' => 'Id',
    973998    'Ref' => 'AssignedGroup',
     999    'Filter' => '1',
     1000  ),
     1001  'TServiceListServiceCategory' => array(
     1002    'Type' => 'ManyToOne',
     1003    'Table' => 'Service',
     1004    'Id' => 'Id',
     1005    'Ref' => 'Category',
    9741006    'Filter' => '1',
    9751007  ),
Note: See TracChangeset for help on using the changeset viewer.