Merge branch 'crm'

This commit is contained in:
Aung Myo
2017-06-16 10:21:56 +06:30
15 changed files with 221 additions and 82 deletions

View File

@@ -15,6 +15,7 @@ class Crm::DiningQueuesController < BaseCrmController
# GET /crm/dining_queues/new
def new
@dining_queue = DiningQueue.new
@queue_no = DiningQueue.generate_queue_no
end
# GET /crm/dining_queues/1/edit
@@ -25,7 +26,9 @@ class Crm::DiningQueuesController < BaseCrmController
# POST /crm/dining_queues.json
def create
@dining_queue = DiningQueue.new(dining_queue_params)
puts "ffffffffffff"
puts @queue_no
respond_to do |format|
if @dining_queue.save
format.html { redirect_to crm_dining_queues_path, notice: 'Dining queue was successfully created.' }

View File

@@ -77,4 +77,28 @@ class Origami::PaymentsController < BaseOrigamiController
end
end
end
def reprint
sale_id = params[:sale_id]
saleObj = Sale.find(sale_id)
unique_code = "ReceiptBillPdf"
customer= Customer.find(saleObj.customer_id)
# get member information
member_info = Customer.get_member_account(customer)
# get printer info
print_settings=PrintSetting.find_by_unique_code(unique_code)
# Calculate Food and Beverage Total
food_total, beverage_total = SaleItem.calculate_food_beverage(saleObj.sale_items)
printer = Printer::ReceiptPrinter.new(print_settings)
printer.print_receipt_bill(print_settings,saleObj.sale_items,saleObj,customer.name, food_total, beverage_total, member_info)
end
end

View File

@@ -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

View File

@@ -0,0 +1,77 @@
class Transactions::ManualSalesController < ApplicationController
def void
@sale = params[:sale_id]
@reason = Lookup.where("lookup_type = 'void_reason'")
respond_to do |format|
format.html # index.html.erb
format.json { render json: @sales }
end
end
def manual_void_sale
sale_id = params[:sale_id]
reason = params[:reason]
sale = Sale.find(sale_id)
sale.sale_status = 'void'
sale.requested_by = current_login_employee.id
if sale.save
@sale = SaleAudit.record_audit_void(sale_id, current_login_employee.id, current_login_employee.id, reason)
if sale.sale_orders
sale.sale_orders.each do |bo|
order =Order.find(bo.order_id)
order.status= 'void'
order.save
booking_order = BookingOrder.find_by_order_id(bo.order_id)
if booking_order.booking_id
booking = Booking.find(booking_order.booking_id)
dining_facility = booking.dining_facility
dining_facility.status = 'available'
dining_facility.save
end
end
end
end
respond_to do |format|
format.html { redirect_to transactions_sales_url, notice: 'Sale was successfully void.' }
end
end
def manual_complete_sale
sale_id = params[:sale_id]
sale = Sale.find(sale_id)
sale.sale_status = 'completed'
sale.requested_by = current_login_employee.id
remark = "Complete for Sale ID #{sale_id} By #{current_login_employee.name}"
if sale.save
@sale = SaleAudit.record_audit_complete(sale_id, remark, current_login_employee.id)
if sale.sale_orders
sale.sale_orders.each do |bo|
# order =Order.find(bo.order_id)
# order.status= 'void'
# order.save
booking_order = BookingOrder.find_by_order_id(bo.order_id)
if booking_order.booking_id
booking = Booking.find(booking_order.booking_id)
dining_facility = booking.dining_facility
dining_facility.status = 'available'
dining_facility.save
end
end
end
end
redirect_to transactions_sales_path
end
end

View File

@@ -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
@@ -43,6 +50,18 @@ class Transactions::SalesController < ApplicationController
end
@sale_receivables = SalePayment.where('sale_id = ?', @sale.id)
#get customer amount
@customer = Customer.find(@sale.customer_id)
response = Customer.get_member_account(@customer)
if(response["status"] == true)
@membership = response["data"]
else
@membership = 0
end
#end customer amount
respond_to do |format|
format.html # show.html.erb
format.json { render json: @sale }
@@ -98,28 +117,6 @@ class Transactions::SalesController < ApplicationController
end
end
def void
@sale = params[:sale_id]
@reason = Lookup.where("lookup_type = 'void_reason'")
end
def manual_void_sale
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
if sale.save
sale =SaleAudit.record_audit_void(sale_id, current_user.id, current_user.id, reason)
end
respond_to do |format|
format.html { redirect_to transactions_sales_url, notice: 'Sale was successfully void.' }
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_transactions_sale