예제 #1
0
 public function isDocumentPaid(Document $document)
 {
     $amount = $document->getAmountTax();
     $paidAmount = 0;
     $payments = $this->entityManager->getRepository(BankTransaction::getClass())->findBy(array('document' => $document));
     foreach ($payments as $payment) {
         $paidAmount += $payment->getSum();
     }
     if ($document instanceof Document\PurchaseInvoice) {
         $paidAmount = abs($paidAmount);
     }
     if ($paidAmount >= $amount) {
         $document->setPaymentStatus(Document::PAYMENT_STATUS_PAID);
     } else {
         $document->setPaymentStatus(Document::PAYMENT_STATUS_UNPAID);
     }
     $this->invoiceService->saveInvoice($document);
     return $paidAmount >= $amount;
 }