diff --git a/app/assets/images/ajax-loader.gif b/app/assets/images/ajax-loader.gif new file mode 100644 index 00000000..4155add2 Binary files /dev/null and b/app/assets/images/ajax-loader.gif differ diff --git a/app/assets/stylesheets/origami.scss b/app/assets/stylesheets/origami.scss index 62a17d2c..0139f1d0 100644 --- a/app/assets/stylesheets/origami.scss +++ b/app/assets/stylesheets/origami.scss @@ -10,7 +10,8 @@ // padding-top: 4.5rem; // } .card-columns { - font-size: 18px !important;} + font-size: 18px !important; +} .others-payment{ line-height:100px; @@ -53,7 +54,8 @@ .payment{ height:70px;line-height:70px; - align:center;color:white; + align:center; + color:white; font-size:16px; margin-top:5px; } @@ -161,15 +163,15 @@ } .green{ - background-color: #009900 + background-color: #009900; } .orange{ - background-color: #FF8C00 + background-color: #FF8C00; } .blue{ - background-color: blue + background-color: blue; } /* End Colors */ @@ -240,3 +242,30 @@ tr.discount-item-row:hover { border-radius: 100px; z-index: 1101; } + +/*Loading gif for payment*/ + +#loading_wrapper{ + + position: fixed; + background-color: #C8C8C8 ; + height: 100%; + width: 100%; + left: 0; + opacity: 0.6; + top: 0; + z-index: 9999999; +} +#loading{ + position: relative; + height: 100%; + width: 100%; + background-image: url('../../../image/loading-ajax.gif'); + background-position: center center; + background-repeat: no-repeat; + opacity: 1; + filter: alpha(opacity=100); /* ie */ + -moz-opacity: 1; /* mozilla */ + +} + diff --git a/app/controllers/base_report_controller.rb b/app/controllers/base_report_controller.rb index 12eeccd2..af9ec4fc 100644 --- a/app/controllers/base_report_controller.rb +++ b/app/controllers/base_report_controller.rb @@ -34,12 +34,10 @@ class BaseReportController < ActionController::Base to = params[:to] day_ref = Time.now.utc.getlocal - if params[:report_type] == "daily_sale" || params[:report_type] == "sale_item" + if from.present? && to.present? - if from != "" && to != "" - - f_date = DateTime.parse(params[:from]) - t_date = DateTime.parse(params[:to]) + 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 @@ -83,59 +81,6 @@ class BaseReportController < ActionController::Base to = (day_ref - 1.year).end_of_year.utc end end - else # end daily sale report - if period_type.to_i == 1 - - if params[:from] != "" && params[:to] !="" - - f_date = DateTime.parse(params[:from]) - t_date = DateTime.parse(params[: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 - from = day_ref.beginning_of_day.utc - to = day_ref.end_of_day.utc - end - 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 - end return from, to diff --git a/app/controllers/crm/customers_controller.rb b/app/controllers/crm/customers_controller.rb index ab79b9e8..81db4f47 100644 --- a/app/controllers/crm/customers_controller.rb +++ b/app/controllers/crm/customers_controller.rb @@ -6,7 +6,6 @@ class Crm::CustomersController < BaseCrmController # GET /crm/customers.json def index filter = params[:filter] - if filter.nil? @crm_customers = Customer.all else diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index 29e9d371..a601e4b8 100644 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -21,7 +21,8 @@ class HomeController < ApplicationController session[:session_token] = @employee.token_session route_by_role(@employee) else - render :show, flash[:notice] => "Invalid PIN for Employee. Please try again!" + flash[:notice] ="Invalid PIN for Employee. Please try again!" + render :show end end diff --git a/app/controllers/oqs/home_controller.rb b/app/controllers/oqs/home_controller.rb index 226b3a83..28645a74 100644 --- a/app/controllers/oqs/home_controller.rb +++ b/app/controllers/oqs/home_controller.rb @@ -112,7 +112,7 @@ class Oqs::HomeController < BaseOqsController left join booking_orders as bo on bo.order_id = assigned_order_items.order_id left join bookings as bk on bk.booking_id = bo.booking_id left join dining_facilities as df on df.id = bk.dining_facility_id") - .where("assigned_order_items.delivery_status = true AND odt.price <> 0") + .where("assigned_order_items.delivery_status = true AND odt.price <> 0 AND assigned_order_items.created_at <= ?", Time.now.end_of_day.utc) .group("assigned_order_items.order_id") diff --git a/app/controllers/origami/discounts_controller.rb b/app/controllers/origami/discounts_controller.rb index 4645ff1d..f7e1c63a 100644 --- a/app/controllers/origami/discounts_controller.rb +++ b/app/controllers/origami/discounts_controller.rb @@ -189,15 +189,15 @@ class Origami::DiscountsController < BaseOrigamiController discount_amount = discount_amount + response["discount_bonus_earned"] end sale.compute_by_sale_items(sale_id, sale.sale_items, discount_amount, 'member_discount') - result = {:status=> "Success", :table_id => table_id,:table_type => table_type } + result = {:status=> "Success",:title=>"Member Discount", :table_id => table_id,:table_type => table_type } end if response["status"] == "500" - result = {:status=> response["error"], :table_id => table_id,:table_type => table_type } + result = {:status=> response["error"],:title=>"Alert", :table_id => table_id,:table_type => table_type } end if !response.nil? if response[:status] == false - result = {:status=> response[:message], :table_id => table_id,:table_type => table_type } + result = {:status=> response[:message],:title=>"Alert", :table_id => table_id,:table_type => table_type } end end diff --git a/app/controllers/origami/home_controller.rb b/app/controllers/origami/home_controller.rb index 32f4ab12..7ee03e47 100644 --- a/app/controllers/origami/home_controller.rb +++ b/app/controllers/origami/home_controller.rb @@ -4,7 +4,7 @@ class Origami::HomeController < BaseOrigamiController def index @tables = Table.all.active.order('status desc') @rooms = Room.all.active.order('status desc') - @complete = Sale.all + @complete = Sale.where("sale_status != 'new'") @orders = Order.all.order('date desc') # @shift = ShiftSale.current_open_shift(current_user.id) end @@ -13,7 +13,7 @@ class Origami::HomeController < BaseOrigamiController def show @tables = Table.all.active.order('status desc') @rooms = Room.all.active.order('status desc') - @complete = Sale.all + @complete = Sale.where("sale_status != 'new'") @orders = Order.all.order('date desc') @status_order = "" @status_sale = "" diff --git a/app/controllers/origami/orders_controller.rb b/app/controllers/origami/orders_controller.rb index ef213ddd..f3cddd74 100644 --- a/app/controllers/origami/orders_controller.rb +++ b/app/controllers/origami/orders_controller.rb @@ -3,7 +3,7 @@ class Origami::OrdersController < BaseOrigamiController def show @tables = Table.all.active.order('status desc') @rooms = Room.all.active.order('status desc') - @complete = Sale.all + @complete = Sale.where("sale_status != 'new'") @orders = Order.all.order('status desc') @order = Order.find(params[:order_id]) sale_order = SaleOrder.find_by_order_id(@order.order_id) diff --git a/app/controllers/origami/payments_controller.rb b/app/controllers/origami/payments_controller.rb index df1fbfcb..24d63b71 100644 --- a/app/controllers/origami/payments_controller.rb +++ b/app/controllers/origami/payments_controller.rb @@ -91,9 +91,9 @@ class Origami::PaymentsController < BaseOrigamiController #get customer amount @customer = Customer.find(@sale_data.customer_id) - + rebate = MembershipSetting.find_by_rebate(1) # get member information - if @customer.membership_id != nil + if @customer.membership_id != nil && rebate response = Customer.get_member_account(@customer) if response["status"]==true response["data"].each do |res| diff --git a/app/controllers/origami/rooms_controller.rb b/app/controllers/origami/rooms_controller.rb index e5728f99..823136b9 100644 --- a/app/controllers/origami/rooms_controller.rb +++ b/app/controllers/origami/rooms_controller.rb @@ -3,7 +3,7 @@ class Origami::RoomsController < BaseOrigamiController def show @tables = Table.all.active.order('status desc') @rooms = Room.all.active.order('status desc') - @complete = Sale.all + @complete = Sale.where("sale_status != 'new'") @orders = Order.all.order('date desc') @room = DiningFacility.find(params[:room_id]) @sale_array = Array.new @@ -31,9 +31,6 @@ class Origami::RoomsController < BaseOrigamiController end end end - puts "hhhhhhhhhh" - puts @status - puts @obj.to_json end diff --git a/app/controllers/origami/sales_controller.rb b/app/controllers/origami/sales_controller.rb index c397da0f..3a9586fb 100644 --- a/app/controllers/origami/sales_controller.rb +++ b/app/controllers/origami/sales_controller.rb @@ -3,7 +3,7 @@ class Origami::SalesController < BaseOrigamiController def show @tables = Table.all.active.order('status desc') @rooms = Room.all.active.order('status desc') - @complete = Sale.all + @complete = Sale.where("sale_status != 'new'") @orders = Order.all.order('date desc') @sale = Sale.find(params[:sale_id]) end diff --git a/app/controllers/origami/shifts_controller.rb b/app/controllers/origami/shifts_controller.rb index 92f174ae..e227d81a 100644 --- a/app/controllers/origami/shifts_controller.rb +++ b/app/controllers/origami/shifts_controller.rb @@ -4,8 +4,6 @@ class Origami::ShiftsController < BaseOrigamiController end def show - puts ">>>>>" - puts current_user.id @shift = ShiftSale.current_open_shift(current_user.id) end @@ -48,4 +46,9 @@ class Origami::ShiftsController < BaseOrigamiController def edit end + def sale_summary + @shift = ShiftSale.current_open_shift(current_user.id) + + end + end diff --git a/app/controllers/reports/receipt_no_controller.rb b/app/controllers/reports/receipt_no_controller.rb index e71df43e..d1427e6e 100644 --- a/app/controllers/reports/receipt_no_controller.rb +++ b/app/controllers/reports/receipt_no_controller.rb @@ -1,25 +1,31 @@ class Reports::ReceiptNoController < BaseReportController authorize_resource :class => false def index - from, to, report_type = get_date_range_from_params + @payments = [["All Payment",''], ["Cash Payment","cash"], ["Credit Payment","creditnote"], ["FOC Payment","foc"], ["Other Payment","card"]] - if params[:shift_name].to_i != 0 - @shift = ShiftSale.where('shift_started_at >= ? and shift_closed_at <= ?',from,to).take - # puts @shift.to_json - if @shift.present? - @sale_data = Sale.where('shift_sale_id = ? ',@shift.id) - @sale_taxes = Sale.get_separate_tax(from,to) - end - else - @sale_data = Sale.where("sale_status=? and receipt_date between ? and ?","completed",from.utc,to.utc) - @sale_taxes = Sale.get_separate_tax(from.utc,to.utc) - end - + from, to = get_date_range_from_params - if @shift.present? - @shift_from = @shift.shift_started_at.nil? ? '-' : @shift.shift_started_at.utc.getlocal.strftime("%e %b %I:%M%p") - @shift_to = @shift.shift_closed_at.nil? ? '-' : @shift.shift_closed_at.utc.getlocal.strftime("%e %b %I:%M%p") - end + @shift_sale_range = Sale.get_by_shift_sale(from,to,Sale::SALE_STATUS_COMPLETED) + + @shift = '' + if params[:shift_name].to_i != 0 + shift_sale = ShiftSale.find(params[:shift_name]) + if to.blank? + @shift = ShiftSale.where('shift_started_at = ? and shift_closed_at is NULL ',shift_sale.shift_started_at) + else + + @shift = ShiftSale.where('shift_started_at = ? and shift_closed_at = ? ',shift_sale.shift_started_at, shift_sale.shift_closed_at) + end + end + @sale_data = Sale.get_shift_sales_by_receipt_no(@shift_sale_range,@shift,from,to, params[:payment_type]) + + if @shift.present? + @shift.each do |sh| + @shift_from = sh.shift_started_at.nil? ? '-' : sh.shift_started_at.utc.getlocal.strftime("%e %b %I:%M%p") + @shift_to = sh.shift_closed_at.nil? ? '-' : sh.shift_closed_at.utc.getlocal.strftime("%e %b %I:%M%p") + @shift_data = sh + end + end respond_to do |format| format.html @@ -28,7 +34,7 @@ authorize_resource :class => false end def show - from, to, report_type = get_date_range_from_params + from, to = get_date_range_from_params @sale_data = Sale.get_by_shift_sale(from,to,Sale::SALE_STATUS_COMPLETED) @@ -38,7 +44,8 @@ authorize_resource :class => false local_closing_date = sale.closing_date.nil? ? '-' : sale.closing_date.utc.getlocal.strftime("%e %b %I:%M%p") opening_date = sale.opening_date.nil? ? '-' : sale.opening_date.utc closing_date = sale.closing_date.nil? ? '-' : sale.closing_date.utc - str = { :local_opening_date => local_opening_date, :local_closing_date => local_closing_date, :opening_date => opening_date, :closing_date => closing_date} + shift_id = sale.id.nil? ? '-' : sale.id + str = {:shift_id => shift_id, :local_opening_date => local_opening_date, :local_closing_date => local_closing_date, :opening_date => opening_date, :closing_date => closing_date} date_arr.push(str) end @@ -48,205 +55,4 @@ authorize_resource :class => false format.json { render json: out } end end - - - def get_date_range_from_params - - period_type = params[:period_type] - period = params[:period] - - branch = params[:branch] - report_type = params[:report_type] - - shift_name = params[:shift_name] - unless shift_name.nil? - shift_arr = shift_name.split(' - ') - shift_from = shift_arr[0] - shift_to = shift_arr[1] - end - - day_ref = day_ref = Time.now.utc.getlocal - - if period_type.to_i == 1 - - ### =>search by from and to - unless shift_name.nil? - if shift_name.to_s == '0' - ### => all shift - f_date = DateTime.parse(params[:from]) - t_date = DateTime.parse(params[: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 - unless shift_from == '-' - f_date = DateTime.parse(shift_from) - from = f_date - else - from = '' - end - - unless shift_to == '-' - t_date = DateTime.parse(shift_to) - to = t_date - else - to = '' - end - end - else - f_date = DateTime.parse(params[:from]) - t_date = DateTime.parse(params[: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 - end - else - ### => search by Today or yesterday - - unless shift_name.nil? - if shift_name.to_s == '0' - ### => all shift - 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 - - else - unless shift_from == '-' - f_date = DateTime.parse(shift_from) - #f_time = Time.mktime(f_date.year,f_date.month,f_date.day,f_date.hour,f_date.min,f_date.sec) - from = f_date.utc - else - from = '' - end - - unless shift_to == '-' - t_date = DateTime.parse(shift_to) - #t_time = Time.mktime(t_date.year,t_date.month,t_date.day,t_date.hour,t_date.min,t_date.sec) - to = t_date.utc - else - to = '' - end - end - else - if params[:report_type].to_i != 0 - r_type = params[:report_type].to_s - - if r_type == 'shift_item' - - 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 - else - ### => report not shift - 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 - end - - end - - return from, to,report_type - end - - end \ No newline at end of file diff --git a/app/controllers/reports/saleitem_controller.rb b/app/controllers/reports/saleitem_controller.rb index 80bd8b93..b9f71494 100644 --- a/app/controllers/reports/saleitem_controller.rb +++ b/app/controllers/reports/saleitem_controller.rb @@ -2,17 +2,20 @@ class Reports::SaleitemController < BaseReportController authorize_resource :class => false def index - from, to, report_type = get_date_range_from_params + from, to = get_date_range_from_params shift_sale_range = Sale.get_by_shift_sale(from,to,Sale::SALE_STATUS_COMPLETED) shift = '' - if to.blank? - shift = ShiftSale.where('shift_started_at = ? and shift_closed_at is NULL ',from) - else - shift = ShiftSale.where('shift_started_at = ? and shift_closed_at = ? ',from, to) - end + if params[:shift_name].to_i != 0 + shift_sale = ShiftSale.find(params[:shift_name]) + if to.blank? + shift = ShiftSale.where('shift_started_at = ? and shift_closed_at is NULL ',shift_sale.shift_started_at) + else - @sale_data, @discount_data , @cash_data , @card_data , @credit_data , @foc_data , @grand_total = Sale.get_by_shift_items(shift_sale_range,shift, from, to, Sale::SALE_STATUS_COMPLETED, report_type) + shift = ShiftSale.where('shift_started_at = ? and shift_closed_at = ? ',shift_sale.shift_started_at, shift_sale.shift_closed_at) + end + end + @sale_data, @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) @account_cate_count = Hash.new {|hash, key| hash[key] = 0} @@ -27,7 +30,7 @@ class Reports::SaleitemController < BaseReportController @sale_data.each {|acc| @totalByAccount[acc.account_id] += acc.grand_total} - if !shift.nil? + if shift.present? shift.each do |sh| @shift_from = sh.shift_started_at.nil? ? '-' : sh.shift_started_at.utc.getlocal.strftime("%e %b %I:%M%p") @shift_to = sh.shift_closed_at.nil? ? '-' : sh.shift_closed_at.utc.getlocal.strftime("%e %b %I:%M%p") @@ -52,7 +55,8 @@ class Reports::SaleitemController < BaseReportController local_closing_date = sale.closing_date.nil? ? '-' : sale.closing_date.utc.getlocal.strftime("%e %b %I:%M%p") opening_date = sale.opening_date.nil? ? '-' : sale.opening_date.utc closing_date = sale.closing_date.nil? ? '-' : sale.closing_date.utc - str = { :local_opening_date => local_opening_date, :local_closing_date => local_closing_date, :opening_date => opening_date, :closing_date => closing_date} + shift_id = sale.id.nil? ? '-' : sale.id + str = {:shift_id => shift_id, :local_opening_date => local_opening_date, :local_closing_date => local_closing_date, :opening_date => opening_date, :closing_date => closing_date} date_arr.push(str) end @@ -62,226 +66,5 @@ class Reports::SaleitemController < BaseReportController format.json { render json: out } end end - - def get_date_range_from_params - period_type = params[:period_type] - period = params[:period] - from = params[:from] - to = params[:to] - branch = params[:branch] - report_type = params[:report_type] - - shift_name = params[:shift_name] - unless shift_name.nil? - shift_arr = shift_name.split(' - ') - shift_from = shift_arr[0] - shift_to = shift_arr[1] - end - - day_ref = Time.now - - if period_type.to_i == 1 - ### =>search by from and to - unless shift_name.nil? - if shift_name.to_s == '0' - ### => all shift - #f_date = DateTime.parse(from) - #t_date = DateTime.parse(to) - if params[:from] && params[:to] - if params[:from] != "" && params[:to] !="" - f_date = DateTime.strptime(from, "%m/%d/%Y") - t_date = DateTime.strptime(to, "%m/%d/%Y") - - 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 - to = t_time.end_of_day.utc - end - else - from = day_ref.beginning_of_day.utc - to = day_ref.end_of_day.utc - end - else - unless shift_from == '-' - f_date = DateTime.parse(shift_from) - from = f_date - else - from = '' - end - - unless shift_to == '-' - t_date = DateTime.parse(shift_to) - to = t_date - else - to = '' - end - end - else - # f_date = DateTime.parse(from) - # t_date = DateTime.parse(to) - if params[:from] && params[:to] - if params[:from] != "" && params[:to] !="" - f_date = DateTime.strptime(from, "%m/%d/%Y") - t_date = DateTime.strptime(to, "%m/%d/%Y") - 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 - to = t_time.end_of_day.utc - end - else - from = day_ref.beginning_of_day.utc - to = day_ref.end_of_day.utc - end - end - else - ### => search by Today or yesterday - unless shift_name.nil? - if shift_name.to_s == '0' - ### => all shift - 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 - - else - unless shift_from == '-' - f_date = DateTime.parse(shift_from) - # f_date = DateTime.strptime(shift_from, "%m/%d/%Y") - #f_time = Time.mktime(f_date.year,f_date.month,f_date.day,f_date.hour,f_date.min,f_date.sec) - from = f_date - else - from = '' - end - - unless shift_to == '-' - t_date = DateTime.parse(shift_to) - # t_date = DateTime.strptime(shift_to, "%m/%d/%Y") - - #t_time = Time.mktime(t_date.year,t_date.month,t_date.day,t_date.hour,t_date.min,t_date.sec) - to = t_date - else - to = '' - end - end - else - if params[:report_type].to_i != 0 - r_type = params[:report_type].to_s - - if r_type == 'shift_item' - - 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 - else - ### => report not shift - 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 - end - - - - end - - return from, to,report_type - end - + end diff --git a/app/controllers/reports/shiftsale_controller.rb b/app/controllers/reports/shiftsale_controller.rb index 87fae97d..fc3adbf9 100644 --- a/app/controllers/reports/shiftsale_controller.rb +++ b/app/controllers/reports/shiftsale_controller.rb @@ -3,16 +3,40 @@ class Reports::ShiftsaleController < BaseReportController def index - from, to, report_type = get_date_range_from_params - @sale_data = Sale.get_by_shiftsales(from,to) - respond_to do |format| + from, to = get_date_range_from_params + @shift = '' + if params[:shift_name].to_i != 0 + @shift = ShiftSale.find(params[:shift_name]) + end + @sale_data = Sale.get_by_shiftsales(from,to,@shift) + + respond_to do |format| format.html format.xls end end def show - + from, to = get_date_range_from_params + + @sale_data = Sale.get_by_shift_sale(from,to,Sale::SALE_STATUS_COMPLETED) + + date_arr = Array.new + @sale_data.each do |sale| + local_opening_date = sale.opening_date.nil? ? '-' : sale.opening_date.utc.getlocal.strftime("%e %b %I:%M%p") + local_closing_date = sale.closing_date.nil? ? '-' : sale.closing_date.utc.getlocal.strftime("%e %b %I:%M%p") + opening_date = sale.opening_date.nil? ? '-' : sale.opening_date.utc + closing_date = sale.closing_date.nil? ? '-' : sale.closing_date.utc + shift_id = sale.id.nil? ? '-' : sale.id + str = {:shift_id => shift_id, :local_opening_date => local_opening_date, :local_closing_date => local_closing_date, :opening_date => opening_date, :closing_date => closing_date} + date_arr.push(str) + end + + out = {:status => 'ok', :message => date_arr} + + respond_to do |format| + format.json { render json: out } + end end end diff --git a/app/models/ability.rb b/app/models/ability.rb index 1cf1d902..f9d98bfc 100644 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -75,8 +75,8 @@ class Ability can :read, Sale can :update, Sale - can :add_customer, Customer - can :update_sale_by_customer, Customer + can :add_customer, Customer + can :update_sale_by_customer, Customer can :index, :other_charge can :create, :other_charge diff --git a/app/models/sale.rb b/app/models/sale.rb index 12896b7d..4e47f6cd 100644 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -503,84 +503,18 @@ def self.get_by_range_by_saleitems(from,to,status,report_type) - case report_type.to_i - when REPORT_TYPE["daily"] - return query - when REPORT_TYPE["monthly"] - - return query.group("MONTH(date)") - when REPORT_TYPE["yearly"] - return query.group("YEAR(date)") - end end -def self.get_by_shiftsales(from,to) - return ShiftSale.where("(shift_started_at between ? and ? OR shift_closed_at between ? and ? )", from, to, from, to) +def self.get_by_shiftsales(from,to,shift) + if !shift.blank? + ShiftSale.where("id =?",shift.id) + else + ShiftSale.where("(shift_started_at between ? and ? OR shift_closed_at between ? and ? )", from, to, from, to) + end end -# def self.get_by_shiftsales(from,to) -# shift_sales = ShiftSale.select('shift_sales.id, cs.name as cashier_station_name, shift_sales.shift_started_at as opening_date, shift_sales.shift_closeed_at as closing_date') -# .joins(" INNER JOIN cashier_terminals cs ON cs.id = shift_sales.cashier_terminal_id") -# .where("shift_sales.employee_id = ? and (shift_sales.shift_started_at between ? and ? OR shift_sales.shift_closeed_at between ? and ? )", employee, from, to, from, to) -# .order("shift_sales.id DESC") - -# sale_arr = Array.new -# shift_sales.each do |shift| -# all_total= Sale.select("grand_total,sr.payment_method, sr.payment_amount, rounding_adjustment") -# .joins("join employees e on sales.cashier_id = e.id join shift_sales sh on sh.id = sales.shift_sale_id") -# .joins("INNER JOIN (select * from sale_payments group by sale_payments.sale_id, sale_payments.payment_method) sr ON sr.sale_id = sales.sale_id") -# .where("sales.shift_sale_id =? and sales.sale_status = 'completed' and sales.total_amount != 0",shift.id) - -# void = Sale.select("SUM(sales.grand_total) AS grand_total") -# .joins("join shift_sales sh on sh.id = sales.shift_sale_id") -# .where('sales.sale_status = "void" and sales.total_amount != 0 and sales.shift_sale_id = ?', shift.id) -# .sum(:grand_total) -# cash = all_total.select('sr.payment_method') -# .where('sr.payment_method = "cash"') -# .sum(:amount) - -# credit = all_total.where('sr.payment_method = "creditnote"') -# .sum(:amount) - -# accept_credit = all_total.select('ci.amout') -# .joins("INNER JOIN credit_items ci ON ci.sale_id = sales.id") -# .where('sr.payment_method = "creditnote"') -# .sum(:amout) - - - -# foc = all_total.where('sales.payment_method = "foc" and sales.sale_status = "completed"') -# .sum(:grand_total) - -# card = all_total.select('payment_method') -# .where('sr.payment_method = "card"') -# .sum(:amount).to_f - -# rounding_adj = all_total.sum(:rounding_adjustment) - -# discount = all_total.sum(:discount_amount) -# void = void.nil? ? 0 : void -# cash = cash.nil? ? 0 : cash -# credit = credit.nil? ? 0 : credit -# foc = foc.nil? ? 0 : foc -# card = card.nil? ? 0 : card -# accept_credit = accept_credit.nil? ? 0 : accept_credit -# # all_payments = void.to_d + cash.to_d + credit.to_d + foc.to_d + card.to_d + accept_credit.to_d -# all_payments = cash.to_d + credit.to_d + foc.to_d + card.to_d + accept_credit.to_d -# payments = { void_amount: void, cash_amount: cash, credit_amount: credit,accept_credit_amount: accept_credit, foc_amount: foc, card_amount: card, grand_total: all_payments , cashier_station_name: shift.cashier_station_name, opening_date: shift.opening_date, closing_date: shift.closing_date, rounding_adj: rounding_adj } - -# sale_arr.push(payments) -# end - -# return sale_arr -# end - -# def self.get_receipt_no_list(from,to) -# sale = Sale.where("sale_status=? and receipt_date between ? and ?","completed",from,to) -# end - def self.get_by_shift_sale(from,to,status) query = ShiftSale.select("shift_sales.id ,shift_started_at AS opening_date,shift_closed_at As closing_date," + " grand_total AS grand_total, cash_sales AS cash," + @@ -604,7 +538,7 @@ def self.get_item_query() end - def self.get_by_shift_items(shift_sale_range, shift, from, to, status, report_type) + def self.get_by_shift_items(shift_sale_range, shift, from, to, status) # date_type_selection = get_sql_function_for_report_type(report_type) @@ -616,11 +550,12 @@ def self.get_item_query() total_foc_amount = 0 total_grand_total = 0 - if shift == '[]' + if shift.blank? ### => get all sales range in shift_sales query = query.where("sales.shift_sale_id IN (?) and sale_status='completed'",shift_sale_range.to_a) discount_query = Sale.where("sales.shift_sale_id IN (?) and sale_status ='completed'", shift_sale_range.to_a).sum(:total_discount) - sale_cash = Sale.select("SUM(case when (sale_payments.payment_method = 'mpu' or sale_payments.payment_method = 'visa' or sale_payments.payment_method = 'master' or sale_payments.payment_method = 'jcb' or sale_payments.payment_method = 'paypar') then (sale_ - sales.amount_changed) else 0 end) as card_amount, + change_amount = Sale.where("sales.shift_sale_id IN (?) and sale_status ='completed'", shift_sale_range.to_a).sum(:amount_changed) + sale_cash = Sale.select("SUM(case when (sale_payments.payment_method = 'mpu' or sale_payments.payment_method = 'visa' or sale_payments.payment_method = 'master' or sale_payments.payment_method = 'jcb' or sale_payments.payment_method = 'paypar') then (sale_payments.payment_amount) else 0 end) as card_amount, SUM(case when (sale_payments.payment_method='cash') then (sale_payments.payment_amount) else 0 end) as cash_amount, SUM(case when (sale_payments.payment_method='creditnote') then (sale_payments.payment_amount) else 0 end) as credit_amount, SUM(case when (sale_payments.payment_method='foc') then (sale_payments.payment_amount) else 0 end) as foc_amount") @@ -633,11 +568,11 @@ def self.get_item_query() total_foc_amount += s_c.foc_amount.to_f end total_grand_total = total_cash_amount.to_f + total_card_amount.to_f + total_credit_amount.to_f - - elsif shift_sale_range == '[]' + else query = query.where("sales.shift_sale_id IN (?) and sale_status='completed'",shift.to_a) discount_query = Sale.where("sales.shift_sale_id in (?) and sale_status= 'completed' ", shift.to_a).sum(:total_discount) - sale_cash = Sale.select("SUM(case when (sale_payments.payment_method = 'mpu' or sale_payments.payment_method = 'visa' or sale_payments.payment_method = 'master' or sale_payments.payment_method = 'jcb' or sale_payments.payment_method = 'paypar') then (sale_payments.payment_amount) else 0 end) as card_amount, + change_amount = Sale.where("sales.shift_sale_id in (?) and sale_status= 'completed' ", shift.to_a).sum(:amount_changed) + sale_cash = Sale.select("SUM(case when (sale_payments.payment_method ='mpu' or sale_payments.payment_method = 'visa' or sale_payments.payment_method = 'master' or sale_payments.payment_method = 'jcb' or sale_payments.payment_method = 'paypar') then (sale_payments.payment_amount) else 0 end) as card_amount, SUM(case when (sale_payments.payment_method='cash') then (sale_payments.payment_amount) else 0 end) as cash_amount, SUM(case when (sale_payments.payment_method='creditnote') then (sale_payments.payment_amount) else 0 end) as credit_amount, SUM(case when (sale_payments.payment_method='foc') then (sale_payments.payment_amount) else 0 end) as foc_amount") @@ -649,31 +584,39 @@ def self.get_item_query() total_credit_amount += s_c.credit_amount.to_f total_foc_amount += s_c.foc_amount.to_f end - total_grand_total = total_cash_amount.to_f + total_card_amount.to_f + total_credit_amount.to_f - - else - query = query.where("receipt_date between ? and ? and sale_status=?",from,to,'completed') - sale_cash = Sale.select("sales.total_discount as total_discount, - SUM(case when (sale_payments.payment_method = 'mpu' or sale_payments.payment_method = 'visa' or sale_payments.payment_method = 'master' or sale_payments.payment_method = 'jcb' or sale_payments.payment_method = 'paypar') then (sale_payments.payment_amount) else 0 end) as card_amount, - SUM(case when (sale_payments.payment_method='cash') then (sale_payments.payment_amount) else 0 end) as cash_amount, - SUM(case when (sale_payments.payment_method='creditnote') then (sale_payments.payment_amount) else 0 end) as credit_amount, - SUM(case when (sale_payments.payment_method='foc') then (sale_payments.payment_amount) else 0 end) as foc_amount") - .joins("join sale_payments on sale_payments.sale_id = sales.sale_id") - .where("sales.shift_sale_id in (?) and sale_status = 'completed' ", shift.to_a) - - sale_cash.each do |s_c| - total_cash_amount += s_c.cash_amount.to_f - total_card_amount += s_c.card_amount.to_f - total_credit_amount += s_c.credit_amount.to_f - total_foc_amount += s_c.foc_amount.to_f - discount_query = s_c.total_discount.to_f - end - total_grand_total = total_cash_amount.to_f + total_card_amount.to_f + total_credit_amount.to_f - + total_grand_total = total_cash_amount.to_f + total_card_amount.to_f + total_credit_amount.to_f + end - return query, discount_query , total_cash_amount , total_card_amount , total_credit_amount , total_foc_amount , total_grand_total - end + return query, discount_query , total_cash_amount , total_card_amount , total_credit_amount , total_foc_amount , total_grand_total , change_amount +end + +def self.get_shift_sales_by_receipt_no(shift_sale_range,shift,from,to,payment_type) + ## => left join -> show all sales although no orders + if payment_type.blank? + payment_type = '' + else + if payment_type == 'card' + payment_type = " and sale_payments.payment_method = 'mpu' or sale_payments.payment_method = 'visa' or sale_payments.payment_method = 'master' or sale_payments.payment_method = 'jcb' or sale_payments.payment_method = 'paypar'" + else + payment_type = " and sale_payments.payment_method = '#{payment_type}'" + end + end + puts payment_type + + query = Sale.all + if shift.present? + query = query.where("sales.shift_sale_id in (?) #{payment_type} and sale_status= 'completed' and sale_payments.payment_amount != 0", shift.to_a) + .joins("join sale_payments on sale_payments.sale_id = sales.sale_id") + .group("sales.sale_id") + else + query = query .where("sale_status='completed' #{payment_type} and sale_payments.payment_amount != 0 and sales.shift_sale_id in (?)",shift_sale_range.to_a) + .joins("join sale_payments on sale_payments.sale_id = sales.sale_id") + .group("sales.sale_id") + end + +end + def self.get_separate_tax(from,to,payment_method=nil) @@ -692,7 +635,7 @@ end cash = 0.0 self.sale_payments.each do |pay| if pay.payment_method == 'cash' - cash = pay.payment_amount + cash = pay.payment_amount-self.amount_changed end end return cash diff --git a/app/views/crm/customers/_new_form.html.erb b/app/views/crm/customers/_new_form.html.erb index 41130f76..d6ad14ca 100644 --- a/app/views/crm/customers/_new_form.html.erb +++ b/app/views/crm/customers/_new_form.html.erb @@ -52,11 +52,11 @@
| <%= sub_total %> | |||||||||||||||||||||||||||||||||
| Member Discount: | - <%else%> +Discount: | - <%end%> +(<%=@selected_item.total_discount rescue 0%>) | |||||||||||||||||||||||||||||||
| <%= sub_total %> | |||||||||||||||||||||||||||||||||
| Member Discount: | <%else%>Discount: | diff --git a/app/views/origami/shifts/new.html.erb b/app/views/origami/shifts/new.html.erb index 8d3ca457..a8ded240 100644 --- a/app/views/origami/shifts/new.html.erb +++ b/app/views/origami/shifts/new.html.erb @@ -110,7 +110,7 @@ $(document).on('focusout', '.float-value', function(event){ $('#open_cashier').on('click',function(){ var cashier_terminal = $('#cashier_terminal').val(); - var amount = $('#total').text(); + var amount = $('#total').text()||0; $.ajax({type: "POST", url: "<%= origami_shifts_path %>", data: "opening_balance=" + amount + "&cashier_terminal="+ cashier_terminal, diff --git a/app/views/reports/_shift_sale_report_filter.html.erb b/app/views/reports/_shift_sale_report_filter.html.erb new file mode 100644 index 00000000..a5513531 --- /dev/null +++ b/app/views/reports/_shift_sale_report_filter.html.erb @@ -0,0 +1,177 @@ +Master Sales | Visa Sales | Jcb Sales | -Paypar Sales | +Redeem Sales | Cash Sales | Credit Sales | FOC Sales | @@ -59,7 +59,8 @@ <% foc = 0 %> <% discount = 0 %> <% total = 0 %> - <% grand_total = 0 %> + <% grand_total = 0 %> + <% old_grand_total = 0 %> <% count = 1 %> <% rounding_adj = 0 %> <% @sale_data.each do |sale| %> <% void += sale[:void_amount] %> @@ -74,6 +75,7 @@ <% discount += sale[:total_discount] %> <% total += sale[:old_grand_total].to_f + sale[:rounding_adj].to_f %> <% grand_total += sale[:grand_total].to_f %> + <% old_grand_total += sale[:old_grand_total].to_f %> <% rounding_adj += sale[:rounding_adj].to_f %>||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| <%= count %> | @@ -90,25 +92,25 @@(<%= number_with_delimiter(sprintf("%.2f",sale[:total_discount]), :delimiter => ',') rescue '-'%>) | <%= number_with_delimiter(sprintf("%.2f",sale[:old_grand_total].to_f + sale[:rounding_adj].to_f ), :delimiter => ',') rescue '-'%> | <%= number_with_delimiter(sprintf("%.2f",sale[:rounding_adj].to_f), :delimiter => ',') rescue '-'%> | -<%= number_with_delimiter(sprintf("%.2f",sale[:grand_total]), :delimiter => ',') rescue '-'%> | +<%= number_with_delimiter(sprintf("%.2f",sale[:old_grand_total]), :delimiter => ',') rescue '-'%> | ||||||||||||||||||||||||||||
| Total | -<%= number_with_delimiter(sprintf("%.2f",mpu_amount), :delimiter => ',') rescue '-'%> | -<%= number_with_delimiter(sprintf("%.2f",master_amount), :delimiter => ',') rescue '-'%> | -<%= number_with_delimiter(sprintf("%.2f",visa_amount), :delimiter => ',') rescue '-'%> | -<%= number_with_delimiter(sprintf("%.2f",jcb_amount), :delimiter => ',') rescue '-'%> | -<%= number_with_delimiter(sprintf("%.2f",paypar_amount), :delimiter => ',') rescue '-'%> | +<%= number_with_delimiter(sprintf("%.2f",mpu), :delimiter => ',') rescue '-'%> | +<%= number_with_delimiter(sprintf("%.2f",master), :delimiter => ',') rescue '-'%> | +<%= number_with_delimiter(sprintf("%.2f",visa), :delimiter => ',') rescue '-'%> | +<%= number_with_delimiter(sprintf("%.2f",jcb), :delimiter => ',') rescue '-'%> | +<%= number_with_delimiter(sprintf("%.2f",paypar), :delimiter => ',') rescue '-'%> | <%= number_with_delimiter(sprintf("%.2f",cash), :delimiter => ',') rescue '-'%> | <%= number_with_delimiter(sprintf("%.2f",credit), :delimiter => ',') rescue '-'%> | <%= number_with_delimiter(sprintf("%.2f",foc), :delimiter => ',') rescue '-'%> | (<%= number_with_delimiter(sprintf("%.2f",discount), :delimiter => ',') rescue '-'%>) | <%= number_with_delimiter(sprintf("%.2f",total), :delimiter => ',') rescue '-'%> | <%= number_with_delimiter(sprintf("%.2f",rounding_adj), :delimiter => ',') rescue '-'%> | -<%= number_with_delimiter(sprintf("%.2f",grand_total), :delimiter => ',') rescue '-'%> | +<%= number_with_delimiter(sprintf("%.2f",old_grand_total), :delimiter => ',') rescue '-'%> | |||||||||||||||
| Sale (<%= params[:from] rescue '-' %> - <%= params[:to] rescue '-'%>) | +Sale (<%= from rescue '-' %> - <%= to rescue '-'%>) | ||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Sr.no | Date | @@ -15,7 +14,7 @@Master Sales | Visa Sales | Jcb Sales | -Paypar Sales | +Redeem Sales | Cash Sales | Credit Sales | FOC Sales | @@ -39,7 +38,8 @@ <% foc = 0 %> <% discount = 0 %> <% total = 0 %> - <% grand_total = 0 %> + <% grand_total = 0 %> + <% old_grand_total = 0 %> <% count = 1 %> <% rounding_adj = 0 %> <% @sale_data.each do |sale| %> <% void += sale[:void_amount] %> @@ -48,12 +48,13 @@ <% visa += sale[:visa_amount] %> <% jcb += sale[:jcb_amount] %> <% paypar += sale[:paypar_amount] %> - <% cash += sale[:cash_amount] %> + <% cash += sale[:cash_amount]-sale[:total_change_amount] %> <% credit += sale[:credit_amount] %> <% foc += sale[:foc_amount] %> <% discount += sale[:total_discount] %> - <% total += sale[:grand_total].to_f + sale[:rounding_adj].to_f %> + <% total += sale[:old_grand_total].to_f + sale[:rounding_adj].to_f %> <% grand_total += sale[:grand_total].to_f %> + <% old_grand_total += sale[:old_grand_total].to_f %> <% rounding_adj += sale[:rounding_adj].to_f %>||||||||||||||||||||||||
| <%= count %> | @@ -64,31 +65,31 @@<%= number_with_delimiter(sprintf("%.2f",sale[:visa_amount]), :delimiter => ',') rescue '-'%> | <%= number_with_delimiter(sprintf("%.2f",sale[:jcb_amount]), :delimiter => ',') rescue '-'%> | <%= number_with_delimiter(sprintf("%.2f",sale[:paypar_amount]), :delimiter => ',') rescue '-'%> | -<%= number_with_delimiter(sprintf("%.2f",sale[:cash_amount]), :delimiter => ',') rescue '-'%> | +<%= number_with_delimiter(sprintf("%.2f",sale[:cash_amount]-sale[:total_change_amount]), :delimiter => ',') rescue '-'%> | <%= number_with_delimiter(sprintf("%.2f",sale[:credit_amount]), :delimiter => ',') rescue '-'%> | <%= number_with_delimiter(sprintf("%.2f",sale[:foc_amount]), :delimiter => ',') rescue '-'%> | (<%= number_with_delimiter(sprintf("%.2f",sale[:total_discount]), :delimiter => ',') rescue '-'%>) | -<%= number_with_delimiter(sprintf("%.2f",sale[:grand_total].to_f + sale[:rounding_adj].to_f ), :delimiter => ',') rescue '-'%> | +<%= number_with_delimiter(sprintf("%.2f",sale[:old_grand_total].to_f + sale[:rounding_adj].to_f ), :delimiter => ',') rescue '-'%> | <%= number_with_delimiter(sprintf("%.2f",sale[:rounding_adj].to_f), :delimiter => ',') rescue '-'%> | -<%= number_with_delimiter(sprintf("%.2f",sale[:grand_total]), :delimiter => ',') rescue '-'%> | +<%= number_with_delimiter(sprintf("%.2f",sale[:old_grand_total]), :delimiter => ',') rescue '-'%> | ||||||||||||||||||||
| Total | -<%= number_with_delimiter(sprintf("%.2f",mpu_amount), :delimiter => ',') rescue '-'%> | -<%= number_with_delimiter(sprintf("%.2f",master_amount), :delimiter => ',') rescue '-'%> | -<%= number_with_delimiter(sprintf("%.2f",visa_amount), :delimiter => ',') rescue '-'%> | -<%= number_with_delimiter(sprintf("%.2f",jcb_amount), :delimiter => ',') rescue '-'%> | -<%= number_with_delimiter(sprintf("%.2f",paypar_amount), :delimiter => ',') rescue '-'%> | +<%= number_with_delimiter(sprintf("%.2f",mpu), :delimiter => ',') rescue '-'%> | +<%= number_with_delimiter(sprintf("%.2f",master), :delimiter => ',') rescue '-'%> | +<%= number_with_delimiter(sprintf("%.2f",visa), :delimiter => ',') rescue '-'%> | +<%= number_with_delimiter(sprintf("%.2f",jcb), :delimiter => ',') rescue '-'%> | +<%= number_with_delimiter(sprintf("%.2f",paypar), :delimiter => ',') rescue '-'%> | <%= number_with_delimiter(sprintf("%.2f",cash), :delimiter => ',') rescue '-'%> | <%= number_with_delimiter(sprintf("%.2f",credit), :delimiter => ',') rescue '-'%> | <%= number_with_delimiter(sprintf("%.2f",foc), :delimiter => ',') rescue '-'%> | (<%= number_with_delimiter(sprintf("%.2f",discount), :delimiter => ',') rescue '-'%>) | <%= number_with_delimiter(sprintf("%.2f",total), :delimiter => ',') rescue '-'%> | <%= number_with_delimiter(sprintf("%.2f",rounding_adj), :delimiter => ',') rescue '-'%> | -<%= number_with_delimiter(sprintf("%.2f",grand_total), :delimiter => ',') rescue '-'%> | +<%= number_with_delimiter(sprintf("%.2f",old_grand_total), :delimiter => ',') rescue '-'%> | |||||||||||||||
| From Date : <%= params[:from] rescue '-' %> , To Date : <%= params[:to] rescue '-'%> | -|||||||
|---|---|---|---|---|---|---|---|
| Shift Name = <%= @shift_from rescue '-'%> - <%= @shift_to rescue '-'%> ( <%= cashier_name rescue '-'%> ) | -|||||||
| From Date : <%= params[:from] %> , To Date : <%= params[:to] %> | +|||||||
| Shift Name = <%= @shift_from %> - <%= @shift_to %> ( <%= cashier_name %> ) | +|||||||
| Recipt No | @@ -61,53 +62,54 @@ <% other_amt = 0 %> <% total_nett = 0 %> <% rounding_adj = 0%> <% gov_tax = 0 %> <% service_charge = 0 %> + <%if @sale_data %> + <% @sale_data.each do |result| %> - <% @sale_data.each do |result| %> + <% grand_total = grand_total.to_f + result.grand_total.to_f %> + <% old_grand_total = old_grand_total.to_f + result.old_grand_total.to_f %> + <% total_tax += result.total_tax.to_f %> + <% total_sum += result.total_amount.to_f %> + <% discount_amt += result.total_discount.to_f %> + <% rounding_adj += result.rounding_adjustment.to_f %> + +|||||||
| <%= result.receipt_no rescue '-' %> | +<%= result.cashier_name rescue '-' %> | +<%= result.total_amount rescue '-' %> | +<%= result.total_discount rescue '-' %> | +<%= result.total_tax rescue '-' %> | + + +<%= result.old_grand_total %> | +<%= result.rounding_adjustment.to_f rescue '-' %> | +<%= result.grand_total_after_rounding() rescue '-'%> | +
| <%= result.receipt_no rescue '-' %> | -<%= result.cashier_name rescue '-' %> | -<%= result.total_amount rescue '-' %> | -<%= result.total_discount rescue '-' %> | -<%= result.total_tax rescue '-' %> | - - -<%= result.grand_total %> | -<%= result.rounding_adjustment.to_f rescue '-' %> | -<%= result.grand_total_after_rounding() rescue '-'%> | -
| - | <%= total_sum rescue '-'%> | -<%= discount_amt rescue '-'%> | -<%= sprintf "%.2f",total_tax rescue '-'%> | - -<%= grand_total.to_f.round(2) rescue '-'%> | -<%= rounding_adj rescue '-'%> | -<%= old_grand_total.to_f.round + rounding_adj %> | -|
| - | Total Amount | -Discount Amount | -Tax Amount | -Grand Total | -Rounding Adj. | -Grand Total + - Rounding Adj. - |
- |
| + | <%= total_sum rescue '-'%> | +<%= discount_amt rescue '-'%> | +<%= sprintf "%.2f",total_tax rescue '-'%> | + +<%= old_grand_total.to_f.round(2) rescue '-'%> | +<%= rounding_adj rescue '-'%> | +<%= old_grand_total.to_f.round + rounding_adj %> | +|
| + | Total Amount | +Discount Amount | +Tax Amount | +Grand Total | +Rounding Adj. | +Grand Total + + Rounding Adj. + |
+ |
| From Date : <%= params[:from] rescue '-' %> , To Date : <%= params[:to] rescue '-'%> | -|||||||
|---|---|---|---|---|---|---|---|
| Shift Name = <%= @shift_from rescue '-'%> - <%= @shift_to rescue '-'%> ( <%= cashier_name rescue '-'%> ) | -|||||||
| From Date : <%= params[:from] %> , To Date : <%= params[:to] %> | +|||||||
| Shift Name = <%= @shift_from %> - <%= @shift_to %> ( <%= cashier_name %> ) | +|||||||
| Recipt No | @@ -32,6 +33,7 @@|||||||
| <%= result.receipt_no rescue '-' %> | +<%= result.cashier_name rescue '-' %> | +<%= result.total_amount rescue '-' %> | +<%= result.total_discount rescue '-' %> | +<%= result.total_tax rescue '-' %> | + + +<%= result.old_grand_total %> | +<%= result.rounding_adjustment.to_f rescue '-' %> | +<%= result.grand_total_after_rounding() rescue '-'%> | +
| <%= result.receipt_no rescue '-' %> | -<%= result.cashier_name rescue '-' %> | -<%= result.total_amount rescue '-' %> | -<%= result.total_discount rescue '-' %> | -<%= sprintf "%.2f",result.total_tax rescue '-' %> | - - -<%= result.grand_total %> | -<%= result.rounding_adjustment.to_f rescue '-' %> | -<%= result.grand_total_after_rounding() rescue '-'%> | -
| - | <%= total_sum rescue '-'%> | -<%= discount_amt rescue '-'%> | -<%= sprintf "%.2f",total_tax rescue '-'%> | - -<%= grand_total.to_f.round(2) rescue '-'%> | -<%= rounding_adj rescue '-'%> | -<%= grand_total.to_f.round + rounding_adj %> | -|
| - | Total Amount | -Discount Amount | -Tax Amount | -Grand Total | -Rounding Adj. | -Grand Total + - Rounding Adj. - |
- |
| + | <%= total_sum rescue '-'%> | +<%= discount_amt rescue '-'%> | +<%= sprintf "%.2f",total_tax rescue '-'%> | + +<%= old_grand_total.to_f.round(2) rescue '-'%> | +<%= rounding_adj rescue '-'%> | +<%= old_grand_total.to_f.round + rounding_adj %> | +|
| + | Total Amount | +Discount Amount | +Tax Amount | +Grand Total | +Rounding Adj. | +Grand Total + + Rounding Adj. + |
+ |
| From Date : <%= params[:from] %> , To Date : <%= params[:to] %> | + <% if !params[:from].blank?%> +||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| From Date : <%= params[:from] %> , To Date : <%= params[:to] %> | +||||||||||||||||||||||||
| Shift Name = <%= @shift_from %> - <%= @shift_to %> ( <%= cashier_name %> ) | +||||||||||||||||||||||||
| + | Menu Category | +Code | +Product | +Total Item | +Unit Price | +Revenue | +||||||||||||||||||
| <%= sale.account_name %> | ++ | Total Price By <%= sale.account_name %> | ++ <% @totalByAccount.each do |account, total| %> + <% if sale.account_id == account %> + <%= total %> + <% grand_total += total %> + <% end %> + <% end %> + | +|||||||||||||||||||||
| + <% if !cate_arr.include?(sale.menu_category_id) %> + | <%= sale.menu_category_name %> | + <% cate_arr.push(sale.menu_category_id) %> + <% else %> ++ <% end %> + | <%= sale.item_code rescue '-' %> | +<%= sale.product_name rescue '-' %> | +<%= sale.total_item rescue '-' %> | +<%= sale.unit_price rescue '-' %> | +<%= sale.grand_total rescue '-' %> | + +|||||||||||||||||
| + | Sub Total | +<%= sub_total %> | + +||||||||||||||||||||||
| + | Total Item | +<%= total_qty%> | +Total Amount | +<%= grand_total%> | +||||||||||||||||||||
| + | Cash Received | +<%= @cash_data - @change_amount %> | ||||||||||||||||||||||
| Shift Name = <%= @shift_from %> - <%= @shift_to %> ( <%= cashier_name %> ) | -||||||||||||||||||||||||
| - | Menu Category | -Code | -Product | -Total Item | -Unit Price | -Revenue | -||||||||||||||||||
| - <% if !cate_arr.include?(sale.menu_category_id) %> - | <%= sale.menu_category_name %> | - <% cate_arr.push(sale.menu_category_id) %> - <% else %> -- <% end %> - | <%= sale.code rescue '-' %> | - <% if @item_table == 'sale' %> - <% if sale.item_remark == 'FOC' %> -<%= '[PROMO] '.to_s + sale.product_name.to_s rescue '-' %> | - <% elsif sale.item_remark == 'FOC ITEM' %> -<%= '[DIS:QTY] '.to_s + sale.product_name.to_s rescue '-' %> | - <% elsif sale.item_remark == 'DISCOUNT' %> -<%= '[DIS:TP] '.to_s + sale.product_name.to_s rescue '-' %> | - <% else %> -<%= sale.product_name.to_s rescue '-' %> | - <% end %> - <% if sale.item_remark == 'DISCOUNT' %> -- | -- | -<%= sale.total_price.abs rescue '-' %> | - <% total_price += sale.total_price %> - <% else %> -<%= sale.total_item.abs rescue '-' %> | -<%= sale.unit_price rescue '-' %> | -<%= sale.grand_total.abs rescue '-' %> | - <% end %> - <% else %> -<%= sale.product_name.to_s rescue '-' %> | -<%= sale.total_item.abs rescue '-' %> | -<%= sale.unit_price rescue '-' %> | -<%= sale.grand_total.abs rescue '-' %> | - <% end %> ++ | Card Sales | +<%= @card_data %> | ||||
| + | Credit Sales | +<%= @credit_data %> | +||||||||||||||||||||||
| + | FOC Sales | +<%= @foc_data %> | +||||||||||||||||||||||
| + | Discount Amount | +<%= @discount_data %> | +||||||||||||||||||||||
| Grand Total | -<%= grand_total + total_discount %> | + +<%= @grand_total - @change_amount%> | ||||||||||||||||||||||