*/ class Mage_Reports_Model_Resource_Shipping_Collection extends Mage_Sales_Model_Entity_Order_Collection { /** * Set date range * * @param string $from * @param string $to * @return Mage_Reports_Model_Resource_Shipping_Collection */ public function setDateRange($from, $to) { $this->_reset() ->addAttributeToSelect('*') ->addAttributeToFilter('created_at', array('from' => $from, 'to' => $to)) ->addExpressionAttributeToSelect('orders', 'COUNT(DISTINCT({{entity_id}}))', array('entity_id')) ->addAttributeToSelect('shipping_description') ->groupByAttribute('shipping_description') ->getSelect()->order('orders ' . self::SORT_ORDER_DESC); $this->getSelect()->where("table_shipping_description.value <> ''"); return $this; } /** * Set store filter to collection * * @param array $storeIds * @return Mage_Reports_Model_Resource_Shipping_Collection */ public function setStoreIds($storeIds) { if ($storeIds) { $this->addAttributeToFilter('store_id', array('in' => (array)$storeIds)); $this->addExpressionAttributeToSelect('total', 'SUM({{base_shipping_amount}})', array('base_shipping_amount')); } else { $this->addExpressionAttributeToSelect('total', 'SUM({{base_shipping_amount}}*{{base_to_global_rate}})', array('base_shipping_amount', 'base_to_global_rate')); } return $this; } }