Skip to content

Commit

Permalink
[IMP] account_reconciliation_widget: Performance opening reconciliati…
Browse files Browse the repository at this point in the history
…on widget

There was an unneeded mapped of the initial statements that fetches a lot of
data from statement lines that are not going to be used later, so let's
remove it and optimize a bit the initial opening time.

In a customer database, we have improved the opening time from 120 seconds
to 15.

TT48753
  • Loading branch information
pedrobaeza committed Apr 16, 2024
1 parent b60c270 commit 9d2d98f
Showing 1 changed file with 5 additions and 12 deletions.
17 changes: 5 additions & 12 deletions account_reconciliation_widget/models/reconciliation_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -308,12 +308,6 @@ def get_bank_statement_data(self, bank_statement_line_ids, srch_domain=None):
"""
if not bank_statement_line_ids:
return {}
bank_statements = (
self.env["account.bank.statement.line"]
.browse(bank_statement_line_ids)
.mapped("statement_id")
)

query = """
SELECT line.id
FROM account_bank_statement_line line
Expand All @@ -340,18 +334,17 @@ def get_bank_statement_data(self, bank_statement_line_ids, srch_domain=None):
[line["st_line"]["id"] for line in results["lines"]]
)
bank_statements_left = bank_statement_lines_left.mapped("statement_id")

data = bank_statements_left.read(["name", "journal_id"])
data = data and data[0] or {}
results.update(
{
"statement_id": len(bank_statements_left) == 1
and bank_statements_left.id
and bank_statements_left[0].id
or False,
"statement_name": len(bank_statements_left) == 1
and bank_statements_left.name
or False,
"journal_id": bank_statements
and bank_statements[0].journal_id.id
and data.get("name")
or False,
"journal_id": data and data.get("journal_id", [False])[0] or False,
"notifications": [],
}
)
Expand Down

0 comments on commit 9d2d98f

Please sign in to comment.