Tower: upload om_account_followup 19.0.1.0.2 (was 1.0.2, via marketplace)
This commit is contained in:
50
addons/om_account_followup/models/followup_partner.py
Normal file
50
addons/om_account_followup/models/followup_partner.py
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
from odoo import api, fields, models, _
|
||||||
|
from odoo import tools
|
||||||
|
|
||||||
|
|
||||||
|
class FollowupStatByPartner(models.Model):
|
||||||
|
_name = "followup.stat.by.partner"
|
||||||
|
_description = "Follow-up Statistics by Partner"
|
||||||
|
_rec_name = 'partner_id'
|
||||||
|
_auto = False
|
||||||
|
|
||||||
|
def _get_invoice_partner_id(self):
|
||||||
|
for rec in self:
|
||||||
|
rec.invoice_partner_id = rec.partner_id.address_get(
|
||||||
|
adr_pref=['invoice']).get('invoice', rec.partner_id.id)
|
||||||
|
|
||||||
|
partner_id = fields.Many2one('res.partner', 'Partner', readonly=True)
|
||||||
|
date_move = fields.Date('First move', readonly=True)
|
||||||
|
date_move_last = fields.Date('Last move', readonly=True)
|
||||||
|
date_followup = fields.Date('Latest follow-up', readonly=True)
|
||||||
|
max_followup_id = fields.Many2one('followup.line', 'Max Follow Up Level', readonly=True, ondelete="cascade")
|
||||||
|
balance = fields.Float('Balance', readonly=True)
|
||||||
|
company_id = fields.Many2one('res.company', 'Company', readonly=True)
|
||||||
|
invoice_partner_id = fields.Many2one('res.partner', compute='_get_invoice_partner_id', string='Invoice Address')
|
||||||
|
|
||||||
|
@api.model
|
||||||
|
def init(self):
|
||||||
|
tools.drop_view_if_exists(self.env.cr, 'followup_stat_by_partner')
|
||||||
|
self.env.cr.execute("""
|
||||||
|
create view followup_stat_by_partner as (
|
||||||
|
SELECT
|
||||||
|
l.partner_id * 10000::bigint + l.company_id as id,
|
||||||
|
l.partner_id AS partner_id,
|
||||||
|
min(l.date) AS date_move,
|
||||||
|
max(l.date) AS date_move_last,
|
||||||
|
max(l.followup_date) AS date_followup,
|
||||||
|
max(l.followup_line_id) AS max_followup_id,
|
||||||
|
sum(l.debit - l.credit) AS balance,
|
||||||
|
l.company_id as company_id
|
||||||
|
FROM
|
||||||
|
account_move_line l
|
||||||
|
LEFT JOIN account_account a ON (l.account_id = a.id)
|
||||||
|
WHERE
|
||||||
|
a.account_type = 'asset_receivable' AND
|
||||||
|
l.full_reconcile_id is NULL AND
|
||||||
|
l.partner_id IS NOT NULL
|
||||||
|
GROUP BY
|
||||||
|
l.partner_id, l.company_id
|
||||||
|
)""")
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user