![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-tax/Model/ResourceModel/Report/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ /** * Tax report collection * * @author Magento Core Team <[email protected]> */ namespace Magento\Tax\Model\ResourceModel\Report; class Collection extends \Magento\Sales\Model\ResourceModel\Report\Collection\AbstractCollection { /** * @var \Zend_Db_Expr */ protected $_periodFormat; /** * Aggregated Data Table * * @var string */ protected $_aggregationTable = 'tax_order_aggregated_created'; /** * @var array */ protected $_selectedColumns = []; /** * @param \Magento\Framework\Data\Collection\EntityFactory $entityFactory * @param \Psr\Log\LoggerInterface $logger * @param \Magento\Framework\Data\Collection\Db\FetchStrategyInterface $fetchStrategy * @param \Magento\Framework\Event\ManagerInterface $eventManager * @param \Magento\Sales\Model\ResourceModel\Report $resource * @param mixed $connection */ public function __construct( \Magento\Framework\Data\Collection\EntityFactory $entityFactory, \Psr\Log\LoggerInterface $logger, \Magento\Framework\Data\Collection\Db\FetchStrategyInterface $fetchStrategy, \Magento\Framework\Event\ManagerInterface $eventManager, \Magento\Sales\Model\ResourceModel\Report $resource, \Magento\Framework\DB\Adapter\AdapterInterface $connection = null ) { $resource->init($this->_aggregationTable); parent::__construct($entityFactory, $logger, $fetchStrategy, $eventManager, $resource, $connection); } /** * @return array */ protected function _getSelectedColumns() { if ('month' == $this->_period) { $this->_periodFormat = $this->getConnection()->getDateFormatSql('period', '%Y-%m'); } elseif ('year' == $this->_period) { $this->_periodFormat = $this->getConnection()->getDateFormatSql('period', '%Y'); } else { $this->_periodFormat = $this->getConnection()->getDateFormatSql('period', '%Y-%m-%d'); } if (!$this->isTotals() && !$this->isSubTotals()) { $this->_selectedColumns = [ 'period' => $this->_periodFormat, 'code' => 'code', 'percent' => 'percent', 'orders_count' => 'SUM(orders_count)', 'tax_base_amount_sum' => 'SUM(tax_base_amount_sum)', ]; } if ($this->isTotals()) { $this->_selectedColumns = $this->getAggregatedColumns(); } if ($this->isSubTotals()) { $this->_selectedColumns = $this->getAggregatedColumns() + ['period' => $this->_periodFormat]; } return $this->_selectedColumns; } /** * Apply custom columns before load * * @return $this */ protected function _beforeLoad() { $this->getSelect()->from($this->getResource()->getMainTable(), $this->_getSelectedColumns()); if (!$this->isTotals() && !$this->isSubTotals()) { $this->getSelect()->group([$this->_periodFormat, 'code', 'percent']); } if ($this->isSubTotals()) { $this->getSelect()->group([$this->_periodFormat]); } return parent::_beforeLoad(); } }