From f5f73f352cf7ead174dcf6ecf95ed723bda39de9 Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Wed, 19 Feb 2020 12:04:03 -0800 Subject: [PATCH] IMP `hr_payroll_slip_ytd` Add totals for Quantity and Amount for better YTD reporting. --- hr_payroll_slip_ytd/__manifest__.py | 2 +- hr_payroll_slip_ytd/models/payslip.py | 13 +++++++++++-- hr_payroll_slip_ytd/views/payslip_views.xml | 9 +++++++-- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/hr_payroll_slip_ytd/__manifest__.py b/hr_payroll_slip_ytd/__manifest__.py index eff0199d..a66480ff 100755 --- a/hr_payroll_slip_ytd/__manifest__.py +++ b/hr_payroll_slip_ytd/__manifest__.py @@ -1,7 +1,7 @@ { 'name': 'Payroll Report Year to Date', 'author': 'Hibou Corp. ', - 'version': '12.0.1.0.0', + 'version': '12.0.1.1.0', 'category': 'Human Resources', 'sequence': 95, 'summary': 'Show YTD computations on Payslip Report', diff --git a/hr_payroll_slip_ytd/models/payslip.py b/hr_payroll_slip_ytd/models/payslip.py index 1dd7cbcf..fe46d655 100644 --- a/hr_payroll_slip_ytd/models/payslip.py +++ b/hr_payroll_slip_ytd/models/payslip.py @@ -9,11 +9,20 @@ class Payslip(models.Model): from_date = str(self.date_to.year) + '-01-01' state_allowed = ('done', 'verify') if not allow_draft else ('done', 'verify', 'draft') self.env.cr.execute(""" - SELECT sum(total) as sum + SELECT sum(total) as total, + sum(quantity) as quantity, + sum(amount) as amount FROM hr_payslip as hp JOIN hr_payslip_line as pi ON hp.id = pi.slip_id WHERE hp.employee_id = %s AND hp.state in %s AND hp.date_to >= %s AND hp.date_to <= %s AND pi.code = %s""", (self.employee_id.id, state_allowed, from_date, to_date, code)) - return self.env.cr.fetchone()[0] or 0.0 + res = self.env.cr.dictfetchone() + if res: + # Can return dictionary with NULL aka Nones + for key in res: + res[key] = res[key] or 0.0 + else: + res = {'total': 0.0, 'quantity': 0.0, 'amount': 0.0} + return res diff --git a/hr_payroll_slip_ytd/views/payslip_views.xml b/hr_payroll_slip_ytd/views/payslip_views.xml index 1e80ce7c..dbe60014 100644 --- a/hr_payroll_slip_ytd/views/payslip_views.xml +++ b/hr_payroll_slip_ytd/views/payslip_views.xml @@ -3,12 +3,17 @@ \ No newline at end of file