Exemplo n.º 1
0
 public function saveTransactionWithParams(BankTransaction $transaction = null, User $user, array $data)
 {
     if (!$transaction) {
         $transaction = new BankTransaction();
         $transaction->setUser($user);
     }
     if (isset($data['paymentType'])) {
         $transaction->setPaymentType($data['paymentType']);
     }
     if (isset($data['type'])) {
         if (in_array($data['type'], BankTransaction::$types)) {
             $transaction->setType($data['type']);
         } else {
             return null;
         }
     }
     if (isset($data['invoiceId']) && $data['invoiceId'] > 0) {
         $invoice = $this->invoiceService->getInvoiceById($data['invoiceId']);
         if ($invoice) {
             $transaction->setDocument($invoice);
             $transaction->setStatus(BankTransaction::STATUS_ASSOCIATED);
         }
     }
     if (isset($data['paymentDate'])) {
         $date = \DateTime::createFromFormat('d.m.Y', $data['paymentDate']);
         if ($date) {
             $transaction->setPaymentDate($date);
         } else {
             return null;
         }
     }
     if (isset($data['name'])) {
         $transaction->setName($data['name']);
     }
     if (isset($data['referenceNumber'])) {
         $transaction->setReferenceNumber($data['referenceNumber']);
     }
     if (isset($data['sum'])) {
         if (is_numeric($data['sum'])) {
             $transaction->setSum($data['sum']);
         } else {
             return null;
         }
     }
     if (isset($data['description'])) {
         $transaction->setDescription($data['description']);
     }
     if (isset($data['payerIban'])) {
         $transaction->setPayerIban($data['payerIban']);
     }
     return $this->saveTransaction($transaction);
 }
Exemplo n.º 2
0
 public function associateOutgoingTransactionAction()
 {
     if ($this->request->isPost() && $this->request->isXmlHttpRequest()) {
         $transaction = $this->bankService->getTransactionById($this->request->getPost()->transactionId);
         $invoice = $this->invoiceService->getPurchaseInvoiceById($this->request->getPost()->invoiceId);
         if ($transaction && $invoice) {
             /* @var $transaction \Application\Entity\BankTransaction */
             $transaction->setDocument($invoice);
             $transaction->setStatus(BankTransaction::STATUS_ASSOCIATED);
             $this->bankService->saveTransaction($transaction);
             $this->bankService->isDocumentPaid($invoice);
             return new JsonModel(array('OK'));
         }
     }
     return $this->response;
 }
Exemplo n.º 3
0
 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;
 }
Exemplo n.º 4
0
 public function jsonGetUserPurchaseInvoicesAction()
 {
     if ($this->request->isGet() && $this->request->isXmlHttpRequest()) {
         $paginationParameters = new PaginationParameters($this->params('page'), $this->params('sort', 'id'), $this->params('order', 'desc'));
         $paginationParameters->setFilters(array('purcheInvoiceText' => $this->request->getQuery()->query, 'confirmed' => true, 'unpaid' => true));
         $auth = $this->getServiceLocator()->get('zfcuser_auth_service');
         $user = $auth->getIdentity();
         $invoiceArray = array();
         $invoices = $this->invoiceService->getPurchaseInvoices($user, $paginationParameters);
         foreach ($invoices as $invoice) {
             $supplierName = $invoice->getSupplier() ? '_' . str_replace(' ', '_', $invoice->getSupplier()->getName()) : '';
             $number = $invoice->getSupplierDocumentNumber();
             $value = $number . $supplierName;
             $invoiceArray[] = array('value' => htmlspecialchars($value), 'id' => $invoice->getId(), 'num' => $number);
         }
         $json = new JsonModel($invoiceArray);
         return $json;
     }
 }
Exemplo n.º 5
0
    $form = new VatUomForm();
    $form->setTranslator($sm->get('Translator'));
    return $form;
}, 'Application\\Service\\Article' => function (ServiceManager $sm) {
    $service = new ArticleService();
    $service->setSettingsService($sm->get('Application\\Service\\Settings'));
    return $service;
}, 'Application\\Service\\Bank' => function (ServiceManager $sm) {
    $service = new BankService();
    $service->setInvoiceService($sm->get('Application\\Service\\Invoice'));
    return $service;
}, 'Application\\Service\\Customer' => function (ServiceManager $sm) {
    $service = new CustomerService();
    return $service;
}, 'Application\\Service\\Invoice' => function (ServiceManager $sm) {
    $service = new InvoiceService();
    $service->setCustomerService($sm->get('Application\\Service\\Customer'));
    $service->setSettingsService($sm->get('Application\\Service\\Settings'));
    $service->setArticleService($sm->get('Application\\Service\\Article'));
    $service->setCompanyService($sm->get('Application\\Service\\Company'));
    $service->setMailService($sm->get('Application\\Service\\Mail'));
    $service->setSupplierService($sm->get('Application\\Service\\Supplier'));
    return $service;
}, 'Application\\Service\\CreditInvoice' => function (ServiceManager $sm) {
    $service = new CreditInvoiceService();
    return $service;
}, 'Application\\Service\\Company' => function (ServiceManager $sm) {
    $service = new CompanyService();
    return $service;
}, 'Application\\Service\\Language' => function (ServiceManager $sm) {
    $service = new LanguageService();