diff --git a/app/controllers/origami/product_commissions_controller.rb b/app/controllers/origami/product_commissions_controller.rb index b452cffe..a9c74b70 100755 --- a/app/controllers/origami/product_commissions_controller.rb +++ b/app/controllers/origami/product_commissions_controller.rb @@ -83,11 +83,12 @@ 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.active.each do |com| @@ -98,41 +99,50 @@ class Origami::ProductCommissionsController < BaseOrigamiController 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 diff --git a/app/models/product_commission.rb b/app/models/product_commission.rb index c865c674..9f91673a 100755 --- a/app/models/product_commission.rb +++ b/app/models/product_commission.rb @@ -61,9 +61,10 @@ class ProductCommission < ApplicationRecord end def self.get_transaction(from, to, commissioner) - transaction = all + transaction = ProductCommission.select("product_commissions.*,menu_items.name as porduct_name") + .joins("join menu_items on menu_items.item_code = product_commissions.product_code") if !from.nil? && !to.nil? - transaction = transaction.where('updated_at between ? and ?', from, to) + transaction = transaction.where('product_commissions.updated_at between ? and ?', from, to) end if commissioner != 0 transaction = transaction.where(commissioner_id: commissioner) diff --git a/app/views/origami/product_commissions/load_commissioners.html.erb b/app/views/origami/product_commissions/load_commissioners.html.erb index 6383f1fa..355b4501 100755 --- a/app/views/origami/product_commissions/load_commissioners.html.erb +++ b/app/views/origami/product_commissions/load_commissioners.html.erb @@ -126,7 +126,9 @@ $('.sale_item').on('click', function () { $('#order-items-table tr').siblings().css( "background-color", "white" ); - this.style.backgroundColor = 'lightgray'; + $('#order-items-table tr').siblings().css( "color", "black" ); + this.style.backgroundColor = 'blue'; + this.style.color = 'white'; var sale_item_id = this.getAttribute('data-sale-item'); var ajax_url = "/origami/select_sale_item"; selected_sale_item = sale_item_id; @@ -179,11 +181,17 @@ url: ajax_url, data: param_data, success: function (result) { - console.log(selected_sale_item + "," +commissioner_id); + console.log(result); if(result.deselect == true){ $(commissioner).removeClass("blue").addClass("green"); $("tr[data-sale-item=" + selected_sale_item + "] td.commissioner").text('-'); } + if(result.status == true){ + swal("Information",result.message,"success"); + }else{ + $("tr[data-sale-item=" + selected_sale_item + "] td.commissioner").text('-'); + swal("Opps",result.message,"warning"); + } } }); }; diff --git a/app/views/reports/commission/index.html.erb b/app/views/reports/commission/index.html.erb index 80cf5727..88dc46df 100755 --- a/app/views/reports/commission/index.html.erb +++ b/app/views/reports/commission/index.html.erb @@ -64,7 +64,7 @@