sale items pdf
This commit is contained in:
@@ -87,31 +87,44 @@ class Reports::SaleitemController < BaseReportController
|
|||||||
end
|
end
|
||||||
|
|
||||||
def print_sale_items
|
def print_sale_items
|
||||||
type = params[:type]
|
from, to = get_date_range_from_params
|
||||||
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
|
|
||||||
|
|
||||||
shift = params[:shift_name]
|
shift_sale_range = ''
|
||||||
shift_name = "All Shifts"
|
|
||||||
if shift.to_i > 0
|
|
||||||
shift_name = params[:shift_from].to_s+" - ".to_s+params[:shift_to].to_s
|
|
||||||
end
|
|
||||||
|
|
||||||
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
|
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
|
# get printer info
|
||||||
print_settings = PrintSetting.find_by_unique_code('CloseCashierPdf') # SaleItemsPdf
|
print_settings = PrintSetting.find_by_unique_code('CloseCashierPdf') # SaleItemsPdf
|
||||||
printer = Printer::CashierStationPrinter.new(print_settings)
|
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|
|
respond_to do |format|
|
||||||
format.html { redirect_to '/en/reports/saleitem/', notice: 'Printing Completed.'}
|
format.html { redirect_to '/en/reports/saleitem/', notice: 'Printing Completed.'}
|
||||||
|
|||||||
@@ -81,10 +81,10 @@ class Printer::CashierStationPrinter < Printer::PrinterWorker
|
|||||||
end
|
end
|
||||||
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"
|
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
|
pdf.render_file filename
|
||||||
|
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ class SaleItemsPdf < Prawn::Document
|
|||||||
text "From Date : ", :size => self.item_font_size,:align => :left
|
text "From Date : ", :size => self.item_font_size,:align => :left
|
||||||
end
|
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, :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
|
end
|
||||||
|
|
||||||
y_position = cursor
|
y_position = cursor
|
||||||
@@ -113,14 +113,14 @@ class SaleItemsPdf < Prawn::Document
|
|||||||
text "To Date : ", :size => self.item_font_size,:align => :left
|
text "To Date : ", :size => self.item_font_size,:align => :left
|
||||||
end
|
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, :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
|
end
|
||||||
|
|
||||||
y_position = cursor
|
y_position = cursor
|
||||||
bounding_box([0,y_position], :width =>@label_name_width, :height => self.item_height) do
|
bounding_box([0,y_position], :width =>@label_name_width, :height => self.item_height) do
|
||||||
text "Shift : ", :size => self.item_font_size,:align => :left
|
text "Shift : ", :size => self.item_font_size,:align => :left
|
||||||
end
|
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
|
text "#{shift}" , :size => self.item_font_size,:align => :left
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -148,7 +148,7 @@ class SaleItemsPdf < Prawn::Document
|
|||||||
arr = Array.new
|
arr = Array.new
|
||||||
|
|
||||||
unless sale_items.nil?
|
unless sale_items.nil?
|
||||||
JSON.parse(sale_items).each do |item|
|
sale_items.each do |item|
|
||||||
|
|
||||||
if !arr.include?(item['menu_category_id'])
|
if !arr.include?(item['menu_category_id'])
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
<hr />
|
<hr />
|
||||||
|
|
||||||
<div class="text-right">
|
<div class="text-right">
|
||||||
<%= link_to "Print", reports_print_sale_items_path(:type => params[:sale_type], :period => params[:period], :account => params[:account_type], :from => @from, :to => @to, :shift_name => params[:shift_name], :shift_from => @shift_from, :shift_to => @shift_to, :menu_cate_count => @menu_cate_count, :sale_items => @sale_data.to_json), :method => 'post', class:"btn btn-info wave-effects" %>
|
<button class="btn btn-info wave-effects" onclick="print_sale_items()">Print</button>
|
||||||
<a href="javascript:export_to('<%=reports_saleitem_index_path%>.xls')" class = "btn btn-info wave-effects "><%= t("views.btn.exp_to_excel") %></a>
|
<a href="javascript:export_to('<%=reports_saleitem_index_path%>.xls')" class = "btn btn-info wave-effects "><%= t("views.btn.exp_to_excel") %></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -66,6 +66,7 @@
|
|||||||
<% other_sub_total = 0 %>
|
<% other_sub_total = 0 %>
|
||||||
<% product_sub_total = 0 %>
|
<% product_sub_total = 0 %>
|
||||||
<% count = 0 %>
|
<% count = 0 %>
|
||||||
|
<% row_count = 0 %>
|
||||||
<% total_price = 0 %>
|
<% total_price = 0 %>
|
||||||
<% cate_count = 0 %>
|
<% cate_count = 0 %>
|
||||||
<% acc_count = 0 %>
|
<% acc_count = 0 %>
|
||||||
@@ -78,6 +79,7 @@
|
|||||||
<% total_tax = 0 %>
|
<% total_tax = 0 %>
|
||||||
<% unless @sale_data.blank? %>
|
<% unless @sale_data.blank? %>
|
||||||
<% @sale_data.each do |sale| %>
|
<% @sale_data.each do |sale| %>
|
||||||
|
<% row_count += 1 %>
|
||||||
<!-- all total qty sum -->
|
<!-- all total qty sum -->
|
||||||
|
|
||||||
<% if sale.status_type != "Discount" && sale.status_type != "foc" && sale.status_type != "promotion"
|
<% if sale.status_type != "Discount" && sale.status_type != "foc" && sale.status_type != "promotion"
|
||||||
@@ -285,6 +287,7 @@
|
|||||||
<%end%>
|
<%end%>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -293,10 +296,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
$(function(){
|
$(function(){
|
||||||
|
|
||||||
|
|
||||||
var check_arr = [];
|
var check_arr = [];
|
||||||
|
|
||||||
var search = '<%= params[:period_type] %>';
|
var search = '<%= params[:period_type] %>';
|
||||||
|
|
||||||
if(search){
|
if(search){
|
||||||
@@ -309,7 +309,7 @@
|
|||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
search_by_period();
|
search_by_period();
|
||||||
}
|
}
|
||||||
|
|
||||||
$('#sel_period').change(function(){
|
$('#sel_period').change(function(){
|
||||||
search_by_period();
|
search_by_period();
|
||||||
@@ -407,4 +407,29 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function print_sale_items(){
|
||||||
|
var period = $('#sel_period').val();
|
||||||
|
var type = $('#sel_sale_type').val();
|
||||||
|
var account = $('#account_type').val();
|
||||||
|
var from = $('#from').val();
|
||||||
|
var to = $('#to').val();
|
||||||
|
var shift = $('#shift_name').val();
|
||||||
|
// var flag = false;
|
||||||
|
// alert($('#row_count').val())
|
||||||
|
|
||||||
|
// if (flag == true) {
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: "<%= reports_print_sale_items_path %>",
|
||||||
|
data: "period="+period+"&period_type="+type+"&account_type="+account+"&from="+from+"&to="+to+"&shift_name="+shift,
|
||||||
|
success: function(data){
|
||||||
|
if (data != null){
|
||||||
|
location.reload();
|
||||||
|
}
|
||||||
|
$("#loader").hide();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// }
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
Reference in New Issue
Block a user