diff --git a/app/controllers/reports/saleitem_controller.rb b/app/controllers/reports/saleitem_controller.rb index b12b45d7..a0569378 100755 --- a/app/controllers/reports/saleitem_controller.rb +++ b/app/controllers/reports/saleitem_controller.rb @@ -87,31 +87,44 @@ class Reports::SaleitemController < BaseReportController end def print_sale_items - type = params[:type] - account = params[:account] - from_date = to_date = '-' - if !params[:from].nil? - from_date = Date.parse(params[:from]) - end - if !params[:to].nil? - to_date = Date.parse(params[:to]) - end + from, to = get_date_range_from_params - shift = params[:shift_name] - shift_name = "All Shifts" - if shift.to_i > 0 - shift_name = params[:shift_from].to_s+" - ".to_s+params[:shift_to].to_s - end + shift_sale_range = '' - period_name = get_period_name(params[:period]) + shift = '' + shift_name = 'All Shift' + if params[:shift_name].to_i != 0 + + shift_sale_range = Sale.get_by_shift_sale_by_item(from,to,Sale::SALE_STATUS_COMPLETED) + + 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 + if shift_sale.shift_closed_at.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 + + sh_name = "#{shift_sale.shift_started_at.utc.getlocal.strftime('%d %B %l:%M%p')} - #{shift_sale.shift_closed_at.utc.getlocal.strftime('%d %B %l:%M%p')}" + employee = Employee.find(shift_sale.employee_id) + shift_name = employee.nil? ? sh_name : "#{sh_name} (#{employee.name})" + end shop_details = shop_detail + account_type = params[:account_type] + @type = params[:period_type] + period_name = get_period_name(params[:period]) + @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) + # get printer info print_settings = PrintSetting.find_by_unique_code('CloseCashierPdf') # SaleItemsPdf printer = Printer::CashierStationPrinter.new(print_settings) - printer.print_sale_items_report(print_settings, shop_details, period_name, type, account, from_date, to_date, shift_name, params[:sale_items], params[:menu_cate_count]) + printer.print_sale_items_report(print_settings, shop_details, period_name, @type, account_type, from, to, shift_name, @sale_data) respond_to do |format| format.html { redirect_to '/en/reports/saleitem/', notice: 'Printing Completed.'} diff --git a/app/models/printer/cashier_station_printer.rb b/app/models/printer/cashier_station_printer.rb index 64c448c0..8fdbc6d2 100755 --- a/app/models/printer/cashier_station_printer.rb +++ b/app/models/printer/cashier_station_printer.rb @@ -81,10 +81,10 @@ class Printer::CashierStationPrinter < Printer::PrinterWorker end end - def print_sale_items_report(print_settings, shop_details, period_name, type, account, from_date, to_date, shift_name, sale_items, menu_cate_count) + def print_sale_items_report(print_settings, shop_details, period_name, type, account, from_date, to_date, shift_name, sale_items) filename = "tmp/reports_sale_items.pdf" - pdf = SaleItemsPdf.new(print_settings, shop_details, period_name, type, account, from_date, to_date, shift_name, sale_items, nil, menu_cate_count, nil) + pdf = SaleItemsPdf.new(print_settings, shop_details, period_name, type, account, from_date, to_date, shift_name, sale_items, nil, nil, nil) pdf.render_file filename diff --git a/app/pdf/sale_items_pdf.rb b/app/pdf/sale_items_pdf.rb index 30c6e835..99572923 100644 --- a/app/pdf/sale_items_pdf.rb +++ b/app/pdf/sale_items_pdf.rb @@ -105,7 +105,7 @@ class SaleItemsPdf < Prawn::Document text "From Date : ", :size => self.item_font_size,:align => :left end bounding_box([@label_name_width,y_position], :width => @label_item_width, :height => self.item_height) do - text "#{ from_date}" , :size => self.item_font_size,:align => :left + text "#{ from_date.utc.getlocal.strftime("%d-%m-%Y")}" , :size => self.item_font_size,:align => :left end y_position = cursor @@ -113,14 +113,14 @@ class SaleItemsPdf < Prawn::Document text "To Date : ", :size => self.item_font_size,:align => :left end bounding_box([@label_name_width,y_position], :width => @label_item_width, :height => self.item_height) do - text "#{ to_date}" , :size => self.item_font_size,:align => :left + text "#{ to_date.utc.getlocal.strftime("%d-%m-%Y")}" , :size => self.item_font_size,:align => :left end y_position = cursor bounding_box([0,y_position], :width =>@label_name_width, :height => self.item_height) do text "Shift : ", :size => self.item_font_size,:align => :left end - bounding_box([@label_name_width,y_position], :width => @label_item_width, :height => self.item_height) do + bounding_box([@label_name_width,y_position], :width => @label_item_width) do text "#{shift}" , :size => self.item_font_size,:align => :left end @@ -148,7 +148,7 @@ class SaleItemsPdf < Prawn::Document arr = Array.new unless sale_items.nil? - JSON.parse(sale_items).each do |item| + sale_items.each do |item| if !arr.include?(item['menu_category_id']) diff --git a/app/views/reports/saleitem/index.html.erb b/app/views/reports/saleitem/index.html.erb index b64076b0..971f9b44 100644 --- a/app/views/reports/saleitem/index.html.erb +++ b/app/views/reports/saleitem/index.html.erb @@ -15,7 +15,7 @@