Skip to content

Commit

Permalink
[IMP]performance account_analytic_parent
Browse files Browse the repository at this point in the history
  • Loading branch information
AaronHForgeFlow committed Oct 31, 2018
1 parent 16af0b2 commit 7a29391
Showing 1 changed file with 19 additions and 4 deletions.
23 changes: 19 additions & 4 deletions account_analytic_parent/models/account_analytic_account.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,25 @@ def _compute_debit_credit_balance(self):
of analytic account changes
"""
super(AccountAnalyticAccount, self)._compute_debit_credit_balance()
for account in self:
account.debit += sum(account.mapped('child_ids.debit'))
account.credit += sum(account.mapped('child_ids.credit'))
account.balance += sum(account.mapped('child_ids.balance'))
analytic_line_obj = self.env['account.analytic.line']
# compute only analytic line
for account in self.filtered(lambda x: x.child_ids):
domain = [('account_id', 'child_of', account.ids)]
credit_groups = analytic_line_obj.read_group(
domain=domain + [('amount', '>=', 0.0)],
fields=['account_id', 'amount'],
groupby=['account_id']
)
data_credit = sum(l['amount'] for l in credit_groups)
debit_groups = analytic_line_obj.read_group(
domain=domain + [('amount', '<', 0.0)],
fields=['account_id', 'amount'],
groupby=['account_id']
)
data_debit = sum(l['amount'] for l in debit_groups)
account.debit = data_debit
account.credit = data_credit
account.balance = account.credit - account.debit

@api.multi
@api.constrains('parent_id')
Expand Down

0 comments on commit 7a29391

Please sign in to comment.