public function addDocumentFile(Document $document, $dir, $name, $type, $size, $documentType) { $documentFile = $this->getOneObjectByArray(DocumentFile::getClass(), array('fileOriginalName' => $name, 'document' => $document)); if ($documentFile == null) { $documentFile = new DocumentFile(); } $documentFile->setFile($dir . $name); $documentFile->setFileMimeType($type); $documentFile->setFileOriginalName($name); $documentFile->setFileSize($size); $documentFile->setHash($this->generateFileUniqueHash()); $documentFile->setDocumentDate($document->getDocumentDate()); $documentFile->setDocumentType($documentType); $this->saveObject($documentFile); $document->setFile($documentFile); $this->saveObject($document); return $documentFile; }
public function setFormValues(Document $document = null) { if ($document) { $this->get('deadlineDays')->setValue($document->getDeadlineDays()); $this->get('delayPercent')->setValue($document->getDelayPercent()); if ($document instanceof Document\PurchaseInvoice) { $this->get('supplierDocNumber')->setValue($document->getSupplierDocumentNumber()); } $this->get('amount')->setValue($document->getAmount()); $this->get('taxAmount')->setValue($document->getTaxAmount()); $this->get('amountTax')->setValue($document->getAmountTax()); $this->get('comment')->setValue($document->getComment()); $this->get('paymentType')->setValue($document->getPaymentType()); if ($document->getDocumentDate()) { $this->get('docDate')->setValue($document->getDocumentDate()->format('d.m.Y')); } if ($document->getCustomer()) { $this->get('customer')->setValue($document->getCustomer()->getId()); } if ($document->getSupplier()) { $this->get('supplier')->setValue($document->getSupplier()->getId()); } if ($document->getVat()) { $this->get('vat')->setValue($document->getVat()->getId()); } } }
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; }
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); }