← Back to team overview

clearcorp team mailing list archive

[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