示例#1
0
 public function getBankAutocompleteInvoices(PaginationParameters $paginationParameters)
 {
     return $this->entityManager->getRepository(Document\Invoice::getClass())->getBankAutocompleteInvoices($paginationParameters);
 }
 public function getSalesJson($fromDate, $toDate, $interval)
 {
     $result = array();
     $result[] = array('Year', 'Sales');
     if ($interval == 'days') {
         $interval2 = '+1 day';
     } elseif ($interval == 'months') {
         $interval2 = '+1 month';
     } elseif ($interval == 'years') {
         $interval2 = '+1 year';
     }
     foreach ($this->invoiceService->getDateRange($fromDate, $toDate, $interval2) as $date) {
         $result[] = array($date, $this->entityManager->getRepository(Invoice::getClass())->getAmountByStringDate($date, $interval));
     }
     return $result;
 }
示例#3
0
 private function isInvoicePaid(Invoice $invoice)
 {
     $invoiceSum = $invoice->getAmountTax();
     $paidAmount = 0.0;
     foreach ($invoice->getTransactions() as $transaction) {
         /* @var $transaction \Application\Entity\Transaction */
         $paidAmount += $transaction->getSum();
     }
     $invoice->setPaidAmount($paidAmount);
     if ($paidAmount >= $invoiceSum) {
         $invoice->setPaymentStatus(Invoice::PAYMENT_STATUS_PAID);
     } else {
         $invoice->setPaymentStatus(Invoice::PAYMENT_STATUS_UNPAID);
     }
     $this->saveObject($invoice);
 }
示例#4
0
 public function confirmDocument(Document $invoice, User $user)
 {
     if ($invoice instanceof Invoice) {
         $numberPrefix = null;
         $numberNumber = null;
         $number = $this->settingsService->getNumberByUser($user);
         if ($number) {
             $numberNumber = $number->getStartNumber();
             $numberPrefix = $number->getPrefix();
         }
         $sysNr = $this->entityManager->getRepository(Invoice::getClass())->getNextDocumentNumber();
         $finalNumber = $numberNumber > $sysNr ? $numberNumber : $sysNr;
         $invoice->setDocumentNumber($finalNumber);
         $invoice->setPrefix($numberPrefix);
         $invoice->setFullNumber($numberPrefix . $finalNumber);
     }
     $invoice->setConfirmed(true);
     $invoice->setStatus(Invoice::STATUS_CONFIRMED);
     return $this->saveInvoice($invoice);
 }