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; }
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); }
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); }