diff --git a/.gitignore b/.gitignore index f9e65957..91a498bc 100644 --- a/.gitignore +++ b/.gitignore @@ -9,7 +9,6 @@ # Ignore all logfiles and tempfiles. .DS_Store -*.rdb *.rbc *.sassc .sass-cache @@ -46,3 +45,6 @@ config/deploy/config/* # Gem files #Gemfile #Gemfile.lock + +# For Redis Server log file +dump.rdb diff --git a/app/assets/javascripts/OQS.js b/app/assets/javascripts/OQS.js index 3674e235..9ad540ab 100644 --- a/app/assets/javascripts/OQS.js +++ b/app/assets/javascripts/OQS.js @@ -18,9 +18,9 @@ $(document).ready(function(){ // auto refresh every 10 seconds - setTimeout(function(){ - window.location.reload(1); - }, 10000); + // setTimeout(function(){ + // window.location.reload(1); + // }, 10000); $('.queue_station').on('click',function(){ var orderZone=$(this).children().children().children('.order-zone').text(); diff --git a/app/assets/javascripts/origami.js b/app/assets/javascripts/origami.js index 87b74809..b1dc732d 100644 --- a/app/assets/javascripts/origami.js +++ b/app/assets/javascripts/origami.js @@ -157,10 +157,11 @@ $(document).ready(function(){ if(sale_item_id != null){ ajax_url = "/origami/" + sale_item_id + "/discount"; + sub_total = $("#"+sale_item_id).children().find("#item-total-price").text(); } // For Percentage Discount - if(discount_type == 1){ + if(discount_type == 1){ discount_amount=(sub_total*discount_value)/100; } diff --git a/app/controllers/origami/discounts_controller.rb b/app/controllers/origami/discounts_controller.rb index fb981a80..f5f7db9e 100644 --- a/app/controllers/origami/discounts_controller.rb +++ b/app/controllers/origami/discounts_controller.rb @@ -16,6 +16,7 @@ class Origami::DiscountsController < BaseOrigamiController discount_value = params[:discount_value] discount_amount = params[:discount_amount] grand_total = params[:grand_total] + product_name = "Overall Discount" if discount_type == 0 remark="Discount " + discount_amount + " as net" @@ -32,13 +33,14 @@ class Origami::DiscountsController < BaseOrigamiController #save sale item for discount if sale_item_id != nil origin_sale_item = SaleItem.find(sale_item_id) + product_name = origin_sale_item.product_name + "-Disocunt" end sale_item = SaleItem.new #pull sale_item.sale_id = sale_id sale_item.product_code = origin_sale_item != nil ? origin_sale_item.product_code : sale_id - sale_item.product_name = "Overall Discount" + sale_item.product_name = product_name sale_item.remark = remark sale_item.qty = 1 diff --git a/app/controllers/settings/order_queue_stations_controller.rb b/app/controllers/settings/order_queue_stations_controller.rb index 46fcb54d..e8b9bbe0 100644 --- a/app/controllers/settings/order_queue_stations_controller.rb +++ b/app/controllers/settings/order_queue_stations_controller.rb @@ -4,7 +4,8 @@ class Settings::OrderQueueStationsController < ApplicationController # GET /settings/order_queue_stations # GET /settings/order_queue_stations.json def index - @settings_order_queue_stations = OrderQueueStation.all.active + @settings_order_queue_stations = OrderQueueStation.all + @settings_order_queue_stations = Kaminari.paginate_array(@settings_order_queue_stations).page(params[:page]).per(50) end # GET /settings/order_queue_stations/1 diff --git a/app/controllers/transactions/sales_controller.rb b/app/controllers/transactions/sales_controller.rb index 82be6f59..c4666c5e 100644 --- a/app/controllers/transactions/sales_controller.rb +++ b/app/controllers/transactions/sales_controller.rb @@ -9,23 +9,30 @@ class Transactions::SalesController < ApplicationController receipt_no = params[:receipt_no] today = Date.today - if receipt_no.nil? - sales = Sale.order("sale_id desc") + if receipt_no.nil? && search_date.nil? + @sales = Sale.where("NOT sale_status = 'void' " ).order("sale_id desc").limit(500) + @sales = Kaminari.paginate_array(@sales).page(params[:page]).per(50) else - order = Sale.search(receipt_no) - if order.count > 0 - sales = order + if !search_date.blank? && receipt_no.blank? + sale = Sale.where("DATE_FORMAT(receipt_date,'%d-%m-%Y') = ? and NOT sale_status = 'void' ", search_date).order("sale_id desc").limit(500).page(params[:page]) + elsif !search_date.blank? && !receipt_no.blank? + sale = Sale.where("receipt_no LIKE ? or DATE_FORMAT(receipt_date,'%d-%m-%Y') = ? and NOT sale_status = 'void' ", "%#{receipt_no}%", search_date).order("sale_id desc").limit(500).page(params[:page]) + else + sale = Sale.where("receipt_no LIKE ? and NOT sale_status = 'void' ", receipt_no).order("sale_id desc").limit(500).page(params[:page]) + end + if sale.count > 0 + @sales = sale + @sales = Kaminari.paginate_array(@sales).page(params[:page]).per(50) else - sales = Sale.order("sale_id desc") - - end - end - @sales = Kaminari.paginate_array(sales).page(params[:page]).per(50) + @sales = 0 + end + end respond_to do |format| format.html # index.html.erb format.json { render json: @sales } end + end # GET /transactions/sales/1 @@ -108,11 +115,10 @@ class Transactions::SalesController < ApplicationController sale_id = params[:sale_id] reason = params[:reason] sale = Sale.find(sale_id) - sale.sales_status = 'void' - sale.remarks = reason - sale.void_by = current_user.id + sale.sale_status = 'void' + sale.requested_by = current_login_employee.id if sale.save - sale =SaleAudit.record_audit_void(sale_id, current_user.id, current_user.id, reason) + @sale = SaleAudit.record_audit_void(sale_id, current_login_employee.id, current_login_employee.id, reason) end respond_to do |format| format.html { redirect_to transactions_sales_url, notice: 'Sale was successfully void.' } diff --git a/app/models/order_item.rb b/app/models/order_item.rb index a85d1113..564aa939 100644 --- a/app/models/order_item.rb +++ b/app/models/order_item.rb @@ -35,23 +35,29 @@ class OrderItem < ApplicationRecord #logger.debug orderitem.to_yml orderitem.save! - - end - #Origami : Cashier : to show order items details + #Origami : Cashier : to show order items details def self.get_order_items_details(booking_id) - booking_orders = BookingOrder.where("booking_id=?",booking_id) - if booking_orders - booking_orders.each do |book_order| - order_details = OrderItem.select("order_items.item_name,order_items.qty,order_items.price,(order_items.qty*order_items.price) as total_price") + # booking_orders = BookingOrder.where("booking_id=?",booking.booking_id) + # if booking_orders + # booking_orders.each do |book_order| + # order_details = OrderItem.select("order_items.item_name,order_items.qty,order_items.price,(order_items.qty*order_items.price) as total_price") + # .joins("left join orders on orders.order_id = order_items.order_id") + # .where("order_items.order_id=?",book_order.order) + # return order_details + # end + # else + # return false + # end + + order_details = OrderItem.select("order_items.item_name,order_items.qty,order_items.price,(order_items.qty*order_items.price) as total_price") .joins("left join orders on orders.order_id = order_items.order_id") - .where("order_items.order_id=?",book_order.order) - return order_details - end - else - return false - end + .joins("left join booking_orders on booking_orders.order_id = order_items.order_id") + .joins("left join bookings on bookings.booking_id = booking_orders.booking_id") + .where("bookings.booking_id=?",booking_id) + + return order_details end private diff --git a/app/models/sale.rb b/app/models/sale.rb index dee4c2f7..9683c2b2 100644 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -186,6 +186,7 @@ class Sale < ApplicationRecord end + # Tax Calculate def apply_tax(total_taxable) #if tax is not apply create new record diff --git a/app/models/sale_audit.rb b/app/models/sale_audit.rb index 29daa796..d369b8e1 100644 --- a/app/models/sale_audit.rb +++ b/app/models/sale_audit.rb @@ -6,7 +6,7 @@ class SaleAudit < ApplicationRecord belongs_to :sale - def record_audit_void(sale_id, void_by, approved_by, reason) + def self.record_audit_void(sale_id, void_by, approved_by, reason) #sale_audit sale_audit = SaleAudit.new() sale_audit.sale_id = sale_id diff --git a/app/pdf/receipt_bill_pdf.rb b/app/pdf/receipt_bill_pdf.rb index 71562277..9d5742d6 100644 --- a/app/pdf/receipt_bill_pdf.rb +++ b/app/pdf/receipt_bill_pdf.rb @@ -165,16 +165,32 @@ class ReceiptBillPdf < Prawn::Document text "( " +"#{sale_data.total_discount}" +" )" , :size => self.item_font_size,:align => :right end - move_down 5 - y_position = cursor + if sale_data.sale_taxes.length > 1 + sale_data.sale_taxes.each do |st| + move_down 5 + y_position = cursor + + bounding_box([0,y_position], :width =>self.item_description_width, :height => self.item_height) do + text "#{ st.tax_name }", :size => self.item_font_size,:align => :left + end + bounding_box([self.item_description_width,y_position], :width =>self.label_width) do + text "( " +"#{ st.tax_payable_amount }" +" )" , :size => self.item_font_size,:align => :right + end + end + else - bounding_box([0,y_position], :width =>self.item_description_width, :height => self.item_height) do - text "Total Tax", :size => self.item_font_size,:align => :left - end - bounding_box([self.item_description_width,y_position], :width =>self.label_width) do - text "( " +"#{sale_data.total_tax}" +" )" , :size => self.item_font_size,:align => :right end + # move_down 5 + # y_position = cursor + + # bounding_box([0,y_position], :width =>self.item_description_width, :height => self.item_height) do + # text "Total Tax", :size => self.item_font_size,:align => :left + # end + # bounding_box([self.item_description_width,y_position], :width =>self.label_width) do + # text "( " +"#{sale_data.total_tax}" +" )" , :size => self.item_font_size,:align => :right + # end + move_down 5 y_position = cursor move_down 5 diff --git a/app/views/settings/order_queue_stations/index.html.erb b/app/views/settings/order_queue_stations/index.html.erb index c87ba5f7..03da3c23 100644 --- a/app/views/settings/order_queue_stations/index.html.erb +++ b/app/views/settings/order_queue_stations/index.html.erb @@ -42,5 +42,5 @@ <% end %> - + <%= paginate @settings_order_queue_stations %> diff --git a/app/views/transactions/sales/index.html.erb b/app/views/transactions/sales/index.html.erb index ee82eb8b..b7e73219 100644 --- a/app/views/transactions/sales/index.html.erb +++ b/app/views/transactions/sales/index.html.erb @@ -20,9 +20,9 @@
There is no data for search....