refactor: simplify pos_session statement posting and remove unnecessary cash_register_total_entry_encoding calculation

This commit is contained in:
Suherdy Yacob 2026-04-28 17:49:29 +07:00
parent 2aa917a4c7
commit 54b94387c5

View File

@ -72,7 +72,7 @@ class PosSession(models.Model):
opening_amount = self.opening_cash_expected
return opening_amount or 0.0
def _post_statement_difference(self, amount, is_opening):
def _post_statement_difference(self, amount, is_opening=False):
for session in self:
session_amount = amount
if not is_opening and session.config_id.cash_control:
@ -86,7 +86,7 @@ class PosSession(models.Model):
continue
elif session.currency_id.is_zero(session_amount):
continue
super(PosSession, session)._post_statement_difference(session_amount, is_opening)
super(PosSession, session)._post_statement_difference(session_amount)
@api.depends("payment_method_ids", "order_ids", "cash_register_balance_start", "cash_real_transaction", "statement_line_ids")
def _compute_cash_balance(self):
@ -105,11 +105,10 @@ class PosSession(models.Model):
manual_cash_total = session.cash_real_transaction or 0.0
else:
manual_cash_total = sum(session.statement_line_ids.mapped("amount"))
session.cash_register_total_entry_encoding = manual_cash_total + total_cash_payment
session.cash_register_balance_end = session.cash_register_balance_start + session.cash_register_total_entry_encoding
total_cash = manual_cash_total + total_cash_payment
session.cash_register_balance_end = session.cash_register_balance_start + total_cash
session.cash_register_difference = session.cash_register_balance_end_real - session.cash_register_balance_end
else:
session.cash_register_total_entry_encoding = 0.0
session.cash_register_balance_end = 0.0
session.cash_register_difference = 0.0