update commission && report

This commit is contained in:
Aung Myo
2018-05-24 14:03:49 +06:30
parent b4d421fdcf
commit 6d6d90050f
6 changed files with 70 additions and 39 deletions

View File

@@ -83,11 +83,12 @@ class Origami::ProductCommissionsController < BaseOrigamiController
def set_commissioner_to_sale_item def set_commissioner_to_sale_item
# byebug # byebug
deselect = false deselect = false
sale_item_id = params[:sale_item_id] type = nil
sale_item_id = params[:sale_item_id]
commissioner_id = params[:commissioner_id] commissioner_id = params[:commissioner_id]
@sale_item = SaleItem.find(sale_item_id) @sale_item = SaleItem.find(sale_item_id)
@menu_item = MenuItem.find_by_item_code(@sale_item.product_code) @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 = Commission.where('product_code = ? AND is_active = ?', @menu_item.item_code, true).take
Commission.all.active.each do |com| Commission.all.active.each do |com|
@@ -98,41 +99,50 @@ class Origami::ProductCommissionsController < BaseOrigamiController
end end
end 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 @product_commission = ProductCommission.where('sale_item_id = ?', @sale_item.id).take
if !@commission.nil? && @commissioner.commission_id == @commission.commission_id if !@commission.nil? && @commissioner.commission_id == @commission.commission_id
if !@product_commission.nil? if !@product_commission.nil?
if @product_commission.commissioner_id == @commissioner.id if @product_commission.commissioner_id == @commissioner.id
@product_commission.destroy @product_commission.destroy
deselect = true deselect = true
else type = "remove"
@product_commission.commissioner_id = @commissioner.id # render json: {status: true,deselect:deselect, message: "Remove Success !"}
deselect = false else
end @product_commission.commissioner_id = @commissioner.id
else deselect = false
@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
end else
@product_commission.commissioner_id = @commissioner.id @product_commission = ProductCommission.new
@product_commission.qty = @sale_item.qty @product_commission.product_code = @menu_item.item_code
@product_commission.sale_id = @sale_item.sale_id @product_commission.product_type = 'menu_item' # use for dummy data ToDo::need to change product type
@product_commission.sale_item_id = @sale_item.sale_item_id 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 end
if @product_commission.save 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 else
render json: {status: false, deselect: deselect} render json: {status: false, deselect:deselect,type:type,message: "No Commission"}
end end
else
render json: {status: false, deselect:deselect,type:type,message: "No Commission"}
end end
end end

View File

@@ -61,9 +61,10 @@ class ProductCommission < ApplicationRecord
end end
def self.get_transaction(from, to, commissioner) 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? 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 end
if commissioner != 0 if commissioner != 0
transaction = transaction.where(commissioner_id: commissioner) transaction = transaction.where(commissioner_id: commissioner)

View File

@@ -126,7 +126,9 @@
$('.sale_item').on('click', function () { $('.sale_item').on('click', function () {
$('#order-items-table tr').siblings().css( "background-color", "white" ); $('#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 sale_item_id = this.getAttribute('data-sale-item');
var ajax_url = "/origami/select_sale_item"; var ajax_url = "/origami/select_sale_item";
selected_sale_item = sale_item_id; selected_sale_item = sale_item_id;
@@ -179,11 +181,17 @@
url: ajax_url, url: ajax_url,
data: param_data, data: param_data,
success: function (result) { success: function (result) {
console.log(selected_sale_item + "," +commissioner_id); console.log(result);
if(result.deselect == true){ if(result.deselect == true){
$(commissioner).removeClass("blue").addClass("green"); $(commissioner).removeClass("blue").addClass("green");
$("tr[data-sale-item=" + selected_sale_item + "] td.commissioner").text('-'); $("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");
}
} }
}); });
}; };

View File

@@ -64,7 +64,7 @@
<td><%= result.sale_id rescue '-' %></td> <td><%= result.sale_id rescue '-' %></td>
<td><%= result.sale_item_id rescue '-' %></td> <td><%= result.sale_item_id rescue '-' %></td>
<td><%= result.commissioner.name rescue '-' %></td> <td><%= result.commissioner.name rescue '-' %></td>
<td><%= result.commission.menu_item.name rescue '-' %></td> <td><%= result.porduct_name rescue '-' %></td>
<td><%= number_with_precision(result.qty.to_f, precision: precision.to_i ,delimiter: delimiter) rescue '-' %></td> <td><%= number_with_precision(result.qty.to_f, precision: precision.to_i ,delimiter: delimiter) rescue '-' %></td>
<td><%= number_with_precision(result.price.to_f, precision: precision.to_i ,delimiter: delimiter) rescue '-' %></td> <td><%= number_with_precision(result.price.to_f, precision: precision.to_i ,delimiter: delimiter) rescue '-' %></td>
<td><%= number_with_precision(result.amount.to_f, precision: precision.to_i ,delimiter: delimiter) rescue '-' %></td> <td><%= number_with_precision(result.amount.to_f, precision: precision.to_i ,delimiter: delimiter) rescue '-' %></td>

11
config/pumass.rb Executable file
View File

@@ -0,0 +1,11 @@
application_path="#{File.expand_path("../..", __FILE__)}"
directory application_path
#environment ENV.fetch("RAILS_ENV") { "production" }
environment "production"
pidfile "#{application_path}/tmp/puma/pid"
state_path "#{application_path}/tmp/puma/state"
stdout_redirect "#{application_path}/log/puma.stdout.log", "#{application_path}/log/puma.stderr.log"
port ENV.fetch("PORT") { 62158 }
workers 2
preload_app!

View File

@@ -15,18 +15,19 @@ namespace :clear do
ShiftSale.delete_all ShiftSale.delete_all
PaymentJournal.delete_all PaymentJournal.delete_all
Survey.delete_all Survey.delete_all
ProductCommission.delete_all
DiningFacility.update_all(status:'available') DiningFacility.update_all(status:'available')
CashierTerminal.update_all(is_currently_login: 0) CashierTerminal.update_all(is_currently_login: 0)
SeedGenerator.where("id > 1").update(:current => 0, :next => 0) SeedGenerator.where("id > 1").update(:current => 0, :next => 0)
Receipt.delete_all # Receipt.delete_all
ReceiptDetail.delete_all # ReceiptDetail.delete_all
OrderReservation.delete_all OrderReservation.delete_all
OrderReservationItem.delete_all OrderReservationItem.delete_all
Delivery.delete_all Delivery.delete_all
puts "Clear Data Done." puts "Clear Data Done."
end end
desc "Clear Menu" desc "Clear-- Menu"
task :menu => :environment do task :menu => :environment do