diff --git a/app/controllers/origami/home_controller.rb b/app/controllers/origami/home_controller.rb index 2d03d298..1cd6505d 100755 --- a/app/controllers/origami/home_controller.rb +++ b/app/controllers/origami/home_controller.rb @@ -8,7 +8,7 @@ class Origami::HomeController < BaseOrigamiController @rooms = Room.unscoped.all.active.order('status desc') @complete = Sale.where("DATE_FORMAT(created_at,'%Y-%m-%d') = ? and sale_status != 'new'",DateTime.now.strftime('%Y-%m-%d')) @orders = Order.includes("sale_orders").where("DATE_FORMAT(date,'%Y-%m-%d') = ? and status != 'billed' and source != 'quick_service'",DateTime.now.strftime('%Y-%m-%d')).order('date desc') - @shop = Shop.first + @shop = shop_detail # @shift = ShiftSale.current_open_shift(current_user.id) end @@ -26,7 +26,7 @@ class Origami::HomeController < BaseOrigamiController @status_sale = "" @sale_array = Array.new - @shop = Shop.first + @shop = shop_detail @membership = MembershipSetting::MembershipSetting @payment_methods = PaymentMethodSetting.all @dining_booking = @dining.bookings.active.where("DATE_FORMAT(created_at,'%Y-%m-%d') = '#{DateTime.now.strftime('%Y-%m-%d')}' OR DATE_FORMAT(created_at,'%Y-%m-%d') = '#{Date.today.prev_day}' ") diff --git a/app/controllers/origami/payments_controller.rb b/app/controllers/origami/payments_controller.rb index 4bd7ff59..2ca8b45a 100755 --- a/app/controllers/origami/payments_controller.rb +++ b/app/controllers/origami/payments_controller.rb @@ -44,11 +44,11 @@ class Origami::PaymentsController < BaseOrigamiController end #shop detail - shop_details = Shop.first + ## shop_detail = Shop.first # customer= Customer.where('customer_id=' +.customer_id) customer = Customer.find(sale_data.customer_id) # rounding adjustment - if shop_details.is_rounding_adj + if shop_detail.is_rounding_adj a = sale_data.grand_total % 25 # Modulus b = sale_data.grand_total / 25 # Division #not calculate rounding if modulus is 0 and division is even @@ -79,7 +79,7 @@ class Origami::PaymentsController < BaseOrigamiController printer = Printer::ReceiptPrinter.new(print_settings) - filename, receipt_no, cashier_printer = printer.print_receipt_bill(print_settings,cashier_terminal,sale_items,sale_data,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info, shop_details, "Frt",current_balance,nil) + filename, receipt_no, cashier_printer = printer.print_receipt_bill(print_settings,cashier_terminal,sale_items,sale_data,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info, shop_detail, "Frt",current_balance,nil) result = { :filepath => filename, @@ -102,9 +102,9 @@ class Origami::PaymentsController < BaseOrigamiController if(Sale.exists?(sale_id)) saleObj = Sale.find(sale_id) sale_items = SaleItem.get_all_sale_items(sale_id) - shop_details = Shop.first + #shop_detail = Shop.first # rounding adjustment - if shop_details.is_rounding_adj + if shop_detail.is_rounding_adj a = saleObj.grand_total % 25 # Modulus b = saleObj.grand_total / 25 # Division #not calculate rounding if modulus is 0 and division is even @@ -123,16 +123,10 @@ class Origami::PaymentsController < BaseOrigamiController rebate_amount = nil # For Cashier by Zone - bookings = Booking.where("sale_id='#{sale_id}'") - # if bookings.count > 1 - # # for Multiple Booking - # table = DiningFacility.find(bookings[0].dining_facility_id) - # else - # table = DiningFacility.find(bookings[0].dining_facility_id) - # end - - if bookings[0].dining_facility_id.to_i > 0 - table = DiningFacility.find(bookings[0].dining_facility_id) + # bookings = Booking.where("sale_id='#{sale_id}'") + bookings = Booking.find_by_sale_id(sale_id) + if bookings.dining_facility_id.to_i > 0 + table = DiningFacility.find(bookings.dining_facility_id) cashier_zone = CashierTerminalByZone.find_by_zone_id(table.zone_id) cashier_terminal = CashierTerminal.find(cashier_zone.cashier_terminal_id) @@ -216,7 +210,7 @@ class Origami::PaymentsController < BaseOrigamiController discount_price_by_accounts = SaleItem.get_discount_price_by_accounts(saleObj.sale_items) printer = Printer::ReceiptPrinter.new(print_settings) - filename, sale_receipt_no, printer_name = printer.print_receipt_bill(print_settings,cashier_terminal,sale_items,saleObj,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details, "Paid",current_balance,card_data) + filename, sale_receipt_no, printer_name = printer.print_receipt_bill(print_settings,cashier_terminal,sale_items,saleObj,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_detail, "Paid",current_balance,card_data) render json: JSON.generate({:status => saleObj.rebate_status, :message => "Can't Rebate coz of Sever Error ", :filename => filename, :receipt_no => sale_receipt_no, :printer_name => printer_name}) @@ -255,7 +249,7 @@ class Origami::PaymentsController < BaseOrigamiController if !@lookup_pdf.nil? @pdf_view = @lookup_pdf.value end - @shop = Shop.first #show shop info + @shop = shop_detail #show shop info @customer_lists = Customer.where("customer_id = 'CUS-000000000001' or customer_id = 'CUS-000000000002'") @@ -435,7 +429,7 @@ class Origami::PaymentsController < BaseOrigamiController customer= Customer.find(saleObj.customer_id) #shop detail - shop_details = Shop.first + #shop_detail = Shop.first # get member information rebate = MembershipSetting.find_by_rebate(1) if customer.membership_id != nil && rebate @@ -464,7 +458,7 @@ class Origami::PaymentsController < BaseOrigamiController discount_price_by_accounts = SaleItem.get_discount_price_by_accounts(saleObj.sale_items) printer = Printer::ReceiptPrinter.new(print_settings) - filename, receipt_no, cashier_printer = printer.print_receipt_bill(print_settings,cashier_terminal,saleObj.sale_items,saleObj,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details, "Re-print",current_balance,card_data) + filename, receipt_no, cashier_printer = printer.print_receipt_bill(print_settings,cashier_terminal,saleObj.sale_items,saleObj,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_detail, "Re-print",current_balance,card_data) result = { :status => true, @@ -539,7 +533,7 @@ class Origami::PaymentsController < BaseOrigamiController customer= Customer.find(saleObj.customer_id) #shop detail - shop_details = Shop.first + #shop_detail = Shop.first # get printer info print_settings=PrintSetting.find_by_unique_code(unique_code) @@ -549,7 +543,7 @@ class Origami::PaymentsController < BaseOrigamiController printer = Printer::ReceiptPrinter.new(print_settings) - filename, sale_receipt_no, printer_name = printer.print_receipt_bill(print_settings,cashier_terminal,saleObj.sale_items,saleObj,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details, "FOC",nil,nil) + filename, sale_receipt_no, printer_name = printer.print_receipt_bill(print_settings,cashier_terminal,saleObj.sale_items,saleObj,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_detail, "FOC",nil,nil) result = { :status => true, :filepath => filename, @@ -579,7 +573,7 @@ class Origami::PaymentsController < BaseOrigamiController def rounding_adj saleObj = Sale.find(params[:sale_id]) - @shop = Shop.find_by_id(1) + @shop = shop_detail if @shop.is_rounding_adj a = saleObj.grand_total % 25 # Modulus diff --git a/app/controllers/origami/shifts_controller.rb b/app/controllers/origami/shifts_controller.rb index 3b2fe081..fd82d474 100755 --- a/app/controllers/origami/shifts_controller.rb +++ b/app/controllers/origami/shifts_controller.rb @@ -53,12 +53,15 @@ class Origami::ShiftsController < BaseOrigamiController cashier_terminal.save #add shift_sale_id to card_settle_trans - card_settle_trans = CardSettleTran.select('id').where(['shift_sale_id IS NULL and status IS NOT NULL']) + bank_integration = Lookup.find_by_lookup_type('bank_integration') + if !bank_integration.nil? + card_settle_trans = CardSettleTran.select('id').where(['shift_sale_id IS NULL and status IS NOT NULL']) - card_settle_trans.each do |data| - card_sett_trans = CardSettleTran.find(data.id) - card_sett_trans.shift_sale_id = @shift.id - card_sett_trans.save() + card_settle_trans.each do |data| + card_sett_trans = CardSettleTran.find(data.id) + card_sett_trans.shift_sale_id = @shift.id + card_sett_trans.save() + end end if ENV["SERVER_MODE"] != "cloud" #no print in cloud server @@ -77,7 +80,7 @@ class Origami::ShiftsController < BaseOrigamiController end end end - shop_details = Shop.find(1) + shop_details = shop_detail #get tax shift_obj = ShiftSale.where('id =?',@shift.id) @sale_taxes = Sale.get_separate_tax(shift_obj,from=nil,to=nil,type='') diff --git a/app/models/order.rb b/app/models/order.rb index 01136578..af5887e6 100755 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -190,16 +190,18 @@ class Order < ApplicationRecord def update_items_status_to_billed(items) if (items.nil?) + OrderItem.where({ order_items_id: '#{self.order_items.pluck(:order_items_id)}'}).update_all(order_item_status: "billed") ##Update the order status to ensure that reflect the stage - self.order_items.each do |item| - item.order_item_status = "billed" - item.save - end + # self.order_items.each do |item| + # item.order_item_status = "billed" + # item.save + # end else - items.each do |item| - item.order_item_status = "billed" - item.save - end + OrderItem.where({ order_items_id: '#{items.pluck(:order_items_id)}'}).update_all(order_item_status: "billed") + # items.each do |item| + # item.order_item_status = "billed" + # item.save + # end end end diff --git a/app/models/sale.rb b/app/models/sale.rb index 33c7f1b6..48dca4d8 100644 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -412,7 +412,7 @@ class Sale < ApplicationRecord # Tax Re-Calculte def compute_tax(sale, total_taxable, total_discount = 0, order_source = nil, tax_type=nil) - shop = Shop.first(); + shop = Shop.first #if tax is not apply create new record SaleTax.where("sale_id='#{sale.sale_id}'").find_each do |existing_tax| @@ -495,7 +495,7 @@ class Sale < ApplicationRecord # Tax Calculate def apply_tax(total_taxable, order_source = nil) - shop = Shop.first(); + shop = Shop.first #if tax is not apply create new record SaleTax.where("sale_id='#{self.sale_id}'").find_each do |existing_tax| diff --git a/app/models/sale_payment.rb b/app/models/sale_payment.rb index 782153f2..9b52c248 100755 --- a/app/models/sale_payment.rb +++ b/app/models/sale_payment.rb @@ -71,10 +71,12 @@ class SalePayment < ApplicationRecord # update complete order items in oqs booking = Booking.find_by_sale_id(sale_id) booking.booking_orders.each do |sodr| - AssignedOrderItem.where("order_id = '#{ sodr.order_id }'").find_each do |aoi| - aoi.delivery_status = 1 - aoi.save - end + assigned =AssignedOrderItem.where("order_id = '#{ sodr.order_id }'").pluck(:assigned_order_item_id) + AssignedOrderItem.where({ order_id: '#{assigned}'}).update_all(print_status: true) + # AssignedOrderItem.where("order_id = '#{ sodr.order_id }'").find_each do |aoi| + # aoi.delivery_status = 1 + # aoi.save + # end end return true, self.save,membership_data @@ -616,8 +618,9 @@ class SalePayment < ApplicationRecord end end if status && sale_count == 0 - table.status = "available" - table.save + table.update_attributes(status: "available") + # table.status = "available" + # table.save end # type = 'payment' diff --git a/app/pdf/receipt_bill_pdf.rb b/app/pdf/receipt_bill_pdf.rb index e9bf595c..9a1f92b1 100755 --- a/app/pdf/receipt_bill_pdf.rb +++ b/app/pdf/receipt_bill_pdf.rb @@ -199,9 +199,9 @@ class ReceiptBillPdf < Prawn::Document move_down line_move sub_total = 0.0 total_qty = 0.0 + show_price = Lookup.find_by_lookup_type("show_price") sale_items.each do |item| # check for item not to show - show_price = Lookup.find_by_lookup_type("show_price") if item.status != 'Discount' && item.qty > 0 if !show_price.nil? && show_price.value.to_i > 0 && item.price == 0