diff --git a/app/controllers/origami/discounts_controller.rb b/app/controllers/origami/discounts_controller.rb index 030629bf..d9f1f4fb 100644 --- a/app/controllers/origami/discounts_controller.rb +++ b/app/controllers/origami/discounts_controller.rb @@ -97,13 +97,14 @@ class Origami::DiscountsController < BaseOrigamiController if Sale.exists?(sale_id) sale = Sale.find(sale_id) table_id = sale.bookings[0].dining_facility_id - table_type = DiningFacility.find(table_id).type - + table_type = DiningFacility.find(table_id).type + + discount_items = [] #destroy all discount sale item - sale.sale_items.each do |si| - if si.remark == "Discount" && si.price < 0 - sale.total_amount = (sale.total_amount + si.price.abs) - si.destroy + sale.sale_items.each do |si| + if si.remark == "Discount" && si.price < 0 + sale.total_amount = (sale.total_amount + si.price.abs) + discount_items.push(si) end end @@ -111,6 +112,9 @@ class Origami::DiscountsController < BaseOrigamiController # sale.grand_total = (sale.total_amount - sale.total_discount) + sale.total_tax; # sale.save + #destroy in sale.sale_items + sale.sale_items.destroy(discount_items) + # Re-calc All Amount in Sale sale.compute_by_sale_items(sale_id, sale.sale_items, 0) result = {:status=> "Success", :table_id => table_id, :table_type => table_type } @@ -139,7 +143,6 @@ class Origami::DiscountsController < BaseOrigamiController arr.push(str) end end - end generic_customer_id = sale.customer.membership_id diff --git a/app/pdf/receipt_bill_pdf.rb b/app/pdf/receipt_bill_pdf.rb index 418a33d9..bf826af9 100644 --- a/app/pdf/receipt_bill_pdf.rb +++ b/app/pdf/receipt_bill_pdf.rb @@ -1,6 +1,6 @@ class ReceiptBillPdf < Prawn::Document include ActionView::Helpers::NumberHelper - attr_accessor :label_width,:price_column_width,:page_width, :page_height, :margin, :price_width, :item_width, :header_font_size, :item_font_size,:item_height,:qty_width,:total_width,:item_description_width + attr_accessor :label_width,:price_column_width,:page_width, :page_height, :margin, :price_width, :item_width, :header_font_size, :item_font_size,:item_height,:qty_width,:total_width,:item_description_width, :description_width, :price_num_width def initialize(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info = nil,rebate_amount = nil,shop_details, printed_status) self.page_width = 210 self.page_height = 7000 @@ -12,6 +12,9 @@ class ReceiptBillPdf < Prawn::Document self.item_height = 15 self.item_description_width = (self.page_width-20) / 2 self.label_width = 100 + + self.description_width = 150 + self.price_num_width = 50 # @item_width = self.page_width.to_i / 2 # @qty_width = @item_width.to_i / 3 # @double = @qty_width * 1.3 @@ -73,10 +76,10 @@ class ReceiptBillPdf < Prawn::Document move_down 7 # move_down 2 y_position = cursor - bounding_box([0,y_position], :width =>self.label_width, :height => self.item_height) do + bounding_box([0,y_position], :width =>self.description_width, :height => self.item_height) do text "Receipt No: #{sale_data.receipt_no}", :size => self.item_font_size,:align => :left end - bounding_box([self.label_width,y_position], :width => self.label_width, :height => self.item_height) do + bounding_box([self.description_width,y_position], :width => self.price_num_width, :height => self.item_height) do text "#{ sale_data.bookings[0].dining_facility.type } - #{ sale_data.bookings[0].dining_facility.name }" , :size => self.item_font_size,:align => :right end move_down 5 @@ -140,7 +143,7 @@ class ReceiptBillPdf < Prawn::Document y_position = cursor pad_top(15) { - text_box "#{product_name}", :at =>[0,y_position], :width => self.item_width, :size => self.item_font_size, :overflow => :shrink_to_fix + text_box "#{product_name}", :at =>[0,y_position], :width => self.item_width, :size => self.item_font_size , :overflow => :expand text_box "#{number_with_precision(price, :precision => precision.to_i, :delimiter => delimiter)}", :at =>[self.item_width,y_position], :width => self.price_width, :size => self.item_font_size, :align => :right, :overflow => :shrink_to_fix text_box "#{number_with_precision(qty, :precision => precision.to_i)}", :at =>[item_name_width,y_position], :width => self.qty_width, :size => self.item_font_size, :align => :center, :overflow => :shrink_to_fix text_box "#{number_with_precision(total_price, :precision => precision.to_i, :delimiter => delimiter)}", :at =>[(item_name_width+4),y_position], :width =>self.total_width+3, :size => self.item_font_size, :align => :right, :overflow => :shrink_to_fix diff --git a/lib/tasks/menu_osaka.rake b/lib/tasks/menu_osaka.rake index e81ed490..9241166b 100644 --- a/lib/tasks/menu_osaka.rake +++ b/lib/tasks/menu_osaka.rake @@ -288,7 +288,7 @@ menu_category10 = MenuCategory.create({menu: menu, name: "Udon", alt_name: "Udo menu_category1_menu_item99 = SimpleMenuItem.create({name: "U6 Seafood Fried Udon", alt_name: "",menu_category: menu_category10 , min_selectable_item: 1, max_selectable_item:1, account: food }) menu_item0_instance = MenuItemInstance.create([{item_instance_name:"",menu_item: menu_category1_menu_item99, price:4900.00, is_on_promotion:false}]) # U7 Beef Frid Udon - menu_category1_menu_item100 = SimpleMenuItem.create({name: "U7 Beef Frid Udon", alt_name: "",menu_category: menu_category10 , min_selectable_item: 1, max_selectable_item:1, account: food }) + menu_category1_menu_item100 = SimpleMenuItem.create({name: "U7 Beef Fried Udon", alt_name: "",menu_category: menu_category10 , min_selectable_item: 1, max_selectable_item:1, account: food }) menu_item0_instance = MenuItemInstance.create([{item_instance_name:"",menu_item: menu_category1_menu_item100, price:4500.00, is_on_promotion:false}]) # U8 Spicy Beef Fried Udon menu_category1_menu_item93 = SimpleMenuItem.create({name: "U8 Spicy Beef Fried Udon", alt_name: "",menu_category: menu_category10 , min_selectable_item: 1, max_selectable_item:1, account: food }) @@ -640,8 +640,8 @@ menu_category23 = MenuCategory.create({menu: menu, name: "Smoothies", alt_name: menu_category23_menu_item201 = SimpleMenuItem.create({name: "Passion fruit smoothie", alt_name: "",menu_category: menu_category23 , min_selectable_item: 1, max_selectable_item:1, account: beverage }) menu_item0_instance = MenuItemInstance.create([{item_instance_name:"Passion fruit smoothie",menu_item: menu_category23_menu_item201, price:3500.00, is_on_promotion:false}]) # Mixederry smoothie - menu_category23_menu_item202 = SimpleMenuItem.create({name: "Mixederry smoothie", alt_name: "",menu_category: menu_category23 , min_selectable_item: 1, max_selectable_item:1, account: beverage }) - menu_item0_instance = MenuItemInstance.create([{item_instance_name:"Mixederry smoothie",menu_item: menu_category23_menu_item202, price:3500.00, is_on_promotion:false}]) + menu_category23_menu_item202 = SimpleMenuItem.create({name: "Mixedberry smoothie", alt_name: "",menu_category: menu_category23 , min_selectable_item: 1, max_selectable_item:1, account: beverage }) + menu_item0_instance = MenuItemInstance.create([{item_instance_name:"Mixedberry smoothie",menu_item: menu_category23_menu_item202, price:3500.00, is_on_promotion:false}]) # Blueberry smoothie menu_category23_menu_item203 = SimpleMenuItem.create({name: "Blueberry smoothie", alt_name: "",menu_category: menu_category23 , min_selectable_item: 1, max_selectable_item:1, account: beverage }) menu_item0_instance = MenuItemInstance.create([{item_instance_name:"Blueberry smoothie",menu_item: menu_category23_menu_item203, price:3500.00, is_on_promotion:false}]) @@ -857,44 +857,44 @@ menu_category33 = MenuCategory.create({menu: menu, name: "Grilled", alt_name: "G puts "Osaka's menu setup" zone = Zone.create({id:1, name: "H1", is_active:true, created_by: "SYSTEM DEFAULT"}) - table = Table.create({zone: zone, name:"Table1", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone, name:"Table2", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone, name:"Table3", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone, name:"Table4", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone, name:"Table5", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone, name:"Table6", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone, name:"Table7", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone, name:"Table8", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone, name:"Table9", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone, name:"Table10", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone, name:"Table11", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone, name:"Table12", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone, name:"Table13", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone, name:"1", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone, name:"2", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone, name:"3", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone, name:"4", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone, name:"5", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone, name:"6", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone, name:"7", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone, name:"8", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone, name:"9", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone, name:"10", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone, name:"11", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone, name:"12", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone, name:"13", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) zone2 = Zone.create({id:2, name: "H2", is_active:true, created_by: "SYSTEM DEFAULT"}) - table = Table.create({zone: zone2, name:"Table14", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone2, name:"Table15", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone2, name:"Table16", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone2, name:"Table17", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone2, name:"Table18", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone2, name:"Table19", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone2, name:"Table20", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone2, name:"Table21", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone2, name:"Table22", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone2, name:"Table23", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone2, name:"Table24", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone2, name:"Table25", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone2, name:"Table26", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone2, name:"Table27", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone2, name:"14", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone2, name:"15", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone2, name:"16", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone2, name:"17", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone2, name:"18", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone2, name:"19", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone2, name:"20", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone2, name:"21", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone2, name:"22", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone2, name:"23", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone2, name:"24", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone2, name:"25", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone2, name:"26", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone2, name:"27", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) zone3 = Zone.create({id:3, name: "H3", is_active:true, created_by: "SYSTEM DEFAULT"}) - table = Table.create({zone: zone3, name:"Table28", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone3, name:"Table29", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone3, name:"Table30", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone3, name:"Table31", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone3, name:"Table32", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone3, name:"Table33", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone3, name:"Table34", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) - table = Table.create({zone: zone3, name:"Table35", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone3, name:"28", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone3, name:"29", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone3, name:"30", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone3, name:"31", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone3, name:"32", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone3, name:"33", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone3, name:"34", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) + table = Table.create({zone: zone3, name:"35", status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"}) #Default Order Queue stations order_queue_station1 = OrderQueueStation.create({station_name: "K1", is_active: true,printer_name: "Cashier", processing_items: JSON.generate(['I0001','I0002','I0003','I0004']), print_copy:false, cut_per_item: false, use_alternate_name: false, created_by: "SYSTEM DEFAULT"})