Changeset 133 for www/finance/bills.php


Ignore:
Timestamp:
Jan 10, 2009, 4:29:49 PM (16 years ago)
Author:
george
Message:
  • Přidáno: Ukládání pdf faktůr jako soubory namísto databáze. * Přidáno: Používání číslených řad pro identifikaci dokumentů.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • www/finance/bills.php

    r129 r133  
    55{
    66  var $SpecificSymbol = 1; // počítačová sít
     7  var $FileFolder = 'doklady';
     8  var $FileNamePrefix = 'doklad-';
    79
    810  function GenerateBill($BillId)
     
    3032      'Zděchov 208<br>'.
    3133      '75607 Zděchov<br>'.
    32       'IČO: 75904535<br>'.
     34      'IČ: 75904535<br>'.
    3335      'DIČ: CZ8303255884<br>'.
    3436      'Účet: 218098370 / 0300<br>'.
    35       'Nejsem plátce DPH<br>'.
     37      'Neplátce DPH<br>'.
    3638      '</td><td valign="top">'.
    3739      '<strong>Odběratel:</strong><br>'.
     
    4648      '<tr><td width="50%" valign="top">'.
    4749      '<strong>Platební podmínky:</strong><br>'.
    48       'Číslo dokladu: '.$Bill['id'].'<br>'.
     50      'Číslo dokladu: '.$Bill['BillCode'].'<br>'.
    4951      'Variabilní symbol: '.$User['id'].'<br>'.
    5052      'Specifický symbol: '.$this->SpecificSymbol.'<br>'.
     
    5456      '<br>'.
    5557      'Datum vystavení: '.HumanDate($Bill['time_create']).'<br>'.
    56       'Datum splatnosti: '.HumanDate($Bill['time_due']).'<br>'.
    57       'Fakturované období: '.HumanDate($Bill['time_from']).' - '.HumanDate($Bill['time_to']).'<br>'.
    58       '</td></tr>'.
     58      'Datum zdanitel. plnění: '.HumanDate($Bill['time_create']).'<br>'.
     59      'Datum splatnosti: '.HumanDate($Bill['time_due']).'<br>';
     60      if(($Bill['time_from'] != '0000-00-00 00:00:00') and ($Bill['time_to'] != '0000-00-00 00:00:00'))
     61        $Output .= 'Fakturované období: '.HumanDate($Bill['time_from']).' - '.HumanDate($Bill['time_to']).'<br>';
     62      $Output .= '</td></tr>'.
    5963      '<tr><td colspan="2">'.
    6064      '<hr>'.
     
    6771    foreach($Dodavka as $Polozka)
    6872    {
    69       $Output .= '<tr><td>'.$Polozka['description'].'</td><td align="right">'.$Polozka['quantity'].'</td><td align="right">'.$Polozka['price'].' Kč</td><td align="right">'.($Polozka['quantity'] * $Polozka['price']).' Kč</td></tr>';
     73      $Output .= '<tr><td>'.$Polozka['description'].'</td><td align="right">'.$Polozka['quantity'].'</td><td align="right">'.$Polozka['price'].'&nbsp;Kč</td><td align="right">'.($Polozka['quantity'] * $Polozka['price']).'&nbsp;Kč</td></tr>';
    7074      $Total += ($Polozka['quantity'] * $Polozka['price']);
    7175    }
    72     $Output .= '<tr><th colspan="3" align="left">Celkem</th><th align="right">'.$Total.' Kč</th></tr>';
     76    $Output .= '<tr><th colspan="3" align="left">Celkem</th><th align="right">'.$Total.'&nbsp;Kč</th></tr>';
    7377    $Output .= '</table>'.
    7478      '</td></tr>'.
     
    7983  }
    8084
    81   function CreateBill($UserId, $Items, $TimeFrom, $TimeTo)
    82   {
    83     global $Database;
    84  
    85     $Database->insert('finance_bills', array('time_create' => TimeToMysqlDateTime(time()), 'user_id' => $UserId, 'time_from' => TimeToMysqlDateTime($TimeFrom), 'time_to' => TimeToMysqlDateTime($TimeTo), 'time_due' => TimeToMysqlDateTime($TimeFrom + 15*24*3600)));
     85  function CreateBill($UserId, $Items, $TimeFrom, $TimeTo, $BillCode)
     86  {
     87    global $Database;
     88 
     89    $Database->insert('finance_bills', array('time_create' => TimeToMysqlDateTime(time()), 'user_id' => $UserId, 'time_from' => TimeToMysqlDateTime($TimeFrom), 'time_to' => TimeToMysqlDateTime($TimeTo), 'time_due' => TimeToMysqlDateTime($TimeFrom + 15*24*3600), 'BillCode' => $BillCode));
    8690    $BillId = $Database->insert_id;
    8791    foreach($Items as $Item)
     
    9296    $PdfData = $this->HtmlToPdf($this->GenerateBill($BillId));
    9397    //echo($PdfData);
    94     $Database->query('UPDATE finance_bills SET pdf = 0x'.bin2hex($PdfData).' WHERE id='.$BillId);
     98    file_put_contents($this->FileFolder.'/'.$this->FileNamePrefix.$BillId.'.pdf', $PdfData);
     99    //$Database->query('UPDATE finance_bills SET pdf = 0x'.bin2hex($PdfData).' WHERE id='.$BillId);
    95100    return($BillId);
    96101  }
     
    101106
    102107    $PdfData = $this->HtmlToPdf($this->GenerateBill($BillId));
    103     $Database->query('UPDATE finance_bills SET pdf = 0x'.bin2hex($PdfData).' WHERE id='.$BillId);
     108    //echo($this->FileFolder.'/'.$this->FileNamePrefix.$BillId.'.pdf');
     109    echo(file_put_contents($this->FileFolder.'/'.$this->FileNamePrefix.$BillId.'.pdf', $PdfData));
     110    //$Database->query('UPDATE finance_bills SET pdf = 0x'.bin2hex($PdfData).' WHERE id='.$BillId);
    104111  }
    105112
     
    108115    global $Database;
    109116   
    110     $DbResult = $Database->select('finance_bills', 'pdf', 'id='.$BillId);
    111     if($DbResult->num_rows == 1)
    112     {
    113       $DbRow = $DbResult->fetch_array();
     117    //$DbResult = $Database->select('finance_bills', 'pdf', 'id='.$BillId);
     118    //if($DbResult->num_rows == 1)
     119    //{
     120    //  $DbRow = $DbResult->fetch_array();
     121    $FileName = $this->FileFolder.'/'.$this->FileNamePrefix.$BillId.'.pdf';
     122    if(file_exists($FileName))
     123    {
    114124      Header('Content-Type: application/pdf');
    115       Header('Content-Disposition: attachment; filename="faktura-'.$BillId.'.pdf"');
    116       echo($DbRow['pdf']);
     125      Header('Content-Disposition: attachment; filename="'.$this->FileNamePrefix.$BillId.'.pdf"');
     126      echo(file_get_contents($FileName));
    117127    } else echo('Faktura nenalezena');
    118128  }
     
    123133   
    124134    Header('Content-Type: application/pdf');
    125     Header('Content-Disposition: attachment; filename="faktura-'.$BillId.'.pdf"');
     135    Header('Content-Disposition: attachment; filename="'.$this->FileNamePrefix.$BillId.'.pdf"');
    126136    echo($this->HtmlToPdf($this->GenerateBill($BillId)));
     137  }
     138
     139  function HasPDFFile($BillId)
     140  {
     141    return(file_exists($this->FileFolder.'/'.$this->FileNamePrefix.$BillId.'.pdf'));
    127142  }
    128143
Note: See TracChangeset for help on using the changeset viewer.