bug fixes and improvements
This commit is contained in:
@@ -173,18 +173,18 @@ class Origami::SaleEditController < BaseOrigamiController
|
|||||||
saleitemId = params[:sale_item_id]
|
saleitemId = params[:sale_item_id]
|
||||||
access_code = params[:access_code]
|
access_code = params[:access_code]
|
||||||
order_source = params[:type]
|
order_source = params[:type]
|
||||||
saleitemObj = SaleItem.find(saleitemId)
|
|
||||||
both = SaleItem.where('product_code=?', saleitemObj.product_code)
|
|
||||||
both.each do |item|
|
|
||||||
if item.qty.to_i > 0
|
|
||||||
item.status = nil
|
|
||||||
item.save
|
|
||||||
end
|
|
||||||
end
|
|
||||||
saleitemObj.destroy
|
|
||||||
|
|
||||||
|
saleitemObj = SaleItem.find(saleitemId)
|
||||||
|
|
||||||
|
saleObj = saleitemObj.sale
|
||||||
|
|
||||||
|
saleObj.sale_items.where(product_code: saleitemObj.product_code)
|
||||||
|
.where(qty: saleitemObj.qty.abs)
|
||||||
|
.where(unit_price: saleitemObj.unit_price)
|
||||||
|
.where(status: saleitemObj.status).first.update(status: nil, remark: nil)
|
||||||
|
|
||||||
|
saleitemObj.destroy
|
||||||
# re-calc tax
|
# re-calc tax
|
||||||
saleObj = Sale.find(saleitemObj.sale_id)
|
|
||||||
|
|
||||||
order_id = SaleOrder.find_by_sale_id(saleitemObj.sale_id).order_id
|
order_id = SaleOrder.find_by_sale_id(saleitemObj.sale_id).order_id
|
||||||
order = Order.find(order_id)
|
order = Order.find(order_id)
|
||||||
|
|||||||
@@ -15,8 +15,6 @@ class OrderItem < ApplicationRecord
|
|||||||
|
|
||||||
after_save :update_stock_journal
|
after_save :update_stock_journal
|
||||||
|
|
||||||
# after_update :update_stock_journal
|
|
||||||
|
|
||||||
# after_save :add_to_journal, if: Proc.new { !self.id_changed? }
|
# after_save :add_to_journal, if: Proc.new { !self.id_changed? }
|
||||||
# after_save :update_stock_journal, if: Proc.new { self.id_changed? }
|
# after_save :update_stock_journal, if: Proc.new { self.id_changed? }
|
||||||
|
|
||||||
@@ -127,7 +125,7 @@ class OrderItem < ApplicationRecord
|
|||||||
end
|
end
|
||||||
|
|
||||||
def update_stock_journal
|
def update_stock_journal
|
||||||
if self.qty != self.qty_was
|
if self.qty != self.qty_before_last_save
|
||||||
found, inventory_definition = InventoryDefinition.find_product_in_inventory(self)
|
found, inventory_definition = InventoryDefinition.find_product_in_inventory(self)
|
||||||
if found
|
if found
|
||||||
InventoryDefinition.check_balance(self, inventory_definition)
|
InventoryDefinition.check_balance(self, inventory_definition)
|
||||||
|
|||||||
@@ -2940,7 +2940,7 @@ private
|
|||||||
end
|
end
|
||||||
|
|
||||||
def update_stock_journal
|
def update_stock_journal
|
||||||
if self.sale_status == "void" && self.sale_status_was != "void"
|
if self.sale_status == "void" && self.sale_status_before_last_save != "void"
|
||||||
self.sale_items.each do |item|
|
self.sale_items.each do |item|
|
||||||
found, inventory_definition = InventoryDefinition.find_product_in_inventory(item)
|
found, inventory_definition = InventoryDefinition.find_product_in_inventory(item)
|
||||||
if found
|
if found
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ class SaleItem < ApplicationRecord
|
|||||||
sale_items.each do|saleitemObj|
|
sale_items.each do|saleitemObj|
|
||||||
@newsaleitem = SaleItem.new
|
@newsaleitem = SaleItem.new
|
||||||
@newsaleitem = saleitemObj.dup
|
@newsaleitem = saleitemObj.dup
|
||||||
@newsaleitem.save
|
|
||||||
@newsaleitem.qty = saleitemObj.qty * (-1)
|
@newsaleitem.qty = saleitemObj.qty * (-1)
|
||||||
@newsaleitem.unit_price = saleitemObj.unit_price * (-1)
|
@newsaleitem.unit_price = saleitemObj.unit_price * (-1)
|
||||||
@newsaleitem.taxable_price = (saleitemObj.unit_price * saleitemObj.qty) * (-1)
|
@newsaleitem.taxable_price = (saleitemObj.unit_price * saleitemObj.qty) * (-1)
|
||||||
@@ -233,12 +232,12 @@ class SaleItem < ApplicationRecord
|
|||||||
end
|
end
|
||||||
|
|
||||||
def update_stock_journal
|
def update_stock_journal
|
||||||
is_void = self.status == "void" && self.status_was != "void"
|
is_void = self.status == "void" && self.status_before_last_save != "void"
|
||||||
cancel_void = self.status_was == "void" && self.status.nil?
|
cancel_void = self.status_before_last_save == "void" && self.status.nil?
|
||||||
is_edit = self.qty >= 0 && self.qty != self.qty_was
|
is_edit = self.qty >= 0 && self.qty != self.qty_before_last_save
|
||||||
is_foc = self.status == "foc" && self.status_was != "foc"
|
is_foc = self.status == "foc" && self.status_before_last_save != "foc"
|
||||||
cancel_foc = self.status_was == "foc"
|
cancel_foc = self.status_before_last_save == "foc"
|
||||||
|
|
||||||
if is_void or cancel_void or is_edit or is_foc or cancel_foc
|
if is_void or cancel_void or is_edit or is_foc or cancel_foc
|
||||||
found, inventory_definition = InventoryDefinition.find_product_in_inventory(self)
|
found, inventory_definition = InventoryDefinition.find_product_in_inventory(self)
|
||||||
if found
|
if found
|
||||||
@@ -253,7 +252,7 @@ class SaleItem < ApplicationRecord
|
|||||||
qty = self.qty
|
qty = self.qty
|
||||||
remark = "cancel void"
|
remark = "cancel void"
|
||||||
elsif is_edit
|
elsif is_edit
|
||||||
qty = self.qty - self.qty_was
|
qty = self.qty - self.qty_before_last_save
|
||||||
remark = "edit"
|
remark = "edit"
|
||||||
end
|
end
|
||||||
StockJournal.add_to_journal(self.item_instance_code, qty, stock.balance, remark, inventory_definition, self.id, StockJournal::SALES_TRANS)
|
StockJournal.add_to_journal(self.item_instance_code, qty, stock.balance, remark, inventory_definition, self.id, StockJournal::SALES_TRANS)
|
||||||
@@ -275,4 +274,5 @@ class SaleItem < ApplicationRecord
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user