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