diff --git a/app/controllers/api/order_reserve/order_reservation_controller.rb b/app/controllers/api/order_reserve/order_reservation_controller.rb index 32c2192e..380e72bb 100644 --- a/app/controllers/api/order_reserve/order_reservation_controller.rb +++ b/app/controllers/api/order_reserve/order_reservation_controller.rb @@ -96,9 +96,6 @@ class Api::OrderReserve::OrderReservationController < Api::ApiController result = { :status => true, :order_reservation_id => order_reservation_id, :message => "Order reservation is already existed!" } end end - - # puts "!!! send doemal ::" - # puts result Rails.logger.debug "send status to doemal" Rails.logger.debug result diff --git a/app/controllers/api/orders_controller.rb b/app/controllers/api/orders_controller.rb index 411fca2c..ee35aeef 100755 --- a/app/controllers/api/orders_controller.rb +++ b/app/controllers/api/orders_controller.rb @@ -46,9 +46,6 @@ class Api::OrdersController < Api::ApiController @tax_profile = TaxProfile.where("lower(group_type)='cashier'") # end - # @shop = Shop.first - puts "Hello world" - puts @shop.to_json return @shop.to_json end @@ -150,7 +147,6 @@ class Api::OrdersController < Api::ApiController table = DiningFacility.find(table_id) if table booking = table.get_current_booking - # puts booking if booking if !booking.sale_id.nil? if booking.sale.sale_status == "completed" || booking.sale.sale_status == "new" diff --git a/app/controllers/api/survey_controller.rb b/app/controllers/api/survey_controller.rb index 1c5e81a2..4736ba13 100644 --- a/app/controllers/api/survey_controller.rb +++ b/app/controllers/api/survey_controller.rb @@ -15,10 +15,6 @@ class Api::SurveyController < Api::ApiController def create dining_facility = DiningFacility.find(params[:id]) - # cashier_zone = CashierTerminalByZone.find_by_zone_id(dining_facility.zone_id) - # shift_by_terminal = ShiftSale.find_by_cashier_terminal_id_and_shift_closed_at(cashier_zone.cashier_terminal_id,nil) - # puts params.to_json - # set cashier open_cashier = Employee.where("shop_code='#{@shop.shop_code}' and role = 'cashier' AND token_session <> ''") current_shift = ShiftSale.current_shift(@shop.shop_code) current_shift_user =Employee.find_by_id(current_shift.employee_id) diff --git a/app/controllers/base_report_controller.rb b/app/controllers/base_report_controller.rb index 8cb3d00d..691ece34 100755 --- a/app/controllers/base_report_controller.rb +++ b/app/controllers/base_report_controller.rb @@ -26,61 +26,51 @@ class BaseReportController < ActionController::Base } def get_date_range_from_params - period_type = params[:period_type] - period = params[:period] - from = params[:from] - to = params[:to] - day_ref = Time.now.utc.getlocal + period_type = params[:period_type] + period = params[:period] - if from.present? && to.present? + if params[:from].present? && params[:to].present? + from = Time.parse(params[:from]) + to = Time.parse(params[:to]) + else + case period.to_i + when PERIOD["today"] + from = Time.now + to = Time.now + when PERIOD["yesterday"] + from = 1.day.ago + to = 1.day.ago + when PERIOD["this_week"] + from = Time.now.beginning_of_week + to = Time.now + when PERIOD["last_week"] + from = 1.week.ago.beginning_of_week + to = 1.week.ago.end_of_week + when PERIOD["last_7"] + from = 7.day.ago + to = Time.now + when PERIOD["this_month"] + from = Time.now.beginning_of_month + to = Time.now + when PERIOD["last_month"] + from = 1.month.ago.beginning_of_month + to = 1.month.ago.end_of_month + when PERIOD["last_30"] + from = 30.day.ago + to = Time.now + when PERIOD["this_year"] + from = Time.now.beginning_of_year + to = Time.now + when PERIOD["last_year"] + from = 1.year.ago.beginning_of_year + to = 1.year.ago.end_of_year + end + end - f_date = DateTime.parse(from) - t_date = DateTime.parse(to) - f_time = Time.mktime(f_date.year,f_date.month,f_date.day,f_date.hour,f_date.min,f_date.sec) - t_time = Time.mktime(t_date.year,t_date.month,t_date.day,t_date.hour,t_date.min,t_date.sec) - from = f_time.beginning_of_day.utc.getlocal - to = t_time.end_of_day.utc.getlocal - - else - - case period.to_i - when PERIOD["today"] - - from = day_ref.beginning_of_day.utc - to = day_ref.end_of_day.utc - - when PERIOD["yesterday"] - from = (day_ref - 1.day).beginning_of_day.utc - to = (day_ref - 1.day).end_of_day.utc - - when PERIOD["this_week"] - from = Time.now.beginning_of_week.utc - to = Time.now.utc - when PERIOD["last_week"] - from = (day_ref - 7.day).beginning_of_week.utc - to = (day_ref - 7.day).end_of_week.utc - when PERIOD["last_7"] - from = (day_ref - 7.day).utc - to = Time.now.utc - when PERIOD["this_month"] - from = Time.now.beginning_of_month.utc - to = Time.now.utc - when PERIOD["last_month"] - from = (day_ref - 1.month).beginning_of_month.utc - to = (day_ref - 1.month).end_of_month.utc - when PERIOD["last_30"] - from = (day_ref - 30.day).utc - to = Time.now.utc - when PERIOD["this_year"] - from = Time.now.beginning_of_year.utc - to = Time.now.utc - when PERIOD["last_year"] - from = (day_ref - 1.year).beginning_of_year.utc - to = (day_ref - 1.year).end_of_year.utc - end - end - - return from, to + from = from.beginning_of_day + to = to.end_of_day + + return from, to end def check_user diff --git a/app/controllers/concerns/license_verification.rb b/app/controllers/concerns/license_verification.rb index e28cc28a..a29eaff5 100644 --- a/app/controllers/concerns/license_verification.rb +++ b/app/controllers/concerns/license_verification.rb @@ -56,7 +56,7 @@ module LicenseVerification elsif (flag == 2) flash[:notice] = 'Expiring! Please, License extend...' else - puts "RUN SAY BYAR" + Rails.logger.info "License successed" end end diff --git a/app/controllers/concerns/login_verification.rb b/app/controllers/concerns/login_verification.rb index 5ae86b18..d6e32250 100755 --- a/app/controllers/concerns/login_verification.rb +++ b/app/controllers/concerns/login_verification.rb @@ -18,7 +18,7 @@ module LoginVerification def current_shop begin - shop_code ='263' + shop_code ='262' @shop =Shop.find_by_shop_code(shop_code) return @shop rescue @@ -42,7 +42,7 @@ module LoginVerification #Shop Name in Navbor def shop_detail - shop_code ='263' + shop_code ='262' @shop = Shop.find_by_shop_code(shop_code) return @shop end @@ -91,7 +91,7 @@ module LoginVerification #@current_user = User.find_by(api_key: token) #Rails.logger.debug "token - " + token.to_s - @user =Employee.authenticate_by_token(token,current_shop) + @user = Employee.authenticate_by_token(token,current_shop) if @user return true #Maybe log - login? diff --git a/app/controllers/concerns/number_formattable.rb b/app/controllers/concerns/number_formattable.rb index a27c551c..a7b97732 100644 --- a/app/controllers/concerns/number_formattable.rb +++ b/app/controllers/concerns/number_formattable.rb @@ -3,40 +3,43 @@ module NumberFormattable def precision @precision ||= Lookup.number_formats.find { |f| f.name.parameterize.underscore == 'precision'} - if @precision - @precision.value.to_i - else + if @precision.nil? @print_settings ||= PrintSetting.get_precision_delimiter if @print_settings - @print_settings.precision.to_i + @precision = OpenStruct.new(value: @print_settings.precision.to_i) + else + @precision = OpenStruct.new(value: 2) end - end || 2 + end + @precison_value ||= @precision.value.to_i end def delimiter @delimiter ||= Lookup.number_formats.find { |f| f.name.parameterize.underscore == 'delimiter'} - if @delimiter - @delimiter_value ||= @delimiter.value.to_s.gsub(/\\u(\h{4})/) { |m| [$1].pack("H*").unpack("n*").pack("U*") } - else + if @delimiter.nil? @print_settings ||= PrintSetting.get_precision_delimiter - if @print_settings - "," if @print_settings.delimiter + if @print_settings && @print_settings.delimiter + @delimiter = OpenStruct.new(value: ",") + else + @delimiter = OpenStruct.new(value: "") end - end || "" + end + @delimiter_value ||= @delimiter.value.to_s.gsub(/\\u(\h{4})/) { |m| [$1].pack("H*").unpack("n*").pack("U*") } end def strip_insignificant_zeros @strip_insignificant_zeros ||= Lookup.number_formats.find { |f| f.name.parameterize.underscore == 'strip_insignificant_zeros'} - if @strip_insignificant_zeros - ['1', 't', 'true', 'on', 'y', 'yes'].include? @strip_insignificant_zeros.value.to_s - end || false + if @strip_insignificant_zeros.nil? + @strip_insignificant_zeros = OpenStruct.new(value: false) + end + @strip_insignificant_zeros_value ||= ['1', 't', 'true', 'on', 'y', 'yes'].include? @strip_insignificant_zeros.value.to_s end def number_format(number, options = {}) options[:precision] = options[:precision] || precision # options[:delimiter] = options[:delimiter] || delimiter options[:strip_insignificant_zeros] = options[:strip_insignificant_zeros] || strip_insignificant_zeros - + if options[:precision] > 0 if options[:strip_insignificant_zeros] formatted = "%.12g" % number.round(options[:precision]) @@ -44,10 +47,10 @@ module NumberFormattable formatted = "%.#{options[:precision]}f" % number.round(options[:precision]) end else - formatted = number.to_i.to_s + formatted = number.round(options[:precision]).to_i.to_s end - - if options[:delimiter] && + + if options[:delimiter] && !options[:delimiter].empty? formatted = formatted.gsub(/(\d)(?=\d{3}+(\.\d*)?$)/, "\\1#{options[:delimiter]}") end diff --git a/app/controllers/crm/customers_controller.rb b/app/controllers/crm/customers_controller.rb index 936ef7a2..9de920c2 100644 --- a/app/controllers/crm/customers_controller.rb +++ b/app/controllers/crm/customers_controller.rb @@ -103,11 +103,6 @@ class Crm::CustomersController < BaseCrmController end end end - - # if flash["errors"] - # @crm_customer.valid? - # end - # puts @crm_customers.to_json respond_to do |format| format.html # index.html.erb format.json { render json: @crm_customers } diff --git a/app/controllers/crm/dining_queues_controller.rb b/app/controllers/crm/dining_queues_controller.rb index 28da784a..cbb19b35 100755 --- a/app/controllers/crm/dining_queues_controller.rb +++ b/app/controllers/crm/dining_queues_controller.rb @@ -39,7 +39,6 @@ class Crm::DiningQueuesController < BaseCrmController # POST /crm/dining_queues # POST /crm/dining_queues.json def create - puts dining_queue_params @dining_queue = DiningQueue.new(dining_queue_params) @dining_queue.shop_code = @shop.shop_code respond_to do |format| diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index d8908c97..1821ec9c 100755 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -91,23 +91,12 @@ class HomeController < ApplicationController end def dashboard - @from, @to, @from_time, @to_time = get_date_range_from_params - today = DateTime.now.strftime('%Y-%m-%d') - @orders = Sale.where("payment_status = 'new' and sale_status = 'bill'") - @sales = Sale.completed + @from, @to = get_date_range_from_params - if !@from.nil? && !@to.nil? - @orders = @orders.date_between(@from, @to) - @sales = @sales.date_between(@from, @to) - if !@from_time.nil? && @to_time.nil? + @shop = Shop.first - @orders = @orders.time_between(@from_time, @to_time) - @sales = @sales.time_between(@from_time, @to_time) - end - else - @orders = @orders.date_on(today) - @sales = @sales.date_on(today) - end + @orders = Sale.receipt_date_between(@from, @to).where("payment_status = 'new' and sale_status = 'bill'") + @sales = Sale.receipt_date_between(@from, @to).completed if current_user.present? && !(current_user.role == 'administrator' || current_user.role == 'manager' || current_user.role == 'account' || current_user.role == 'supervisor') if shift = ShiftSale.current_open_shift(current_user.id) @@ -116,15 +105,11 @@ class HomeController < ApplicationController end end - @top_products = Sale.top_bottom_products(today,current_user,@from,@to,@from_time,@to_time,"top", @shop) - @bottom_products = Sale.top_bottom_products(today,current_user,@from,@to,@from_time,@to_time,"bottom", @shop) - @hourly_sales = Sale.hourly_sales(today,current_user,@from,@to,@from_time,@to_time, @shop) - # .group_by_hour(:created_at, :time_zone => 'Asia/Rangoon',format: '%I:%p') - # .sum(:grand_total) - logger.debug 'hourly_sales<>><><><<<<<<>><<<><><><><><><><><><<>><' - logger.debug @hourly_sales.to_json - employee_sales = Sale.employee_sales(today,current_user,@from,@to,@from_time,@to_time, @shop) - # .sum("(CASE WHEN sp.payment_method='cash' THEN ((sp.payment_amount) - (sales.amount_changed)) ELSE (sp.payment_amount) END)") + + @top_products = Sale.top_bottom_products(current_user,@from,@to,"top") + @bottom_products = Sale.top_bottom_products(current_user,@from,@to,"bottom") + @hourly_sales = Sale.hourly_sales(current_user,@from,@to) + employee_sales = Sale.employee_sales(current_user,@from,@to) @employee_sales = [] if !employee_sales.nil? @@ -137,38 +122,34 @@ class HomeController < ApplicationController end end end - @inventories = StockJournal.inventory_balances(today,@from,@to,@from_time,@to_time,@shop).sum(:balance) + @inventories = StockJournal.inventory_balances(@from,@to).sum(:balance) - @total_trans = Sale.total_trans(today,current_user,@from,@to,@from_time,@to_time,@shop) - @total_card = Sale.total_card_sale(today,current_user,@from,@to,@from_time,@to_time,@shop) - @total_credit = Sale.credit_payment(today,current_user,@from,@to,@from_time,@to_time,@shop) - + @total_trans = Sale.total_trans(current_user,@from,@to) + @total_card = Sale.total_card_sale(current_user,@from,@to) + @total_credit = Sale.credit_payment(current_user,@from,@to) @sale_data = Array.new - @total_payment_methods = Sale.total_payment_methods(@shop,today,current_user,@from,@to,@from_time,@to_time) + @total_payment_methods = Sale.total_payment_methods(current_user,@from,@to) if !@total_payment_methods.nil? @total_payment_methods.each do |payment| - if payment.payment_method == "mpu" || payment.payment_method == "visa" || payment.payment_method == "master" || payment.payment_method == "jcb" || payment.payment_method == "unionpay" || payment.payment_method == "alipay" - pay = Sale.payment_sale(@shop,'card', today, current_user,@from,@to,@from_time,@to_time) - @sale_data.push({'card' => pay.payment_amount}) - else - pay = Sale.payment_sale(@shop,payment.payment_method, today, current_user,@from,@to,@from_time,@to_time) - @sale_data.push({payment.payment_method => pay.payment_amount}) - end + pay = Sale.payment_sale(payment.payment_method, current_user,@from,@to) + @sale_data.push({payment.payment_method => pay.payment_amount}) end end - @summ_sale = Sale.summary_sale_receipt(@shop,today,current_user,@from,@to,@from_time,@to_time) - @total_customer, @total_dinein, @total_takeaway, @total_membership = Sale.total_customer(@shop,today,current_user,@from,@to,@from_time,@to_time) + @summ_sale = Sale.summary_sale_receipt(current_user,@from,@to) + @total_customer, @total_dinein, @total_takeaway, @total_membership = Sale.total_customer(current_user,@from,@to) + # @total_other_customer = Sale.total_other_customer(today,current_user) - @total_order = Sale.total_order(@shop, today,current_user,@from,@to,@from_time,@to_time) + @total_order = Sale.total_order(current_user,@from,@to) @total_accounts = Account.select("accounts.id as account_id, accounts.title as title") @account_data = Array.new if !@total_accounts.nil? @total_accounts.each do |account| - acc = Sale.account_data(@shop, account.account_id, today,current_user,@from,@to,@from_time,@to_time) + + acc = Sale.account_data(account.account_id,current_user,@from,@to) if !acc.nil? && acc.cnt_acc > 0 @account_data.push({account.title => acc.cnt_acc, account.title + '_amount' => acc.total_acc}) end @@ -176,8 +157,8 @@ class HomeController < ApplicationController @total_accounts = @total_accounts.reject.with_index { |x, i| @account_data[i].nil? } end - @top_items = Sale.top_items(@shop,today,current_user,@from,@to,@from_time,@to_time) - @total_foc_items = Sale.total_foc_items(@shop,today,current_user,@from,@to,@from_time,@to_time) + @top_items = Sale.top_items(current_user,@from,@to) + @total_foc_items = Sale.total_foc_items(current_user,@from,@to) # get printer info # @print_settings = get_precision_delimiter @@ -239,23 +220,18 @@ class HomeController < ApplicationController end def get_date_range_from_params - from = params[:from] - to = params[:to] - from_time = params[:from_time] - to_time = params[:to_time] - - if from.present? && to.present? - # f_date = DateTime.parse(from) - # t_date = DateTime.parse(to) - # f_time = Time.mktime(f_date.year,f_date.month,f_date.day,f_date.hour,f_date.min,f_date.sec) - # t_time = Time.mktime(t_date.year,t_date.month,t_date.day,t_date.hour,t_date.min,t_date.sec) - # from = f_time.beginning_of_day.utc.getlocal - # to = t_time.end_of_day.utc.getlocal - - from = DateTime.parse(from).utc.getlocal.strftime('%Y-%m-%d') - to = DateTime.parse(to).utc.getlocal.strftime('%Y-%m-%d') + if params[:from].present? && params[:to].present? + if params[:from_time].present? && params[:to_time].present? + from = Time.parse("#{params[:from]} #{params[:from_time]}") + to = Time.parse("#{params[:to]} #{params[:to_time]}") + else + from = Time.parse(params[:from]) + to = Time.parse(params[:to]).end_of_day end - - return from, to, from_time, to_time + else + from = Time.now.beginning_of_day + to = Time.now.end_of_day + end + return from, to end end diff --git a/app/controllers/inventory/stock_checks_controller.rb b/app/controllers/inventory/stock_checks_controller.rb index c756c8bb..9ad3fd42 100755 --- a/app/controllers/inventory/stock_checks_controller.rb +++ b/app/controllers/inventory/stock_checks_controller.rb @@ -59,8 +59,6 @@ class Inventory::StockChecksController < BaseInventoryController #Pull this menu @menu_category = InventoryDefinition.search_by_category(params[:id]) - puts @menu_category.to_json - # puts @menu.menu_items[1].item_attributes.to_json return @menu_category else MenuCategory.current_menu diff --git a/app/controllers/oqs/home_controller.rb b/app/controllers/oqs/home_controller.rb index f63e505e..c89f6e0a 100755 --- a/app/controllers/oqs/home_controller.rb +++ b/app/controllers/oqs/home_controller.rb @@ -118,8 +118,6 @@ class Oqs::HomeController < BaseOqsController status = params[:status] items = queue_items_query(false,oqs_id,filter,table_id,status) -puts "items0" -puts items.to_json if !items.empty? items.each do |item| if !item.set_menu_items.nil? diff --git a/app/controllers/origami/addorders_controller.rb b/app/controllers/origami/addorders_controller.rb index baa88e4d..32aec47b 100755 --- a/app/controllers/origami/addorders_controller.rb +++ b/app/controllers/origami/addorders_controller.rb @@ -46,8 +46,6 @@ class Origami::AddordersController < BaseOrigamiController #Pull this menu @menu = MenuCategory.find_by_id(params[:id]) - - # puts @menu.menu_items[1].item_attributes.to_json return @menu else MenuCategory.current_menu @@ -63,7 +61,6 @@ class Origami::AddordersController < BaseOrigamiController #Pull this menu @menu = Menu.find_by_id(params[:id]) @menu_category = MenuCategory.where("menu_id='#{@menu.id}'").order("order_by asc") - # puts @menu.menu_items[1].item_attributes.to_json return @menu else Menu.current_menu @@ -77,8 +74,6 @@ class Origami::AddordersController < BaseOrigamiController if (id) #Pull this menu @sub_menu = MenuCategory.where("menu_category_id = #{id}").active - - # puts @menu.menu_items[1].item_attributes.to_json return @sub_menu end end @@ -199,7 +194,6 @@ class Origami::AddordersController < BaseOrigamiController table = DiningFacility.find(table_id) if table booking = table.get_current_booking - # puts booking if booking if !booking.sale_id.nil? if booking.sale.sale_status == "completed" || booking.sale.sale_status == "new" diff --git a/app/controllers/origami/cash_ins_controller.rb b/app/controllers/origami/cash_ins_controller.rb index 7ebb698a..ac3c0648 100755 --- a/app/controllers/origami/cash_ins_controller.rb +++ b/app/controllers/origami/cash_ins_controller.rb @@ -36,7 +36,6 @@ class Origami::CashInsController < BaseOrigamiController shift =current_shift end end - puts shift.to_json shift.cash_in = shift.cash_in + amount.to_f shift.save end diff --git a/app/controllers/origami/dashboard_controller.rb b/app/controllers/origami/dashboard_controller.rb index 72ac011f..ac9ece74 100644 --- a/app/controllers/origami/dashboard_controller.rb +++ b/app/controllers/origami/dashboard_controller.rb @@ -6,31 +6,31 @@ class Origami::DashboardController < BaseOrigamiController @display_type = Lookup.where("shop_code='#{@shop.shop_code}'").find_by_lookup_type("display_type") @sale_data = Array.new - @total_payment_methods = Sale.total_payment_methods(@shop,today,current_user) + + @total_payment_methods = Sale.total_payment_methods(current_user) if !@total_payment_methods.nil? @total_payment_methods.each do |payment| - if payment.payment_method == "mpu" || payment.payment_method == "visa" || payment.payment_method == "master" || payment.payment_method == "jcb" || payment.payment_method == "unionpay" || payment.payment_method == "alipay" - pay = Sale.payment_sale(@shop,'card', today, current_user) - @sale_data.push({'card' => pay.payment_amount}) - else - pay = Sale.payment_sale(@shop,payment.payment_method, today, current_user) - @sale_data.push({payment.payment_method => pay.payment_amount}) - end + pay = Sale.payment_sale(payment.payment_method, current_user) + @sale_data.push({payment.payment_method => pay.payment_amount}) + end else @sale_data = nil end - @summ_sale = Sale.summary_sale_receipt(@shop,today,current_user) - @total_customer, @total_dinein, @total_takeaway, @total_membership = Sale.total_customer(@shop,today,current_user,@from,@to,@from_time,@to_time) + + @summ_sale = Sale.summary_sale_receipt(current_user) + @total_customer, @total_dinein, @total_takeaway, @total_membership = Sale.total_customer(current_user,@from,@to) # @total_other_customer = Sale.total_other_customer(today,current_user) + @total_order = Sale.total_order(current_user) - @total_order = Sale.total_order(@shop, today,current_user) @total_accounts = Account.select("accounts.id as account_id, accounts.title as title") @account_data = Array.new if !@total_accounts.nil? @total_accounts.each do |account| - acc = Sale.account_data(@shop,account.account_id, today,current_user) + + acc = Sale.account_data(account.account_id, current_user) + if !acc.nil? @account_data.push({account.title => acc.cnt_acc, account.title + '_amount' => acc.total_acc}) end @@ -40,8 +40,10 @@ class Origami::DashboardController < BaseOrigamiController @account_data = nil end - @top_items = Sale.top_items(@shop,today,current_user) - @total_foc_items = Sale.total_foc_items(@shop,today,current_user) + + @top_items = Sale.top_items(current_user) + @total_foc_items = Sale.total_foc_items(current_user) + # get printer info @print_settings = PrintSetting.get_precision_delimiter() @@ -104,7 +106,9 @@ class Origami::DashboardController < BaseOrigamiController end def get_all_menu - @menus = Menu.includes(:menu_categories => {:menu_items => :menu_item_instances}).includes(:menu_categories => {:menu_items => :item_sets }).active.all.where("shop_code='#{@shop.shop_code}'") + + @menus = Menu.includes(:menu_categories => {:menu_items => :menu_item_instances}).includes(:menu_categories => {:menu_items => :item_sets }).includes(:menu_categories => {:menu_items => {:item_sets => :menu_item_instances}}).active.all + @item_attributes = MenuItemAttribute.all.load @item_options = MenuItemOption.all.load end diff --git a/app/controllers/origami/food_court_controller.rb b/app/controllers/origami/food_court_controller.rb index 69826641..16766001 100644 --- a/app/controllers/origami/food_court_controller.rb +++ b/app/controllers/origami/food_court_controller.rb @@ -134,10 +134,8 @@ class Origami::FoodCourtController < ApplicationController def get_menu_category () if (params[:id]) - puts params[:id] #Pull this menu @menu = MenuCategory.find_by_id(params[:id]) - # puts @menu.menu_items[1].item_attributes.to_json return @menu else MenuCategory.current_menu @@ -150,7 +148,6 @@ class Origami::FoodCourtController < ApplicationController if (id) #Pull this menu @sub_menu = MenuCategory.where("menu_category_id = #{id}").active - # puts @menu.menu_items[1].item_attributes.to_json return @sub_menu end end @@ -171,7 +168,6 @@ class Origami::FoodCourtController < ApplicationController table = DiningFacility.find(table_id) if table booking = table.get_current_booking - # puts booking if booking if !booking.sale_id.nil? if booking.sale.sale_status == "completed" || booking.sale.sale_status == "new" diff --git a/app/controllers/origami/in_duties_controller.rb b/app/controllers/origami/in_duties_controller.rb index 5210851b..0c1b3723 100755 --- a/app/controllers/origami/in_duties_controller.rb +++ b/app/controllers/origami/in_duties_controller.rb @@ -47,12 +47,6 @@ class Origami::InDutiesController < BaseOrigamiController def create_for_in_duty # this one use for create and update in_duty = in_duty_params - # in_time = DateTime.new in_duty['in_time(1i)'].to_i, in_duty['in_time(2i)'].to_i, in_duty['in_time(3i)'].to_i, in_duty['in_time(4i)'].to_i, in_duty['in_time(5i)'].to_i - # in_time = in_time.change(offset: '+06:30') - # out_time = DateTime.new in_duty['out_time(1i)'].to_i, in_duty['out_time(2i)'].to_i, in_duty['out_time(3i)'].to_i, in_duty['out_time(4i)'].to_i, in_duty['out_time(5i)'].to_i - # out_time = out_time.change(offset: '+06:30') - # puts in_duty.to_json - # puts "sssssssssssssssssss" @in_duty = InDuty.new in_duty_id = in_duty[:id] unless in_duty_id.empty? diff --git a/app/controllers/origami/quick_service_controller.rb b/app/controllers/origami/quick_service_controller.rb index f57189d0..3d7ef13b 100644 --- a/app/controllers/origami/quick_service_controller.rb +++ b/app/controllers/origami/quick_service_controller.rb @@ -137,10 +137,8 @@ class Origami::QuickServiceController < ApplicationController def get_menu_category () if (params[:id]) - puts params[:id] #Pull this menu @menu = MenuCategory.find_by_id(params[:id]) - # puts @menu.menu_items[1].item_attributes.to_json return @menu else MenuCategory.current_menu @@ -153,7 +151,6 @@ class Origami::QuickServiceController < ApplicationController if (id) #Pull this menu @sub_menu = MenuCategory.where("menu_category_id = #{id}").active - # puts @menu.menu_items[1].item_attributes.to_json return @sub_menu end end @@ -174,7 +171,6 @@ class Origami::QuickServiceController < ApplicationController table = DiningFacility.find(table_id) if table booking = table.get_current_booking - # puts booking if booking if !booking.sale_id.nil? if booking.sale.sale_status == "completed" || booking.sale.sale_status == "new" diff --git a/app/controllers/origami/room_invoices_controller.rb b/app/controllers/origami/room_invoices_controller.rb index 8d805771..c73c153a 100755 --- a/app/controllers/origami/room_invoices_controller.rb +++ b/app/controllers/origami/room_invoices_controller.rb @@ -1,10 +1,8 @@ class Origami::RoomInvoicesController < BaseOrigamiController def index @room = DiningFacility.find(params[:room_id]) - puts "room bookig lenght" @sale_array = Array.new @room.bookings.each do |booking| - puts booking.sale_id if booking.sale_id.nil? else diff --git a/app/controllers/origami/split_bill_controller.rb b/app/controllers/origami/split_bill_controller.rb index a80a3a4d..a5fe1522 100755 --- a/app/controllers/origami/split_bill_controller.rb +++ b/app/controllers/origami/split_bill_controller.rb @@ -158,15 +158,8 @@ class Origami::SplitBillController < BaseOrigamiController end end - # puts order_id - # puts order_ids.count - # puts order_id_count - # puts order_items.count - # puts order_item_count - if !order_id.nil? if order_id_count > 1 - puts "order_id_count > 1" updated_order_id = Array.new arr_order_ids.each do |order| @@ -178,9 +171,6 @@ class Origami::SplitBillController < BaseOrigamiController end end - # puts "updated_order_id" - # puts updated_order_id - if !updated_order_id.empty? order_ids.each do |odr_id| unless updated_order_id.include?(odr_id) @@ -208,8 +198,6 @@ class Origami::SplitBillController < BaseOrigamiController end end - # puts new_order_status - if new_order_status BookingOrder.find_by_order_id(odr_id).delete BookingOrder.create({:booking_id => booking.booking_id, :order_id => odr_id}) @@ -236,7 +224,6 @@ class Origami::SplitBillController < BaseOrigamiController end end else - # puts "order_id_count < 1" new_order_status = true order_items.each do |order_item| orderItem = OrderItem.find(order_item["id"]) @@ -249,8 +236,6 @@ class Origami::SplitBillController < BaseOrigamiController end end - # puts new_order_status - if new_order_status BookingOrder.find_by_order_id(order_id).delete BookingOrder.create({:booking_id => booking.booking_id, :order_id => order_id}) diff --git a/app/controllers/origami/table_invoices_controller.rb b/app/controllers/origami/table_invoices_controller.rb index a5d72b1e..4f501b5e 100755 --- a/app/controllers/origami/table_invoices_controller.rb +++ b/app/controllers/origami/table_invoices_controller.rb @@ -1,11 +1,8 @@ class Origami::TableInvoicesController < BaseOrigamiController def index @table = DiningFacility.find(params[:table_id]) - # shop = Shop.first - puts "table bookig lenght" @sale_array = Array.new @table.bookings.each do |booking| - puts booking.sale_id if booking.sale_id.nil? else @@ -30,7 +27,6 @@ class Origami::TableInvoicesController < BaseOrigamiController end def show - # puts 'Catch me if you can.......................' @table = DiningFacility.find(params[:table_id]) @membership = MembershipSetting.find_by_shop_code(@shop.shop_code) @payment_methods = PaymentMethodSetting.where("shop_code='#{@shop.shop_code}'") diff --git a/app/controllers/reports/hourly_saleitem_controller.bk.rb b/app/controllers/reports/hourly_saleitem_controller.bk.rb index 88a61335..ab4f81ea 100644 --- a/app/controllers/reports/hourly_saleitem_controller.bk.rb +++ b/app/controllers/reports/hourly_saleitem_controller.bk.rb @@ -27,9 +27,7 @@ class Reports::HourlySaleitemController < BaseReportController account_type = params[:account_type] @type = params[:sale_type] @sale_data, @other_charges,@product, @discount_data , @cash_data , @card_data , @credit_data , @foc_data , @grand_total , @change_amount = Sale.get_by_shift_items(shift_sale_range,shift, from, to, Sale::SALE_STATUS_COMPLETED,@type,account_type) - logger.debug 'product>>>>>>>>>>>>>>>>>>>>>>>>>>' - # logger.debug @sale_data.group_by {|s| s.date_format }.collect{|key,qty| {"Date" =>key , "total_qty" => qty.sum{|d| d.qty.to_i}}} - + @hourly_total_qty = @sale_data.group_by {|s| s.date_format }.collect{|key,qty| {"date" => key , "total_qty" => qty.sum{|d| d.qty.to_i}}} logger.debug @hourly_total_qty diff --git a/app/controllers/reports/receipt_no_controller.rb b/app/controllers/reports/receipt_no_controller.rb index d8a6416f..2bde1f03 100755 --- a/app/controllers/reports/receipt_no_controller.rb +++ b/app/controllers/reports/receipt_no_controller.rb @@ -112,7 +112,6 @@ authorize_resource :class => false rescue Net::OpenTimeout response = { status: false, message: "Can't open membership server "} rescue OpenURI::HTTPError - puts "Fire in here" response = { status: false, message: "Can't open membership server "} rescue SocketError response = { status: false, message: "Can't open server "} @@ -121,9 +120,6 @@ authorize_resource :class => false rescue Errno::ECONNREFUSED, Timeout::Error, Errno::EINVAL, Errno::ECONNRESET, EOFError, Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError, Net::ProtocolError response = { status: false, message: "Can't open membership server"} end - - puts url - puts response @message = @result.parsed_response['message'] end diff --git a/app/controllers/settings/commissioners_controller.rb b/app/controllers/settings/commissioners_controller.rb index 0f93545d..54a9e926 100755 --- a/app/controllers/settings/commissioners_controller.rb +++ b/app/controllers/settings/commissioners_controller.rb @@ -37,7 +37,6 @@ class Settings::CommissionersController < ApplicationController unless @commissioner.resigned_date.nil? @commissioner.resigned_date = @commissioner.resigned_date.utc.getlocal.strftime('%Y-%b-%d') end - # puts params[:from_induty].length if (params[:from_induty] != "true") respond_to do |format| if @commissioner.save diff --git a/app/controllers/settings/payment_method_settings_controller.rb b/app/controllers/settings/payment_method_settings_controller.rb index 74b2a10b..e85e7a99 100755 --- a/app/controllers/settings/payment_method_settings_controller.rb +++ b/app/controllers/settings/payment_method_settings_controller.rb @@ -41,7 +41,6 @@ class Settings::PaymentMethodSettingsController < ApplicationController # PATCH/PUT /settings/payment_method_settings/1 # PATCH/PUT /settings/payment_method_settings/1.json def update - puts settings_payment_method_setting_params respond_to do |format| if @settings_payment_method_setting.update(settings_payment_method_setting_params) format.html { redirect_to settings_payment_method_setting_path(@settings_payment_method_setting), notice: 'Payment method setting was successfully updated.' } diff --git a/app/controllers/settings/promotions_controller.rb b/app/controllers/settings/promotions_controller.rb index 9f3c8fcf..25b1b9d7 100755 --- a/app/controllers/settings/promotions_controller.rb +++ b/app/controllers/settings/promotions_controller.rb @@ -117,8 +117,6 @@ class Settings::PromotionsController < ApplicationController end res.push({item_inst.menu_item.item_code => arr_inst}) end - puts "res" - p res render json: res end diff --git a/app/controllers/settings/rooms_controller.rb b/app/controllers/settings/rooms_controller.rb index 35e4fcb5..5ba5c0ef 100755 --- a/app/controllers/settings/rooms_controller.rb +++ b/app/controllers/settings/rooms_controller.rb @@ -35,7 +35,6 @@ class Settings::RoomsController < ApplicationController format.html { redirect_to settings_zone_path(@zone), notice: 'Room was successfully created.' } format.json { render :show, status: :created, location: @settings_room } else - puts "abc" format.html { render :new } format.json { render json: @settings_room.errors, status: :unprocessable_entity } end diff --git a/app/models/dining_charge.rb b/app/models/dining_charge.rb index 6f931bcf..3151e88f 100755 --- a/app/models/dining_charge.rb +++ b/app/models/dining_charge.rb @@ -22,7 +22,7 @@ class DiningCharge < ApplicationRecord end return block_count, price else - puts "<<<<<<<< NO" + Rails.logger.info "Params not enough" end end diff --git a/app/models/sale.rb b/app/models/sale.rb index f11ab9cd..6a6c0c3f 100644 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -29,11 +29,10 @@ class Sale < ApplicationRecord scope :complete_sale, -> { where("sale_status = 'completed' and receipt_date BETWEEN '#{DateTime.now.utc.beginning_of_day}' AND '#{DateTime.now.utc.end_of_day}'") } scope :paid, -> { where(payment_status: 'paid')} scope :completed, -> { where(sale_status: 'completed') } - scope :date_on, -> (date) { where("DATE(CONVERT_TZ(receipt_date, '+00:00', ?)) = ?", Time.zone.formatted_offset, date) } - scope :date_between, -> (from, to) { where("DATE(CONVERT_TZ(receipt_date, '+00:00', ?)) BETWEEN ? AND ?", Time.zone.formatted_offset, from, to) } - scope :time_between, -> (from, to) { where("TIME(CONVERT_TZ(receipt_date, '+00:00', ?)) BETWEEN ? AND ?", Time.zone.formatted_offset, from, to) } - scope :along_with_sale_payments_except_void, -> { joins("LEFT JOIN sale_payments on sales.sale_status != 'void' AND sale_payments.sale_id = sales.sale_id AND DATE(CONVERT_TZ(sale_payments.created_at,'+00:00', '#{Time.zone.formatted_offset}')) = DATE(CONVERT_TZ(sales.receipt_date,'+00:00', '#{Time.zone.formatted_offset}'))") } + scope :receipt_date_between, -> (from, to) { where(receipt_date: from..to) } + scope :along_with_sale_payments_except_void_between, -> (from, to) { joins(sanitize_sql_array(["LEFT JOIN sale_payments on sales.sale_status != 'void' AND sale_payments.sale_id = sales.sale_id AND sale_payments.created_at BETWEEN ? and ?", from, to])) } + def qty_of(item_instance_code) order_items.select(:order_items_id, :item_instance_code, 'SUM(qty) as qty').where(item_instance_code: item_instance_code).group(:item_instance_code).first @@ -848,8 +847,9 @@ def self.daily_sales_list(from,to,shop_code) ELSE 0 END as credit_amount, SUM(case when (sale_payments.payment_method='giftvoucher') then sale_payments.payment_amount else 0 end) as giftvoucher_amount, SUM(case when (sale_payments.payment_method='foc') then sale_payments.payment_amount else 0 end) as foc_amount") - .along_with_sale_payments_except_void - .where("shop_code='#{shop_code}' and (sale_status = ? OR sale_status = ?) AND sales.receipt_date between ? AND ? ", 'completed', 'void', from, to) + + .along_with_sale_payments_except_void_between(from, to) + .where("(sale_status = ? OR sale_status = ?) AND sales.receipt_date between ? AND ? ", 'completed', 'void', from, to) .group("sale_id").to_sql daily_total = connection.select_all("SELECT @@ -1579,20 +1579,17 @@ end return tax end - def self.top_bottom_products(today,current_user,from,to,from_time,to_time,type, shop) + + def self.top_bottom_products(current_user,from,to,type) query = Sale.joins("JOIN sale_items ON sale_items.sale_id = sales.sale_id") .completed .where("qty > 0 AND price > 0 AND shop_code='#{shop.shop_code}'") .group("SUBSTRING_INDEX(product_name, ' - ', 1)") if !from.nil? && !to.nil? - query = query.date_between(from, to) - if !from_time.nil? && !to_time.nil? - query = query.time_between(from_time, to_time) - end - else - query = query.date_on(today) + query = query.receipt_date_between(from, to) end + if current_user.present? && !(current_user.role == 'administrator' || current_user.role == 'manager' || current_user.role == 'account' || current_user.role == 'supervisor') if shift = ShiftSale.current_open_shift(current_user.id) query = query.where("shift_sale_id='#{shift.id}'") @@ -1609,17 +1606,14 @@ end query.limit(20).sum('qty') end - def self.hourly_sales(today,current_user,from,to,from_time,to_time, shop) - query = Sale.group("date_format(CONVERT_TZ(receipt_date,'+00:00', '+06:30'), '%I %p')") + + def self.hourly_sales(current_user,from,to) + query = Sale.group("date_format(CONVERT_TZ(receipt_date,'+00:00', '#{Time.zone.formatted_offset}'), '%I %p')") + .order('receipt_date').completed if !from.nil? && !to.nil? - query = query.date_between(from, to) - if !from_time.nil? && !to_time.nil? - query = query.time_between(from_time, to_time) - end - else - query = query.date_on(today) + query = query.receipt_date_between(from, to) end if current_user.present? && !(current_user.role == 'administrator' || current_user.role == 'manager' || current_user.role == 'account' || current_user.role == 'supervisor') @@ -1627,63 +1621,69 @@ end query = query.where("shift_sale_id='#{shift.id}'") end end + query.sum(:grand_total) end - def self.employee_sales(today,current_user,from,to,from_time,to_time,shop) + + def self.employee_sales(current_user,from,to) + shift = if current_user.present? && !(current_user.role == 'administrator' || current_user.role == 'manager' || current_user.role == 'account' || current_user.role == 'supervisor') ShiftSale.current_open_shift(current_user) end payments_for_credits = SalePayment.joins(:sale_audit).to_sql - query = employee_sale(shop,today, shift, from, to, from_time, to_time) + + query = employee_sale(shift, from, to) + .joins("LEFT JOIN (#{payments_for_credits}) payments_for_credits ON payments_for_credits.sale_id = sales.sale_id") .select("SUM(sale_payments.payment_amount) - CASE WHEN sale_payments.payment_method = 'creditnote' THEN IFNULL(SUM(payments_for_credits.payment_amount), 0) ELSE ABS(SUM(CASE WHEN sale_payments.outstanding_amount < 0 THEN sale_payments.outstanding_amount ELSE 0 END)) END AS payment_amount, CASE WHEN sale_payments.payment_method IN ('mpu', 'visa', 'master', 'jcb', 'unionpay', 'alipay', 'paymal', 'dinga', 'JunctionPay', 'giftvoucher') THEN 'card' ELSE sale_payments.payment_method END AS payment_method, employees.name AS e_name") end - def self.total_trans(today,current_user=nil,from=nil,to=nil,from_time=nil,to_time=nil,shop) - query = Sale.select("SUM(grand_total) as total_sale, COUNT(sales.sale_id) as total_count") - .where("sale_status = 'completed' AND shop_code='#{shop.shop_code}'") - if (!from.nil? && !to.nil?) && (from != "" && to!="") - query = query.date_between(from, to) - if !from_time.nil? && !to_time.nil? - query = query.time_between(from_time, to_time) - end - else - query = query.date_on(today) + def self.total_trans(current_user=nil,from=nil,to=nil) + query = Sale.select("SUM(grand_total) as total_sale, COUNT(sales.sale_id) as total_count") + .where('sale_status = "completed"') + + if (!from.nil? && !to.nil?) + query = query.receipt_date_between(from, to) + end + if current_user.present? && !(current_user.role == 'administrator' || current_user.role == 'manager' || current_user.role == 'account' || current_user.role == 'supervisor') if shift = ShiftSale.current_open_shift(current_user) query = query.where("sales.shift_sale_id = ?", shift.id) end end + return query end - def self.total_card_sale(today,current_user=nil,from=nil,to=nil,from_time=nil,to_time=nil,shop) + + def self.total_card_sale(current_user=nil,from=nil,to=nil) query = Sale.joins("JOIN sale_payments sp ON sp.sale_id = sales.sale_id") - .where("sales.shop_code='#{shop.shop_code}' and sales.sale_status = 'completed' and (sp.payment_method = 'mpu' or sp.payment_method = 'visa' or sp.payment_method = 'master' or sp.payment_method = 'jcb' or sp.payment_method = 'unionpay' or sp.payment_method = 'alipay' or sp.payment_method = 'paymal' or sp.payment_method = 'dinga' or sp.payment_method = 'JunctionPay')") - if (!from.nil? && !to.nil?) && (from != "" && to!="") - query = query.date_between(from, to) - if !from_time.nil? && !to_time.nil? - query = query.time_between(from_time, to_time) - end - else - query = query.date_on(today) + .where('sales.sale_status = "completed" and (sp.payment_method = "mpu" or sp.payment_method = "visa" or sp.payment_method = "master" or sp.payment_method = "jcb" or sp.payment_method = "unionpay" or sp.payment_method = "alipay" or sp.payment_method = "paymal" or sp.payment_method = "dinga" or sp.payment_method = "JunctionPay")') + + if (!from.nil? && !to.nil?) + query = query.receipt_date_between(from, to) + end + if current_user.present? && !(current_user.role == 'administrator' || current_user.role == 'manager' || current_user.role == 'account' || current_user.role == 'supervisor') if shift = ShiftSale.current_open_shift(current_user) query = query.where("sales.shift_sale_id = ?", shift.id) end end + query = query.sum("sp.payment_amount") end - def self.credit_payment(today,current_user=nil,from=nil,to=nil,from_time=nil,to_time=nil,shop) + + def self.credit_payment(current_user=nil,from=nil,to=nil) + payments_for_credits = SalePayment.joins(:sale_audit).to_sql query = SalePayment.credits @@ -1691,14 +1691,10 @@ end .joins("LEFT JOIN (#{payments_for_credits}) payments_for_credits ON payments_for_credits.sale_id = sale_payments.sale_id") .where("sale_payments.payment_method= ? AND sales.sale_status = ? AND sales.shop_code=?", 'creditnote', 'completed',shop.shop_code) - if (!from.nil? && !to.nil?) && (from != "" && to!="") - query = query.merge(Sale.date_between(from, to)) - if !from_time.nil? && !to_time.nil? - query = query.merge(Sale.time_between(from_time, to_time)) - end - else - query = query.merge(Sale.date_on(today)) + if (!from.nil? && !to.nil?) + query = query.merge(Sale.receipt_date_between(from, to)) end + if current_user.present? && !(current_user.role == 'administrator' || current_user.role == 'manager' || current_user.role == 'account' || current_user.role == 'supervisor') if shift = ShiftSale.current_open_shift(current_user) query = query.where("sales.shift_sale_id = ?", shift.id) @@ -1708,46 +1704,49 @@ end return query.sum("sale_payments.payment_amount - IFNULL(payments_for_credits.payment_amount, 0)") end - def self.summary_sale_receipt(shop,today,current_user=nil,from=nil,to=nil,from_time=nil,to_time=nil) + + def self.summary_sale_receipt(current_user=nil,from=nil,to=nil) query = Sale.select('count(sale_id) as total_receipt, (case when sum(total_amount) > 0 then sum(total_amount) else 0.0 end) as total_amount, (case when sum(grand_total) > 0 then sum(grand_total) else 0.0 end) as grand_total, (case when sum(total_discount) > 0 then sum(total_discount) else 0.0 end) as total_discount, (case when sum(total_tax) > 0 then sum(total_tax) else 0.0 end) as total_tax') - .where("shop_code='#{shop.shop_code}' and sale_status = 'completed'") - if (!from.nil? && !to.nil?) && (from != "" && to!="") - query = query.date_between(from, to) - if !from_time.nil? && !to_time.nil? - query = query.time_between(from_time, to_time) - end - else - query = query.date_on(today) + .where('sale_status = "completed"') + + if (!from.nil? && !to.nil?) + query = query.receipt_date_between(from, to) + end + if current_user.present? && !(current_user.role == 'administrator' || current_user.role == 'manager' || current_user.role == 'account' || current_user.role == 'supervisor') if shift = ShiftSale.current_open_shift(current_user) query = query.where("sales.shift_sale_id = ?", shift.id) end end + query = query.first() end - def self.total_payment_methods(shop,today,current_user=nil,from=nil,to=nil,from_time=nil,to_time=nil) - query = Sale.select("distinct sp.payment_method") - .where("sales.shop_code='#{shop.shop_code}' and sales.sale_status = 'completed'") + + def self.total_payment_methods(current_user=nil,from=nil,to=nil) + query = Sale.select("CASE WHEN sp.payment_method IN ('mpu', 'visa', 'master', 'jcb', 'unionpay', 'alipay', 'paymal', 'dinga', 'JunctionPay', 'giftvoucher') THEN 'card' ELSE sp.payment_method END as payment_method") + .where("sales.sale_status = 'completed'") + .joins("JOIN sale_payments as sp ON sp.sale_id = sales.sale_id") - if (!from.nil? && !to.nil?) && (from != "" && to!="") - query = query.date_between(from, to) - if !from_time.nil? && !to_time.nil? - query = query.time_between(from_time, to_time) - end - else - query = query.date_on(today) + .group("CASE WHEN sp.payment_method IN ('mpu', 'visa', 'master', 'jcb', 'unionpay', 'alipay', 'paymal', 'dinga', 'JunctionPay', 'giftvoucher') THEN 'card' ELSE sp.payment_method END") + + if (!from.nil? && !to.nil?) + query = query.receipt_date_between(from, to) end + if current_user.present? && !(current_user.role == 'administrator' || current_user.role == 'manager' || current_user.role == 'account' || current_user.role == 'supervisor') if shift = ShiftSale.current_open_shift(current_user) query = query.where("sales.shift_sale_id = ?", shift.id) end end + return query end - def self.payment_sale(shop,payment_method, today, current_user=nil,from=nil,to=nil,from_time=nil,to_time=nil) + + def self.payment_sale(payment_method, current_user=nil,from=nil,to=nil) + payments_for_credits = SalePayment.joins(:sale_audit).to_sql query = Sale.select("SUM(sale_payments.payment_amount) - CASE WHEN sale_payments.payment_method = 'creditnote' THEN IFNULL(SUM(payments_for_credits.payment_amount), 0) ELSE ABS(SUM(CASE WHEN sale_payments.outstanding_amount < 0 THEN sale_payments.outstanding_amount ELSE 0 END)) END AS payment_amount") @@ -1762,13 +1761,8 @@ end query = query.where("sale_payments.payment_method = ?", payment_method) end - if (!from.nil? && !to.nil?) && (from != "" && to!="") - query = query.date_between(from, to) - if !from_time.nil? && !to_time.nil? - query = query.time_between(from_time,to_time) - end - else - query = query.date_on(today) + if (!from.nil? && !to.nil?) + query = query.receipt_date_between(from, to) end if current_user.present? && !(current_user.role == 'administrator' || current_user.role == 'manager' || current_user.role == 'account' || current_user.role == 'supervisor') @@ -1776,25 +1770,35 @@ end query = query.where("sales.shift_sale_id = ?", shift.id) end end + query.first end - def self.total_customer(shop,today,current_user=nil,from=nil,to=nil,from_time=nil,to_time=nil) - total_dinein_takeaway = self.total_dinein_takeaway(shop,today,current_user,from,to,from_time,to_time) + + def self.total_customer(current_user=nil,from=nil,to=nil) + total_dinein_takeaway = self.total_dinein_takeaway(current_user,from,to) + dinein_cnt = 0 takeaway_cnt = 0 + if !total_dinein_takeaway.nil? if total_dinein_takeaway[0] dinein_cnt = total_dinein_takeaway[0].total_dinein_cus takeaway_cnt = total_dinein_takeaway[0].total_take_cus end end - membership_cnt = self.total_membership(shop,today,current_user,from,to,from_time,to_time) + + + membership_cnt = self.total_membership(current_user,from,to) + member_cnt = 0 + if !membership_cnt.nil? member_cnt = membership_cnt.total_memb_cus end + total_cus = 0 + if dinein_cnt > dinein_cnt || takeaway_cnt > 0 || !membership_cnt.nil? total_cus = dinein_cnt.to_int + takeaway_cnt.to_int + member_cnt.to_int end @@ -1802,43 +1806,43 @@ end return total_cus, dinein_cnt, takeaway_cnt, member_cnt end - def self.total_dinein_takeaway(shop,today,current_user=nil,from=nil,to=nil,from_time=nil,to_time=nil) + + def self.total_dinein_takeaway(current_user=nil,from=nil,to=nil) query = Sale.select("(CASE WHEN c.customer_type='Dinein' THEN count(sales.customer_id) ELSE 0 END) as total_dinein_cus, (CASE WHEN c.customer_type='Takeaway' THEN count(sales.customer_id) ELSE 0 END) as total_take_cus") .joins("JOIN customers as c ON c.customer_id = sales.customer_id") - .where("sales.shop_code='#{shop.shop_code}' and sales.sale_status = 'completed' and c.membership_id is null") - if (!from.nil? && !to.nil?) && (from != "" && to!="") - query = query.date_between(from, to) - if !from_time.nil? && !to_time.nil? - query = query.time_between(from_time, to_time) - end - else - query = query.date_on(today) + .where('sales.sale_status = "completed" and c.membership_id is null') + + if (!from.nil? && !to.nil?) + query = query.receipt_date_between(from, to) + end + if current_user.present? && !(current_user.role == 'administrator' || current_user.role == 'manager' || current_user.role == 'account' || current_user.role == 'supervisor') if shift = ShiftSale.current_open_shift(current_user) query = query.where("sales.shift_sale_id = ?", shift.id) end end + query = query.first() end - def self.total_membership(shop,today,current_user=nil,from=nil,to=nil,from_time=nil,to_time=nil) + + def self.total_membership(current_user=nil,from=nil,to=nil,from_time=nil,to_time=nil) query = Sale.select("count(distinct sales.customer_id) as total_memb_cus") .joins("JOIN customers as c ON c.customer_id = sales.customer_id") - .where("sales.shop_code='#{shop.shop_code}' and sales.sale_status = 'completed' and ((c.customer_type = 'Dinein' and c.membership_id is not null) or (c.customer_type = 'Takeaway' and c.membership_id is not null))") - if (!from.nil? && !to.nil?) && (from != "" && to!="") - query = query.date_between(from, to) - if !from_time.nil? && !to_time.nil? - query = query.time_between(from_time, to_time) - end - else - query = query.date_on(today) + .where('sales.sale_status = "completed" and ((c.customer_type = "Dinein" and c.membership_id is not null) or (c.customer_type = "Takeaway" and c.membership_id is not null))') + + if (!from.nil? && !to.nil?) + query = query.receipt_date_between(from, to) + end + if current_user.present? && !(current_user.role == 'administrator' || current_user.role == 'manager' || current_user.role == 'account' || current_user.role == 'supervisor') if shift = ShiftSale.current_open_shift(current_user) query = query.where("sales.shift_sale_id = ?", shift.id) end end + query = query.first() end @@ -1888,18 +1892,16 @@ end # query = query.first() # end - def self.total_order(shop,today,current_user=nil,from=nil,to=nil,from_time=nil,to_time=nil) + + def self.total_order(current_user=nil,from=nil,to=nil) + query = Sale.select("count(distinct sale_orders.order_id) as total_order") .joins(:sale_orders) .where("shop_code='#{shop.shop_code}'") .completed - if (!from.nil? && !to.nil?) && (from != "" && to!="") - query = query.date_between(from, to) - if !from_time.nil? && !to_time.nil? - query = query.time_between(from_time, to_time) - end - else - query = query.date_on(today) + + if (!from.nil? && !to.nil?) + query = query.receipt_date_between(from, to) end if current_user.present? && !(current_user.role == 'administrator' || current_user.role == 'manager' || current_user.role == 'account' || current_user.role == 'supervisor') @@ -1911,64 +1913,64 @@ end query = query.first end - def self.account_data(shop, account_id, today, current_user=nil,from=nil,to=nil,from_time=nil,to_time=nil) + + def self.account_data(account_id, current_user=nil,from=nil,to=nil) query = Sale.select("count(*) as cnt_acc, SUM(a.price) as total_acc") .joins("JOIN sale_items as a ON a.sale_id = sales.sale_id") - .where("sales.shop_code='#{shop.shop_code}' and sales.sale_status = 'completed' and a.account_id ='#{account_id}'") - if (!from.nil? && !to.nil?) && (from != "" && to!="") - query = query.date_between(from, to) - if !from_time.nil? && !to_time.nil? - query = query.time_between(from_time, to_time) - end - else - query = query.date_on(today) + .where("sales.sale_status = 'completed' and a.account_id ='#{account_id}'") + + if (!from.nil? && !to.nil?) + query = query.receipt_date_between(from, to) + end + if current_user.present? && !(current_user.role == 'administrator' || current_user.role == 'manager' || current_user.role == 'account' || current_user.role == 'supervisor') if shift = ShiftSale.current_open_shift(current_user) query = query.where("sales.shift_sale_id = ?", shift.id) end end + query = query.first end - def self.top_items(shop,today,current_user=nil,from=nil,to=nil,from_time=nil,to_time=nil) + + def self.top_items(current_user=nil,from=nil,to=nil) query = Sale.select("a.product_name as item_name, SUM(a.price) as item_total_price") .joins("JOIN sale_items as a ON a.sale_id = sales.sale_id") - .where("sales.shop_code='#{shop.shop_code}' and (a.qty > 0 and a.price > 0) and payment_status='paid' and sales.sale_status = 'completed'") - if (!from.nil? && !to.nil?) && (from != "" && to!="") - query = query.date_between(from, to) - if !from_time.nil? && !to_time.nil? - query = query.time_between(from_time, to_time) - end - else - query = query.date_on(today) + .where("(a.qty > 0 and a.price > 0) and payment_status='paid' and sales.sale_status = 'completed'") + + if (!from.nil? && !to.nil?) + query = query.receipt_date_between(from, to) + end + if current_user.present? && !(current_user.role == 'administrator' || current_user.role == 'manager' || current_user.role == 'account' || current_user.role == 'supervisor') if shift = ShiftSale.current_open_shift(current_user) query = query.where("sales.shift_sale_id = ?", shift.id) end end + query = query.group("a.product_code") .order("SUM(a.qty) DESC") .first() end - def self.total_foc_items(shop,today,current_user=nil,from=nil,to=nil,from_time=nil,to_time=nil) + + def self.total_foc_items(current_user=nil,from=nil,to=nil) query = Sale.joins("JOIN sale_items as a ON a.sale_id = sales.sale_id") - .where("sales.shop_code='#{shop.shop_code}' and sales.sale_status = 'completed' and a.status='foc' and a.product_name like '%FOC%'") - if (!from.nil? && !to.nil?) && (from != "" && to!="") - query = query.date_between(from, to) - if !from_time.nil? && !to_time.nil? - query = query.time_between(from_time, to_time) - end - else - query = query.date_on(today) + .where("sales.sale_status = 'completed' and a.status='foc' and a.product_name like '%FOC%'") + + if (!from.nil? && !to.nil?) + query = query.receipt_date_between(from, to) + end + if current_user.present? && !(current_user.role == 'administrator' || current_user.role == 'manager' || current_user.role == 'account' || current_user.role == 'supervisor') if shift = ShiftSale.current_open_shift(current_user) query = query.where("sales.shift_sale_id = ?", shift.id) end end + query = query.count() end @@ -2107,17 +2109,13 @@ def unique_tax_profiles(order_source, customer_id) end -def self.employee_sale(shop, today,shift=nil,from=nil,to=nil,from_time=nil,to_time=nil) +def self.employee_sale(shift=nil,from=nil,to=nil,from_time=nil,to_time=nil) + query = Sale.joins(:cashier) .joins(:sale_payments) .paid.completed.where("sales.shop_code='#{shop.shop_code}'") if !from.nil? && !to.nil? - query = query.date_between(from, to) - if !from_time.nil? && !to_time.nil? - query = query.time_between(from_time, to_time) - end - else - query = query.date_on(today) + query = query.receipt_date_between(from, to) end if !shift.nil? diff --git a/app/models/sale_item.rb b/app/models/sale_item.rb index 7c30ad2c..76cf319d 100755 --- a/app/models/sale_item.rb +++ b/app/models/sale_item.rb @@ -369,10 +369,10 @@ class SaleItem < ApplicationRecord if self.qty.to_i >= 0 qty = self.qty - self.qty_was if stock.balance.to_i >= qty - puts ">> stock is greater than order qty" + Rails.logger.info ">> stock is greater than order qty" remark = "ok" else - puts " << stock is less than order qty" + Rails.logger.info " << stock is less than order qty" remark = "out of stock" end end diff --git a/app/models/sale_payment.rb b/app/models/sale_payment.rb index d01b2069..ea6f23cd 100755 --- a/app/models/sale_payment.rb +++ b/app/models/sale_payment.rb @@ -70,8 +70,6 @@ class SalePayment < ApplicationRecord self.sale = invoice self.received_amount = cash_amount self.payment_reference = remark - # puts action_by - # puts "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" self.action_by = action_by #get all payment for this invoices if payment_for @@ -242,10 +240,7 @@ class SalePayment < ApplicationRecord end def self.redeem(paypar_url,token,membership_id,received_amount,sale_id) - # membership_actions_data = MembershipAction.find_by_membership_type("redeem"); membership_actions_data = PaymentMethodSetting.find_by_payment_method("Redeem") - puts "This is membership_actions_data" - puts membership_actions_data.to_json if !membership_actions_data.nil? url = paypar_url.to_s + membership_actions_data.gateway_url.to_s @@ -334,8 +329,7 @@ class SalePayment < ApplicationRecord merchant_uid:merchant_uid, auth_token:auth_token}.to_json end - - puts params + # Control for Paypar Cloud begin response = HTTParty.post(url, diff --git a/app/models/stock_journal.rb b/app/models/stock_journal.rb index d70ca051..3c987f56 100755 --- a/app/models/stock_journal.rb +++ b/app/models/stock_journal.rb @@ -4,6 +4,8 @@ class StockJournal < ApplicationRecord ORDER_TRANS = "order" STOCK_CHECK_TRANS = "stock_check" + scope :created_at_between, -> (from, to) { where(created_at: from..to)} + def self.add_to_journal(item_instance_code, qty, old_balance, stock_message, inventory_definition, trans_ref, trans_type) # item => saleObj | balance => Stock journal balance = calculate_balance(old_balance, qty) @@ -56,23 +58,14 @@ class StockJournal < ApplicationRecord journal.save end - def self.inventory_balances(today,from,to,from_time,to_time,shop) + + def self.inventory_balances(from,to, shop) + query = StockJournal.select("mii.item_instance_name as item_instance_name,balance") + .joins("join menu_item_instances mii on mii.item_instance_code=stock_journals.item_code") + .group("mii.item_instance_name") + .order("mii.item_instance_name ASC") if !from.nil? && !to.nil? - query = StockJournal.select("mii.item_instance_name as item_instance_name,balance") - .joins("join menu_item_instances mii on mii.item_instance_code=stock_journals.item_code") - if !from_time.nil? && !to_time.nil? - query = query.where("DATE_FORMAT(CONVERT_TZ(stock_journals.created_at,'+00:00','+06:30'),'%Y-%m-%d') between '#{from}' and '#{to}'") - else - query = query.where("DATE_FORMAT(CONVERT_TZ(stock_journals.created_at,'+00:00','+06:30'),'%Y-%m-%d') between '#{from}' and '#{to}' and DATE_FORMAT(CONVERT_TZ(stock_journals.created_at,'+00:00','+06:30'),'%H:%M') between '#{from_time}' and '#{to_time}'") - end - query = query.where("shop_code='#{shop.shop_code}'").group("mii.item_instance_name") - .order("mii.item_instance_name ASC") - else - query = StockJournal.select("mii.item_instance_name as item_instance_name,balance") - .joins("join menu_item_instances mii on mii.item_instance_code=stock_journals.item_code") - .where("shop_code='#{shop.shop_code}' and DATE_FORMAT(stock_journals.created_at,'%Y-%m-%d') = '#{today}'") - .group("mii.item_instance_name") - .order("mii.item_instance_name ASC") + query = query.created_at_between(from, to) end end diff --git a/app/models/verify_number.rb b/app/models/verify_number.rb index 26c57057..6cb885b1 100644 --- a/app/models/verify_number.rb +++ b/app/models/verify_number.rb @@ -4,7 +4,6 @@ class VerifyNumber < ApplicationRecord url = "http://smspoh.com/api/http/send?key=5QfyN0OtGsFXnOqwtpVAGZCyPGP28nbX_Nm_oPsUw2ybq714T_951ycz3Ypl5URA&message=Doemal,+Pin+Code:+"+pin.to_s+"&recipients="+ phone.to_s - puts url begin @result = HTTParty.get(url.to_str) @@ -18,7 +17,6 @@ class VerifyNumber < ApplicationRecord response = { status: false, message: "Can't open membership server "} end puts @result - puts "<><><><><><<><>><><" end end diff --git a/app/views/home/dashboard.html.erb b/app/views/home/dashboard.html.erb index 739333a9..71f7398a 100755 --- a/app/views/home/dashboard.html.erb +++ b/app/views/home/dashboard.html.erb @@ -67,24 +67,16 @@
| Redeem Sale : | - <% else %> -<%= payment.payment_method.to_s.capitalize %> Sale : | - <% end %> -- <% @sale_data.each do |data| %> - <% pay_mth = payment.payment_method %> - <%= number_format(data[""+pay_mth+""], precision: precision.to_i ,delimiter: delimiter) rescue number_format(0, precision: precision.to_i ,delimiter: delimiter) %> - <% end %> - | -
| Redeem Sale : | + <% else %> +<%= payment.payment_method.to_s.capitalize %> Sale : | + <% end %> ++ <%= number_format(@sale_data.find {|x| x.key?(payment.payment_method) }[payment.payment_method], precision: precision.to_i ,delimiter: delimiter) rescue number_format(0, precision: precision.to_i ,delimiter: delimiter) %> + | +
| <%= t("views.right_panel.detail.other_payment") %> : | diff --git a/app/views/origami/dashboard/_menu.json.jbuilder b/app/views/origami/dashboard/_menu.json.jbuilder index 9c9f1963..dcbff54f 100644 --- a/app/views/origami/dashboard/_menu.json.jbuilder +++ b/app/views/origami/dashboard/_menu.json.jbuilder @@ -80,7 +80,7 @@ if (menu.menu_categories) alt_name: its.alt_name, min_selectable_qty: its.min_selectable_qty, max_selectable_qty: its.max_selectable_qty, - instances: its.menu_item_instances.pluck(:id).map { |id| {id: id}} + instances: its.menu_item_instances.map { |id| {id: id}} } } diff --git a/config/initializers/action_controller.rb b/config/initializers/action_controller.rb index 85f38ec5..7009f08f 100644 --- a/config/initializers/action_controller.rb +++ b/config/initializers/action_controller.rb @@ -38,7 +38,7 @@ class ActionController::Base elsif (flag == 2) flash[:notice] = 'Expiring! Please, License extend...' else - puts "RUN SAY BYAR" + Rails.logger.info "Run License" end end diff --git a/lib/tasks/clear_data.rake b/lib/tasks/clear_data.rake index cc177cc3..caa2e53a 100755 --- a/lib/tasks/clear_data.rake +++ b/lib/tasks/clear_data.rake @@ -25,7 +25,6 @@ namespace :clear do OrderReservation.delete_all OrderReservationItem.delete_all Delivery.delete_all - puts "Clear Data Done." end desc "Clear-- Menu" @@ -47,7 +46,6 @@ namespace :clear do Menu.destroy_all Account.destroy_all - puts "Clear all Menu Done." end desc "Clear-- Inventory" @@ -60,7 +58,5 @@ namespace :clear do StockCheck.destroy_all StockCheckItem.destroy_all - - puts "Clear all Menu Done." end end