clearcorp team mailing list archive
-
clearcorp team
-
Mailing list archive
-
Message #00281
[Merge] lp:~rr.clearcorp/openerp-costa-rica/6.1-l10n_cr_hr_payroll into lp:openerp-costa-rica
Ronald Rubi has proposed merging lp:~rr.clearcorp/openerp-costa-rica/6.1-l10n_cr_hr_payroll into lp:openerp-costa-rica.
Requested reviews:
CLEARCORP drivers (clearcorp-drivers)
For more details, see:
https://code.launchpad.net/~rr.clearcorp/openerp-costa-rica/6.1-l10n_cr_hr_payroll/+merge/122562
Add retroactive in payroll report
--
https://code.launchpad.net/~rr.clearcorp/openerp-costa-rica/6.1-l10n_cr_hr_payroll/+merge/122562
Your team CLEARCORP development team is subscribed to branch lp:openerp-costa-rica.
=== modified file 'l10n_cr_hr_payroll/report/payroll_report.mako'
--- l10n_cr_hr_payroll/report/payroll_report.mako 2012-09-01 00:22:31 +0000
+++ l10n_cr_hr_payroll/report/payroll_report.mako 2012-09-03 19:18:19 +0000
@@ -23,165 +23,165 @@
</style>
</head>
<body class = "data">
- %for run in objects :
- <%
- emp_by_dep = get_obj_by_dep(run)
- %>
- <%
- total_hn = 0.0
- total_he = 0.0
- total_fe = 0.0
- total_basic = 0.0
- total_exs = 0.0
- total_fes = 0.0
- total_gross = 0.0
- total_basic = 0.0
- total_rent = 0.0
- total_ccss = 0.0
- total_net = 0.0
- total_emp = 0
- %>
- <div style="font-size: 20px; font-weight: bold; text-align: center;"> ${company.partner_id.name | entity} - ${company.currency_id.name | entity}</div>
- <div style="font-size: 25px; font-weight: bold; text-align: center;"> ${_('Payroll Report')}</div>
- <div style="font-size: 20px; font-weight: bold; text-align: center;"> ${run.name}</div>
- <div style="font-size: 16px; font-weight: bold; text-align: center;">Periodo de ${run.date_start} a ${run.date_end}</div>
- </br></br>
- %for department in emp_by_dep:
- <%
- total_hn_dep = 0.0
- total_he_dep = 0.0
- total_fe_dep = 0.0
- total_basic_dep = 0.0
- total_exs_dep = 0.0
- total_fes_dep = 0.0
- total_gross_dep = 0.0
- total_basic_dep = 0.0
- total_rent_dep = 0.0
- total_ccss_dep = 0.0
- total_net_dep = 0.0
- total_emp_dep = 0
- %>
- <div class="account_title bg" style="margin-top: 20px; font-size: 12px; width: 1080px;">${department[0]}</div>
- <div class="act_as_table list_table">
+ %for run in objects :
+ <%
+ emp_by_dep = get_obj_by_dep(run)
+ %>
+ <%
+ total_hn = 0.0
+ total_he = 0.0
+ total_fe = 0.0
+ total_basic = 0.0
+ total_exs = 0.0
+ total_fes = 0.0
+ total_gross = 0.0
+ total_basic = 0.0
+ total_rent = 0.0
+ total_ccss = 0.0
+ total_net = 0.0
+ total_emp = 0
+ %>
+ <div style="font-size: 20px; font-weight: bold; text-align: center;"> ${company.partner_id.name | entity} - ${company.currency_id.name | entity}</div>
+ <div style="font-size: 25px; font-weight: bold; text-align: center;"> ${_('Payroll Report')}</div>
+ <div style="font-size: 20px; font-weight: bold; text-align: center;"> ${run.name}</div>
+ <div style="font-size: 16px; font-weight: bold; text-align: center;">Periodo de ${run.date_start} a ${run.date_end}</div>
+ </br></br>
+ %for department in emp_by_dep:
+ <%
+ total_hn_dep = 0.0
+ total_he_dep = 0.0
+ total_fe_dep = 0.0
+ total_basic_dep = 0.0
+ total_exs_dep = 0.0
+ total_fes_dep = 0.0
+ total_gross_dep = 0.0
+ total_basic_dep = 0.0
+ total_rent_dep = 0.0
+ total_ccss_dep = 0.0
+ total_net_dep = 0.0
+ total_emp_dep = 0
+ %>
+ <div class="account_title bg" style="margin-top: 20px; font-size: 12px; width: 1080px;">${department[0]}</div>
+ <div class="act_as_table list_table">
<div class="act_as_thead">
- <div class="act_as_row labels" style="font-weight: bold; font-size: 11x;">
- <div class="act_as_cell first_column" style="width: 85px; vertical-align: middle">${_('Id card')}</div>
- <div class="act_as_cell" style="width: 230px; vertical-align: middle">${_('Name')}</div>
+ <div class="act_as_row labels" style="font-weight: bold; font-size: 11x;">
+ <div class="act_as_cell first_column" style="width: 85px; vertical-align: middle">${_('Id card')}</div>
+ <div class="act_as_cell" style="width: 230px; vertical-align: middle">${_('Name')}</div>
<div class="act_as_cell" style="width: 85px; vertical-align: middle">${_('Bank account')}</div>
- <div class="act_as_cell amount" style="width: 40px;">${_('Hrs.')}<br />${_('Nor')}</div>
- <div class="act_as_cell amount" style="width: 40px;">${_('Hrs.')}<br />${_('Ext')}</div>
- <div class="act_as_cell amount">${_('Ingr.')}<br />${_('Normal')}</div>
- <div class="act_as_cell amount">${_('Ingr.')}<br />${_('Extra')}</div>
- <div class="act_as_cell amount">${_('Salary')}<br />${_('Gross')}</div>
- <div class="act_as_cell amount">${_('Deducc.')}<br />${_('CCSS/BP')}</div>
- <div class="act_as_cell amount">${_('Tax')}<br />${_('Rent')}</div>
- <div class="act_as_cell amount">${_('Salary')}<br />${_('Net')}</div>
- </div>
- </div>
-
- <div class="act_as_tbody">
+ <div class="act_as_cell amount" style="width: 40px;">${_('Hrs.')}<br />${_('Nor')}</div>
+ <div class="act_as_cell amount" style="width: 40px;">${_('Hrs.')}<br />${_('Ext')}</div>
+ <div class="act_as_cell amount">${_('Ingr.')}<br />${_('Normal')}</div>
+ <div class="act_as_cell amount">${_('Ingr.')}<br />${_('Extra')}</div>
+ <div class="act_as_cell amount">${_('Salary')}<br />${_('Gross')}</div>
+ <div class="act_as_cell amount">${_('Deducc.')}<br />${_('CCSS/BP')}</div>
+ <div class="act_as_cell amount">${_('Tax')}<br />${_('Rent')}</div>
+ <div class="act_as_cell amount">${_('Salary')}<br />${_('Net')}</div>
+ </div>
+ </div>
+
+ <div class="act_as_tbody">
%for slip in sorted(department[1], key=lambda slip: slip.employee_id.name):
- <div class="act_as_row lines">
- ## Id card
- <div class="act_as_cell first_column" style="width: 85px;">${slip.employee_id.identification_id or ''}</div>
- ## name
- <div class="act_as_cell">${slip.employee_id.name or '0'}</div>
- ## bank account
- <div class="act_as_cell">${slip.employee_id.bank_account_id.acc_number or ' '}</div>
- ## hn
- <div class="act_as_cell amount">${get_hn(slip.worked_days_line_ids) or '0'}</div>
- ## he
- <div class="act_as_cell amount">${get_he(slip.worked_days_line_ids) or '0'}</div>
- ## basic
- <div class="act_as_cell amount">${formatLang(get_basic(slip.line_ids)) or '0'}</div>
- ## exs
- <div class="act_as_cell amount">${formatLang(get_exs(slip.line_ids)) or '0'}</div>
- ## gross
- <div class="act_as_cell amount ">${formatLang(get_gross(slip.line_ids)) or '0'}</div>
- ## ccss
- <div class="act_as_cell amount">${formatLang(get_ccss(slip.line_ids)) or '0'}</div>
- ## RENT
- <div class="act_as_cell amount">${formatLang(get_rent(slip.line_ids)) or '0'}</div>
- ## NET
- <div class="act_as_cell amount">${formatLang(get_net(slip.line_ids)) or '0'}</div>
- <%
- ## Totals by Departament
- total_hn_dep += get_hn(slip.worked_days_line_ids)
- total_he_dep += get_he(slip.worked_days_line_ids)
- total_fe_dep += get_fe(slip.worked_days_line_ids)
- total_basic_dep += get_basic(slip.line_ids)
- total_exs_dep += get_exs(slip.line_ids)
- total_fes_dep += get_fes(slip.line_ids)
- total_gross_dep += get_gross(slip.line_ids)
- total_rent_dep += get_rent(slip.line_ids)
- total_ccss_dep += get_ccss(slip.line_ids)
- total_net_dep += get_net(slip.line_ids)
- total_emp_dep += 1
+ <div class="act_as_row lines">
+ ## Id card
+ <div class="act_as_cell first_column" style="width: 85px;">${slip.employee_id.identification_id or ''}</div>
+ ## name
+ <div class="act_as_cell">${slip.employee_id.name or '0'}</div>
+ ## bank account
+ <div class="act_as_cell">${slip.employee_id.bank_account_id.acc_number or ' '}</div>
+ ## hn
+ <div class="act_as_cell amount">${get_hn(slip.worked_days_line_ids) or '0'}</div>
+ ## he
+ <div class="act_as_cell amount">${get_he(slip.worked_days_line_ids) or '0'}</div>
+ ## basic
+ <div class="act_as_cell amount">${formatLang(get_basic(slip.line_ids)) or '0'}</div>
+ ## exs
+ <div class="act_as_cell amount">${formatLang(get_exs(slip.line_ids)) or '0'}</div>
+ ## gross
+ <div class="act_as_cell amount ">${formatLang(get_gross(slip.line_ids)) or '0'}</div>
+ ## ccss
+ <div class="act_as_cell amount">${formatLang(get_ccss(slip.line_ids)) or '0'}</div>
+ ## RENT
+ <div class="act_as_cell amount">${formatLang(get_rent(slip.line_ids)) or '0'}</div>
+ ## NET
+ <div class="act_as_cell amount">${formatLang(get_net(slip.line_ids)) or '0'}</div>
+ <%
+ ## Totals by Departament
+ total_hn_dep += get_hn(slip.worked_days_line_ids)
+ total_he_dep += get_he(slip.worked_days_line_ids)
+ total_fe_dep += get_fe(slip.worked_days_line_ids)
+ total_basic_dep += get_basic(slip.line_ids)
+ total_exs_dep += get_exs(slip.line_ids)
+ total_fes_dep += get_fes(slip.line_ids)
+ total_gross_dep += get_gross(slip.line_ids)
+ total_rent_dep += get_rent(slip.line_ids)
+ total_ccss_dep += get_ccss(slip.line_ids)
+ total_net_dep += get_net(slip.line_ids)
+ total_emp_dep += 1
- ## Totals
- total_hn += get_hn(slip.worked_days_line_ids)
- total_he += get_he(slip.worked_days_line_ids)
- total_fe += get_fe(slip.worked_days_line_ids)
- total_basic += get_basic(slip.line_ids)
- total_exs += get_exs(slip.line_ids)
- total_fes += get_fes(slip.line_ids)
- total_gross += get_gross(slip.line_ids)
- total_rent += get_rent(slip.line_ids)
- total_ccss += get_ccss(slip.line_ids)
- total_net += get_net(slip.line_ids)
- total_emp += 1
- %>
+ ## Totals
+ total_hn += get_hn(slip.worked_days_line_ids)
+ total_he += get_he(slip.worked_days_line_ids)
+ total_fe += get_fe(slip.worked_days_line_ids)
+ total_basic += get_basic(slip.line_ids)
+ total_exs += get_exs(slip.line_ids)
+ total_fes += get_fes(slip.line_ids)
+ total_gross += get_gross(slip.line_ids)
+ total_rent += get_rent(slip.line_ids)
+ total_ccss += get_ccss(slip.line_ids)
+ total_net += get_net(slip.line_ids)
+ total_emp += 1
+ %>
</div>
%endfor
- </div>
- <div class="act_as_tfoot">
- <div class="act_as_row labels" style="font-weight: bold; font-size: 11x">
- <div class="act_as_cell first_column">${_('Total')}</div>
- <div class="act_as_cell">${total_emp_dep} ${_('Employees')}</div>
- <div class="act_as_cell"> </div>
- <div class="act_as_cell amount">${total_hn_dep}</div>
- <div class="act_as_cell amount">${total_he_dep}</div>
- <div class="act_as_cell amount">${formatLang(total_basic_dep)}</div>
- <div class="act_as_cell amount">${formatLang(total_exs_dep)}</div>
- <div class="act_as_cell amount">${formatLang(total_gross_dep)}</div>
- <div class="act_as_cell amount">${formatLang(total_ccss_dep)}</div>
- <div class="act_as_cell amount">${formatLang(total_rent_dep)}</div>
- <div class="act_as_cell amount">${formatLang(total_net_dep)}</div>
- </div>
+ </div>
+ <div class="act_as_tfoot">
+ <div class="act_as_row labels" style="font-weight: bold; font-size: 11x">
+ <div class="act_as_cell first_column">${_('Total')}</div>
+ <div class="act_as_cell">${total_emp_dep} ${_('Employees')}</div>
+ <div class="act_as_cell"> </div>
+ <div class="act_as_cell amount">${total_hn_dep}</div>
+ <div class="act_as_cell amount">${total_he_dep}</div>
+ <div class="act_as_cell amount">${formatLang(total_basic_dep)}</div>
+ <div class="act_as_cell amount">${formatLang(total_exs_dep)}</div>
+ <div class="act_as_cell amount">${formatLang(total_gross_dep)}</div>
+ <div class="act_as_cell amount">${formatLang(total_ccss_dep)}</div>
+ <div class="act_as_cell amount">${formatLang(total_rent_dep)}</div>
+ <div class="act_as_cell amount">${formatLang(total_net_dep)}</div>
+ </div>
</div>
</div>
%endfor
- <div class="act_as_table list_table " style="margin-top: 20px;">
- <div class="act_as_tfoot">
- <div class="act_as_row labels" style="font-weight: bold; font-size: 11px;">
- <div class="act_as_cell first_column" style="width: 85px; font-size: 12px; text-align: left">${_('TOTAL')}</div>
- <div class="act_as_cell" style="width: 230px;">${total_emp} ${_('Employees')}</div>
- <div class="act_as_cell"> </div>
- <div class="act_as_cell amount" style="width: 40px;">${total_hn}</div>
- <div class="act_as_cell amount" style="width: 40px;">${total_he}</div>
- <div class="act_as_cell amount">${formatLang(total_basic)}</div>
- <div class="act_as_cell amount">${formatLang(total_exs)}</div>
- <div class="act_as_cell amount">${formatLang(total_gross)}</div>
- <div class="act_as_cell amount">${formatLang(total_ccss)}</div>
- <div class="act_as_cell amount">${formatLang(total_rent)}</div>
- <div class="act_as_cell amount">${formatLang(total_net)}</div>
- </div>
- </div>
- </div>
- %endfor
- <div class="act_as_table data_table" style="margin-top:30px">
- <div class="act_as_tbody">
- <div class="act_as_row" style="vertical-align: bottom">
- <div class="act_as_cell" style="padding-top:80px;padding-bottom:5px"> ${_('BY:')} </div>
- <div class="act_as_cell" style="padding-top:80px;padding-bottom:5px"> ${_('REVIEWED BY:')} </div>
- <div class="act_as_cell" style="padding-top:80px;padding-bottom:5px"> ${_('APPROVED BY:')} </div>
- </div>
+ <div class="act_as_table list_table " style="margin-top: 20px;">
+ <div class="act_as_tfoot">
+ <div class="act_as_row labels" style="font-weight: bold; font-size: 11px;">
+ <div class="act_as_cell first_column" style="width: 85px; font-size: 12px; text-align: left">${_('TOTAL')}</div>
+ <div class="act_as_cell" style="width: 230px;">${total_emp} ${_('Employees')}</div>
+ <div class="act_as_cell"> </div>
+ <div class="act_as_cell amount" style="width: 40px;">${total_hn}</div>
+ <div class="act_as_cell amount" style="width: 40px;">${total_he}</div>
+ <div class="act_as_cell amount">${formatLang(total_basic)}</div>
+ <div class="act_as_cell amount">${formatLang(total_exs)}</div>
+ <div class="act_as_cell amount">${formatLang(total_gross)}</div>
+ <div class="act_as_cell amount">${formatLang(total_ccss)}</div>
+ <div class="act_as_cell amount">${formatLang(total_rent)}</div>
+ <div class="act_as_cell amount">${formatLang(total_net)}</div>
+ </div>
+ </div>
+ </div>
+ %endfor
+ <div class="act_as_table data_table" style="margin-top:30px">
+ <div class="act_as_tbody">
+ <div class="act_as_row" style="vertical-align: bottom">
+ <div class="act_as_cell" style="padding-top:80px;padding-bottom:5px"> ${_('BY:')} </div>
+ <div class="act_as_cell" style="padding-top:80px;padding-bottom:5px"> ${_('REVIEWED BY:')} </div>
+ <div class="act_as_cell" style="padding-top:80px;padding-bottom:5px"> ${_('APPROVED BY:')} </div>
+ </div>
</div>
- </div>
- <p style="page-break-after:always"></p>
-
-
+ </div>
+ <p style="page-break-after:always"></p>
+
+
</body>
</html>
=== modified file 'l10n_cr_hr_payroll/report/payroll_report.py'
--- l10n_cr_hr_payroll/report/payroll_report.py 2012-08-23 20:23:22 +0000
+++ l10n_cr_hr_payroll/report/payroll_report.py 2012-09-03 19:18:19 +0000
@@ -41,8 +41,11 @@
'get_gross':self.get_gross,
'get_ccss':self.get_ccss,
'get_net':self.get_net,
- 'get_rent':self.get_rent,
- 'get_obj_by_dep':self.get_obj_by_dep,
+ 'get_rent':self.get_rent,
+ 'get_obj_by_dep':self.get_obj_by_dep,
+ 'get_RETM':self.get_RETM,
+ 'get_RETS':self.get_RETS,
+ 'get_retroactive':self.get_retroactive,
})
def get_prefix(self,currency,company_id):
@@ -74,8 +77,7 @@
res = 0
for line in line_ids:
if line.code == code:
- res += line.number_of_hours
-
+ res += line.number_of_hours
return res
@@ -104,7 +106,7 @@
if line.code == code:
res += line.total
-
+ res = res + self.get_retroactive(line_ids)
return res
@@ -162,7 +164,27 @@
return res
+
+ def get_RETM(self,line_ids):
+ code = 'RET-MENS'
+ res = 0
+ for line in line_ids:
+ if line.code == code:
+ res += line.total
+ return res
+ def get_RETS(self,line_ids):
+ code = 'RET-SEM'
+ res = 0
+ for line in line_ids:
+ if line.code == code:
+ res += line.total
+ return res
+
+ def get_retroactive(self, line_ids):
+ res = 0
+ res = self.get_RETS(line_ids) + self.get_RETM(line_ids)
+ return res
def get_obj_by_dep(self,run):
obj_by_dep = []
Follow ups