Esempio n. 1
0
 /**
  * @return array
  */
 public function toOptionArray()
 {
     $statuses = $this->_stateStatuses ? $this->_orderConfig->getStateStatuses($this->_stateStatuses) : $this->_orderConfig->getStatuses();
     $options = [['value' => '', 'label' => __(self::UNDEFINED_OPTION_LABEL)]];
     foreach ($statuses as $code => $label) {
         $options[] = ['value' => $code, 'label' => $label];
     }
     return $options;
 }
Esempio n. 2
0
 /**
  * @return array
  */
 public function toOptionArray()
 {
     $statuses = $this->_stateStatuses ? $this->_orderConfig->getStateStatuses($this->_stateStatuses) : $this->_orderConfig->getStatuses();
     $options = [['value' => '', 'label' => __('-- Please Select --')]];
     foreach ($statuses as $code => $label) {
         $options[] = ['value' => $code, 'label' => $label];
     }
     return $options;
 }
Esempio n. 3
0
 /**
  * Calculate lifitime sales
  *
  * @param int $isFilter
  * @return $this
  */
 public function calculateSales($isFilter = 0)
 {
     $statuses = $this->_orderConfig->getStateStatuses(\Magento\Sales\Model\Order::STATE_CANCELED);
     if (empty($statuses)) {
         $statuses = [0];
     }
     $adapter = $this->getConnection();
     if ($this->_scopeConfig->getValue('sales/dashboard/use_aggregated_data', \Magento\Store\Model\ScopeInterface::SCOPE_STORE)) {
         $this->setMainTable('sales_order_aggregated_created');
         $this->removeAllFieldsFromSelect();
         $averageExpr = $adapter->getCheckSql('SUM(main_table.orders_count) > 0', 'SUM(main_table.total_revenue_amount)/SUM(main_table.orders_count)', 0);
         $this->getSelect()->columns(['lifetime' => 'SUM(main_table.total_revenue_amount)', 'average' => $averageExpr]);
         if (!$isFilter) {
             $this->addFieldToFilter('store_id', ['eq' => $this->_storeManager->getStore(\Magento\Store\Model\Store::ADMIN_CODE)->getId()]);
         }
         $this->getSelect()->where('main_table.order_status NOT IN(?)', $statuses);
     } else {
         $this->setMainTable('sales_order');
         $this->removeAllFieldsFromSelect();
         $expr = $this->_getSalesAmountExpression();
         if ($isFilter == 0) {
             $expr = '(' . $expr . ') * main_table.base_to_global_rate';
         }
         $this->getSelect()->columns(['lifetime' => "SUM({$expr})", 'average' => "AVG({$expr})"])->where('main_table.status NOT IN(?)', $statuses)->where('main_table.state NOT IN(?)', [\Magento\Sales\Model\Order::STATE_NEW, \Magento\Sales\Model\Order::STATE_PENDING_PAYMENT]);
     }
     return $this;
 }