Class: Spree::CartUpdationsReport
- Defined in:
- app/reports/spree/cart_updations_report.rb
Defined Under Namespace
Classes: Result
Constant Summary collapse
- DEFAULT_SORTABLE_ATTRIBUTE =
:product_name
- HEADERS =
{ sku: :string, product_name: :string, updations: :integer, quantity_increase: :integer, quantity_decrease: :integer }
- SEARCH_ATTRIBUTES =
{ start_date: :product_updated_from, end_date: :product_updated_to }
- SORTABLE_ATTRIBUTES =
[:product_name, :sku, :updations, :quantity_increase, :quantity_decrease]
Constants inherited from Report
Instance Attribute Summary
Attributes inherited from Report
#current_page, #paginate, #records_per_page, #reporting_period, #search, #sortable_attribute, #sortable_type, #total_records
Instance Method Summary collapse
Methods inherited from Report
#active_record_sort, deeplink, #deeplink_properties, #generate, #get_results, #header_sorted?, #initialize, #name, #paginated?, #pagination_required?, #set_sortable_attributes, #time_scale_columns, #time_scale_columns_to_s, #time_scale_selects, #total_pages
Constructor Details
This class inherits a constructor from Spree::Report
Instance Method Details
#report_query ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'app/reports/spree/cart_updations_report.rb', line 20 def report_query quantity_increase_sql = "CASE WHEN quantity > 0 then spree_cart_events.quantity ELSE 0 END" quantity_decrease_sql = "CASE WHEN quantity < 0 then spree_cart_events.quantity ELSE 0 END" Spree::CartEvent .updated .joins(:variant) .joins(:product) .where(created_at: reporting_period) .group('product_name', 'product_slug', 'spree_variants.sku') .select( 'spree_products.name as product_name', 'spree_products.slug as product_slug', 'spree_variants.sku as sku', 'count(spree_products.name) as updations', "SUM(#{ quantity_increase_sql }) as quantity_increase", "SUM(#{ quantity_decrease_sql }) as quantity_decrease" ) end |