Example #1
0
 /**
  * @param int $ticketId
  * @return array
  * @throws NotFoundException
  */
 public function getTicketData($ticketId)
 {
     /**
      * @var Logger $logger
      */
     $expenseDao = new Expenses($this->getServiceLocator(), '\\ArrayObject');
     $expenseItemDao = new ExpenseItem($this->getServiceLocator(), '\\ArrayObject');
     $expenseTransactionDao = new ExpenseTransactions($this->getServiceLocator(), '\\ArrayObject');
     $logger = $this->getServiceLocator()->get('ActionLogger');
     $expenseData = $expenseDao->getTicketData($ticketId);
     if (!$expenseData) {
         throw new NotFoundException('Purchase order not found.');
     }
     if (!empty($expenseData['expected_completion_date_start']) && !empty($expenseData['expected_completion_date_end'])) {
         $expectedCompletionDate = date(Constants::GLOBAL_DATE_FORMAT, strtotime($expenseData['expected_completion_date_start'])) . ' - ' . date(Constants::GLOBAL_DATE_FORMAT, strtotime($expenseData['expected_completion_date_end']));
     } else {
         $expectedCompletionDate = NULL;
     }
     $result = [];
     $logger->setOutputFormat(Logger::OUTPUT_HTML);
     if ($expenseData) {
         $result['ticket'] = ['id' => $expenseData['id'], 'ticket_creator_id' => $expenseData['creator_id'], 'ticket_creator' => $expenseData['ticket_creator'], 'currency_id' => $expenseData['currency_id'], 'currency' => $expenseData['currency'], 'date_created' => $expenseData['date_created'], 'title' => $expenseData['title'], 'purpose' => $expenseData['purpose'], 'ticket_manager' => $expenseData['manager_id'], 'limit' => $expenseData['limit'], 'expected_completion_date' => $expectedCompletionDate, 'ticket_balance' => $expenseData['ticket_balance'], 'deposit_balance' => $expenseData['deposit_balance'], 'item_balance' => $expenseData['item_balance'], 'transaction_balance' => $expenseData['transaction_balance'], 'status' => $expenseData['status'], 'finance_status' => $expenseData['finance_status'], 'budget' => $expenseData['budget_id'], 'comment' => $logger->get(Logger::MODULE_EXPENSE, $expenseData['id'])];
     }
     $result['itemCount'] = $expenseItemDao->getCount(['expense_id' => $ticketId])['count'];
     $result['transactionCount'] = $expenseTransactionDao->getCount(['expense_id' => $ticketId, 'status' => Expense::STATUS_NORMAL])['count'];
     return $result;
 }