Преглед изворни кода

bugfix in cash move when is product return

chemi ledon пре 7 година
родитељ
комит
89c3df4ffd

+ 11 - 8
app/models/cash_registers_move.rb

@@ -79,22 +79,25 @@ class CashRegistersMove < ActiveRecord::Base
         self.concept = :sale
         total = sale.total
         already_paid = CashRegistersMove.where(sale_id: sale_id, open_cash_register_id: open_cash_register_id).sum(:quantity)
+        rest = total - already_paid
+        if sale.cash?
+          self.change = rest > received.to_f ? 0 : received.to_f - rest
+          self.quantity = received.to_f > rest ? rest : received.to_f
+        elsif sale.reserved? || sale.credit?
+          self.change = received.to_f > quantity ? received.to_f - quantity : 0
+        end
       elsif products_return.present?
         total = products_return.difference_amount
         already_paid = CashRegistersMove.where(products_return_id: products_return_id, open_cash_register_id: open_cash_register_id).sum(:quantity)
-      end
-
-      rest = total - already_paid
-      if sale.cash?
-        self.change = rest > received.to_f ? 0 : received.to_f - rest
-        self.quantity = received.to_f > rest ? rest : received.to_f
-      elsif sale.reserved? || sale.credit?
-        self.change = received.to_f > quantity ? received.to_f - quantity : 0
+        self.change = total > received.to_f ? 0 : received.to_f - total
+        self.quantity = received.to_f > total ? total : received.to_f
       end
     else
       self.quantity = received.to_f
       self.change = 0
     end
+    puts "quantity #{quantity}"
+    puts "change #{change}"
   end
 
   def self.incomings_per_period(period)

+ 2 - 0
app/views/cash_registers_moves/_form_products_return.html.erb

@@ -279,6 +279,8 @@
   }
 
   function calculateChange() {
+    var cash = 0;
+    var card = 0;
     var total = parseFloat($('#products_return_total').val());
     var received_cash = parseFloat($('#cash_registers_move_received').val());
     totalInTable = 0;