diff --git a/lib/tasks/shift_sales.rake b/lib/tasks/shift_sales.rake index 9f7e92b3..9ccb059e 100644 --- a/lib/tasks/shift_sales.rake +++ b/lib/tasks/shift_sales.rake @@ -34,8 +34,14 @@ namespace :shift_sales do sales = shift_sale.sales.order(:created_at) sales.each do |sale| + sale_payments = sale.sale_payments.order(:created_at) + + sale.grand_total = sale.total_amount - sale.total_discount + + if sale.tax_type == 'exclusive' + sale.grand_total += sale.total_tax + end - sale.grand_total = sale.total_amount - sale.total_discount + sale.total_tax sale.old_grand_total = grand_total if args[:shop_code] @@ -44,7 +50,7 @@ namespace :shift_sales do shop = Shop.first end - if shop.is_rounding_adj + if !['foc', 'waste', 'spoile'].include?(sale.payment_status) && (sale.sale_status != 'void' || sale_payments.present?) && shop.is_rounding_adj new_total = Sale.get_rounding_adjustment(sale.grand_total) sale.rounding_adjustment = new_total - sale.grand_total sale.old_grand_total = sale.grand_total @@ -53,15 +59,24 @@ namespace :shift_sales do sale.rounding_adjustment = 0.00 end - sale.amount_changed = sale.amount_received - sale.grand_total + if !['foc', 'waste', 'spoile'].include?(sale.payment_status) + sale.amount_changed = sale.amount_received - sale.grand_total + else + sale.amount_changed = 0.00 + end + + sale.update_columns( + grand_total: sale.grand_total, + old_grand_total: sale.old_grand_total, + rounding_adjustment: sale.rounding_adjustment, + amount_changed: sale.amount_changed + ) cash_amount = 0 credit_amount = 0 other_amount = 0 - sale_payments = sale.sale_payments.order(:created_at) sale_payments.each do |sale_payment| - if sale_payment.payment_method == 'creditnote' credit_amount += sale_payment.payment_amount else @@ -90,14 +105,7 @@ namespace :shift_sales do end end - sale.update_columns( - grand_total: sale.grand_total, - old_grand_total: sale.old_grand_total, - rounding_adjustment: sale.rounding_adjustment, - amount_changed: sale.amount_changed - ) - - if sale.sale_status != 'void' + if sale.sale_status == 'completed' total_revenue += sale.total_amount total_discounts += sale.total_discount total_taxes += sale.total_tax