| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- class DashboardController < ApplicationController
- def index
- @open_cash = false
- if current_user.usertype == 'A'
- # obtener ingresos por punto de venta
- @incomings = ActionController::Base.helpers.sanitize(CashRegistersMove.incomings_per_period('day'))
- # obtener ranking de productos y prepararlo para mandarlo al view
- @product_ranking = Array.new
- most_selled_products = Product.most_selled_products('week', current_user)
- most_selled_products.each do |product, quantity|
- obj = {:product => product, :quantity => quantity}
- @product_ranking << obj
- end
- @product_ranking = ActionController::Base.helpers.sanitize(@product_ranking.to_json)
- elsif current_user.usertype == 'G'
- # obtener ranking de vendedores y prepararlo para mandarlo al view
- @sellers_ranking = Array.new
- sellers = Seller.get_ranking('week', current_user.pointsale)
- sellers.each do |seller, total|
- obj = {:seller => seller, :total => total}
- @sellers_ranking << obj
- end
- @sellers_ranking = ActionController::Base.helpers.sanitize(@sellers_ranking.to_json)
- # obtener ranking de productos y prepararlo para mandarlo al view
- @product_ranking = Array.new
- most_selled_products = Product.most_selled_products('week', current_user)
- most_selled_products.each do |product, quantity|
- obj = {:product => product, :quantity => quantity}
- @product_ranking << obj
- end
- @product_ranking = ActionController::Base.helpers.sanitize(@product_ranking.to_json)
- elsif current_user.usertype == 'C'
- opened_cash_user = OpenCashRegister.where(:user_id => current_user.id, :status => 0).any?
- @open_cash = true if opened_cash_user == false
- end
- end
- def get_chart_data_for_dashboard
- if params[:chart] == 'incomings'
- puts "incomings"
- incomings = CashRegistersMove.incomings_per_period(params[:period])
- @incomings = ActionController::Base.helpers.sanitize(incomings)
- render :text => @incomings
- elsif params[:chart] == 'products'
- puts "products"
- @product_ranking = Array.new
- most_selled_products = Product.most_selled_products(params[:period], current_user)
- most_selled_products.each do |product, quantity|
- obj = {:product => product, :quantity => quantity}
- @product_ranking << obj
- end
- @product_ranking = ActionController::Base.helpers.sanitize(@product_ranking.to_json)
- render :text => @product_ranking
- elsif params[:chart] == 'sellers'
- puts "sellers"
- @sellers_ranking = Array.new
- sellers = Seller.get_ranking(params[:period], current_user.pointsale)
- sellers.each do |seller, total|
- obj = {:seller => seller, :total => total}
- @sellers_ranking << obj
- end
- @sellers_ranking = ActionController::Base.helpers.sanitize(@sellers_ranking.to_json)
- render :text => @sellers_ranking
- end
- end
- end
|