From 664fbb68d6c4bd0c482adc87b5e0ca47c8db893d Mon Sep 17 00:00:00 2001 From: "psi (Open ERP)" Date: Thu, 2 Jun 2011 18:53:46 +0530 Subject: [PATCH] [IMP] hr_payroll: code improvment in details by payslip report bzr revid: psi@tinyerp.co.in-20110602132346-x23d19p3j2ulancv --- addons/hr_payroll/report/report_payslip_details.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/addons/hr_payroll/report/report_payslip_details.py b/addons/hr_payroll/report/report_payslip_details.py index d65065eb6f6..e8df94d3b5a 100644 --- a/addons/hr_payroll/report/report_payslip_details.py +++ b/addons/hr_payroll/report/report_payslip_details.py @@ -64,8 +64,9 @@ class payslip_details_report(report_sxw.rml_parse): for key, value in result.iteritems(): rule_categories = rule_cate_obj.browse(self.cr, self.uid, [key]) parents = get_recursive_parent(rule_categories) - self.cr.execute('''SELECT SUM(pl.total) FROM hr_payslip_line pl\ - WHERE pl.id in %s''',(tuple(value),)) + category_total = 0 + for line in payslip_line.browse(self.cr, self.uid, value): + category_total += line.total level = 0 for parent in parents: res.append({ @@ -73,7 +74,7 @@ class payslip_details_report(report_sxw.rml_parse): 'name': parent.name, 'code': parent.code, 'level': level, - 'total': self.cr.fetchone()[0] or 0.0, + 'total': category_total, }) level += 1 for line in payslip_line.browse(self.cr, self.uid, value): @@ -96,11 +97,12 @@ class payslip_details_report(report_sxw.rml_parse): result.setdefault(obj[id].register_id.name, []) result[obj[id].register_id.name].append(obj[id].id) for key, value in result.iteritems(): - self.cr.execute('''SELECT SUM(pl.total) FROM hr_payslip_line pl\ - WHERE pl.id in %s''',(tuple(value),)) + register_total = 0 + for line in payslip_line.browse(self.cr, self.uid, value): + register_total += line.total res.append({ 'register_name': key, - 'total': self.cr.fetchone()[0] or 0.0, + 'total': register_total, }) for line in payslip_line.browse(self.cr, self.uid, value): res.append({