Pull from master

This commit is contained in:
San Wai Lwin
2018-05-25 16:22:30 +06:30
parent f906134fbf
commit 578c14ccc3
26 changed files with 536 additions and 358 deletions

View File

@@ -48,8 +48,16 @@ class Origami::OrderReservationController < BaseOrigamiController
end
def send_status
response = OrderReservation.send_status_to_ordering(params[:url],params[:ref_no],params[:status],params[:waiting_time],params[:min_type],params[:reason])
order_reservation = OrderReservation.find_by_transaction_ref(params[:ref_no])
if !order_reservation.nil?
if !ShiftSale.current_shift.nil? || params[:status] == 'accepted' || (order_reservation.status == 'new' && params[:status] == 'rejected')
response = OrderReservation.send_status_to_ordering(params[:url],params[:ref_no],params[:status],params[:waiting_time],params[:min_type],params[:reason])
else
response = { status: false, message: 'No current shift open for this employee!'}
end
else
response = { status: false, message: 'There is no order for '+params[:ref_no]+'!'}
end
render :json => response
end

View File

@@ -96,6 +96,8 @@ class Origami::PaymentsController < BaseOrigamiController
cash = params[:cash]
sale_id = params[:sale_id]
member_info = nil
type = params[:type]
tax_type = params[:tax_type]
if(Sale.exists?(sale_id))
saleObj = Sale.find(sale_id)
@@ -298,11 +300,18 @@ class Origami::PaymentsController < BaseOrigamiController
# accounts = @customer.tax_profiles
accounts = TaxProfile.where("group_type = ?",@cashier_type).order("order_by ASC")
@account_arr =[]
@tax_arr =[]
accounts.each do |acc|
account = TaxProfile.find(acc.id)
@account_arr.push(account)
# @account_arr.push(account)
@tax_arr.push(account.name)
end
sale_taxes = SaleTax.where("sale_id = ?", saleObj.sale_id)
if !sale_taxes.empty?
sale_taxes.each do |sale_tax|
@account_arr.push(sale_tax)
end
end
rebate = MembershipSetting.find_by_rebate(1)
# get member information
if @customer.membership_id != nil && rebate
@@ -571,4 +580,15 @@ class Origami::PaymentsController < BaseOrigamiController
render :json => result.to_json
# render :json => {status: true}
end
#changable tax for sale
def change_tax
sale_id = params[:sale_id]
order_source = params[:cashier_type]
tax_type = params[:tax_type]
sale = Sale.find(sale_id)
sale.compute_by_sale_items(sale.sale_id, sale.sale_items, sale.total_discount,nil,order_source,tax_type)
render json: JSON.generate({:status => true})
end
end

View File

@@ -83,54 +83,66 @@ class Origami::ProductCommissionsController < BaseOrigamiController
def set_commissioner_to_sale_item
# byebug
deselect = false
sale_item_id = params[:sale_item_id]
deselect = false
type = nil
sale_item_id = params[:sale_item_id]
commissioner_id = params[:commissioner_id]
@sale_item = SaleItem.find(sale_item_id)
@menu_item = MenuItem.find_by_item_code(@sale_item.product_code)
@sale_item = SaleItem.find(sale_item_id)
@menu_item = MenuItem.find_by_item_code(@sale_item.product_code)
# @commission = Commission.where('product_code = ? AND is_active = ?', @menu_item.item_code, true).take
Commission.all.each do |com|
if com.product_code.include? @menu_item.item_code && com.is_active == true
@commission = Commission.find(com.id)
break
Commission.all.active.each do |com|
if com.product_code != "[]"
if com.product_code.to_s.include? @menu_item.item_code
@commission = Commission.find(com.id)
break
end
end
end
@commissioner = Commissioner.where('id = ? AND is_active = ?', commissioner_id, true).take
@commissioner = Commissioner.where('id = ? AND is_active = ?', commissioner_id, true).take
@product_commission = ProductCommission.where('sale_item_id = ?', @sale_item.id).take
if !@commission.nil? && @commissioner.commission_id == @commission.commission_id
if !@product_commission.nil?
if @product_commission.commissioner_id == @commissioner.id
@product_commission.destroy
deselect = true
else
@product_commission.commissioner_id = @commissioner.id
deselect = false
end
else
@product_commission = ProductCommission.new
@product_commission.product_code = @menu_item.item_code
@product_commission.product_type = 'menu_item' # use for dummy data ToDo::need to change product type
unless @commission.nil?
@product_commission.commission_id = @commission.id
if @commission.commission_type == 'Percentage'
@product_commission.price = @sale_item.unit_price * (@commission.amount / 100.0)
@product_commission.amount = @product_commission.price * @sale_item.qty
elsif @commission.commission_type == 'Net Amount'
@product_commission.price = @commission.amount
@product_commission.amount = @product_commission.price * @sale_item.qty
if @product_commission.commissioner_id == @commissioner.id
@product_commission.destroy
deselect = true
type = "remove"
# render json: {status: true,deselect:deselect, message: "Remove Success !"}
else
@product_commission.commissioner_id = @commissioner.id
deselect = false
end
end
@product_commission.commissioner_id = @commissioner.id
@product_commission.qty = @sale_item.qty
@product_commission.sale_id = @sale_item.sale_id
@product_commission.sale_item_id = @sale_item.sale_item_id
else
@product_commission = ProductCommission.new
@product_commission.product_code = @menu_item.item_code
@product_commission.product_type = 'menu_item' # use for dummy data ToDo::need to change product type
unless @commission.nil?
@product_commission.commission_id = @commission.id
if @commission.commission_type == 'Percentage'
@product_commission.price = @sale_item.unit_price * (@commission.amount / 100.0)
@product_commission.amount = @product_commission.price * @sale_item.qty
elsif @commission.commission_type == 'Net Amount'
@product_commission.price = @commission.amount
@product_commission.amount = @product_commission.price * @sale_item.qty
end
end
@product_commission.commissioner_id = @commissioner.id
@product_commission.qty = @sale_item.qty
@product_commission.sale_id = @sale_item.sale_id
@product_commission.sale_item_id = @sale_item.sale_item_id
end
if @product_commission.save
render json: {status: true, deselect: deselect}
message = "Success !"
if type == "remove"
message = "Remove Success !"
end
render json: {status: true, deselect:deselect,type:type,message: message}
else
render json: {status: false, deselect: deselect}
render json: {status: false, deselect:deselect,type:type,message: "No Commission"}
end
else
render json: {status: false, deselect:deselect,type:type,message: "No Commission"}
end
end