52 $sourceTable = $this->
getTable(
'sales_order');
57 if ($from !==
null || $to !==
null) {
69 'period' => $periodExpr,
70 'store_id' =>
'store_id',
71 'order_status' =>
'status',
72 'orders_count' => new \Zend_Db_Expr(
'COUNT(total_refunded)'),
73 'refunded' => new \Zend_Db_Expr(
'SUM(base_total_refunded * base_to_global_rate)'),
74 'online_refunded' => new \Zend_Db_Expr(
'SUM(base_total_online_refunded * base_to_global_rate)'),
75 'offline_refunded' => new \Zend_Db_Expr(
'SUM(base_total_offline_refunded * base_to_global_rate)'),
86 'base_total_refunded > ?',
90 if ($subSelect !==
null) {
94 $select->group([$periodExpr,
'store_id',
'status']);
95 $select->having(
'orders_count > 0');
101 'period' =>
'period',
102 'store_id' => new \Zend_Db_Expr(
'0'),
103 'order_status' =>
'order_status',
104 'orders_count' => new \Zend_Db_Expr(
'SUM(orders_count)'),
105 'refunded' => new \Zend_Db_Expr(
'SUM(refunded)'),
106 'online_refunded' => new \Zend_Db_Expr(
'SUM(online_refunded)'),
107 'offline_refunded' => new \Zend_Db_Expr(
'SUM(offline_refunded)'),
112 if ($subSelect !==
null) {
116 $select->group([
'period',
'order_status']);
120 }
catch (\Exception $e) {
140 $sourceTable = $this->
getTable(
'sales_creditmemo');
141 $orderTable = $this->
getTable(
'sales_order');
146 if ($from !==
null || $to !==
null) {
150 [
'order_id' =>
'entity_id'],
164 [
'source_table' => $sourceTable],
165 'source_table.created_at',
172 'period' => $periodExpr,
173 'store_id' =>
'order_table.store_id',
174 'order_status' =>
'order_table.status',
175 'orders_count' => new \Zend_Db_Expr(
'COUNT(order_table.entity_id)'),
176 'refunded' => new \Zend_Db_Expr(
177 'SUM(order_table.base_total_refunded * order_table.base_to_global_rate)' 179 'online_refunded' => new \Zend_Db_Expr(
180 'SUM(order_table.base_total_online_refunded * order_table.base_to_global_rate)' 182 'offline_refunded' => new \Zend_Db_Expr(
183 'SUM(order_table.base_total_offline_refunded * order_table.base_to_global_rate)' 189 [
'source_table' => $sourceTable],
192 [
'order_table' => $orderTable],
193 'source_table.order_id = order_table.entity_id AND ' .
$connection->quoteInto(
194 'order_table.state != ?',
196 ) .
' AND order_table.base_total_refunded > 0',
201 $filterSubSelect->from(
202 [
'filter_source_table' => $sourceTable],
205 'filter_source_table.order_id = source_table.order_id' 208 if ($subSelect !==
null) {
213 unset($filterSubSelect);
215 $select->group([$periodExpr,
'order_table.store_id',
'order_table.status']);
216 $select->having(
'orders_count > 0');
223 'period' =>
'period',
224 'store_id' => new \Zend_Db_Expr(
'0'),
225 'order_status' =>
'order_status',
226 'orders_count' => new \Zend_Db_Expr(
'SUM(orders_count)'),
227 'refunded' => new \Zend_Db_Expr(
'SUM(refunded)'),
228 'online_refunded' => new \Zend_Db_Expr(
'SUM(online_refunded)'),
229 'offline_refunded' => new \Zend_Db_Expr(
'SUM(offline_refunded)'),
234 if ($subSelect !==
null) {
238 $select->group([
'period',
'order_status']);
241 }
catch (\Exception $e) {
_setResource($connections, $tables=null)
_makeConditionFromDateRangeSelect($select, $periodColumn, $connection=null)
getStoreTZOffsetQuery( $table, $column, $from=null, $to=null, $store=null, $connection=null)
_clearTableByDateRange( $table, $from=null, $to=null, $subSelect=null, $doNotUseTruncate=false, $connection=null)
_setFlagData($code, $value=null)
_aggregateByRefundCreatedAt($from, $to)
aggregate($from=null, $to=null)
_getTableDateRangeSelect( $table, $column, $whereColumn, $from=null, $to=null, $additionalWhere=[], $alias='date_range_table')
_aggregateByOrderCreatedAt($from, $to)
_getTableDateRangeRelatedSelect( $table, $relatedTable, $joinCondition, $column, $whereColumn, $from=null, $to=null, $additionalWhere=[], $alias='date_range_table', $relatedAlias='related_date_range_table')