Leave Balance Report Notes
This commit is contained in:
parent
2f4ce1b666
commit
b5186046d1
|
|
@ -1,7 +1,7 @@
|
||||||
# -*- coding:utf-8 -*-
|
# -*- coding:utf-8 -*-
|
||||||
|
|
||||||
from datetime import date, datetime, time
|
from datetime import date, datetime, time
|
||||||
|
from odoo.addons import decimal_precision as dp
|
||||||
import babel
|
import babel
|
||||||
from dateutil.relativedelta import relativedelta
|
from dateutil.relativedelta import relativedelta
|
||||||
from pytz import timezone
|
from pytz import timezone
|
||||||
|
|
@ -511,7 +511,7 @@ class HrPayslipLine(models.Model):
|
||||||
employee_id = fields.Many2one('hr.employee', string='Employee', required=True)
|
employee_id = fields.Many2one('hr.employee', string='Employee', required=True)
|
||||||
contract_id = fields.Many2one('hr.contract', string='Contract', required=True, index=True)
|
contract_id = fields.Many2one('hr.contract', string='Contract', required=True, index=True)
|
||||||
rate = fields.Float(string='Rate (%)', default=100.0)
|
rate = fields.Float(string='Rate (%)', default=100.0)
|
||||||
amount = fields.Float()
|
amount = fields.Float(digits=dp.get_precision('Product Price'))
|
||||||
quantity = fields.Float(default=1.0)
|
quantity = fields.Float(default=1.0)
|
||||||
total = fields.Float(compute='_compute_total', string='Total', store=True)
|
total = fields.Float(compute='_compute_total', string='Total', store=True)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -146,6 +146,10 @@ class PayslipMonthlyReportXlsx(models.AbstractModel):
|
||||||
format2.set_align('center')
|
format2.set_align('center')
|
||||||
format2.set_align('vcenter')
|
format2.set_align('vcenter')
|
||||||
format3 = workbook.add_format({'bottom': True, 'align': 'center', 'bold': True, })
|
format3 = workbook.add_format({'bottom': True, 'align': 'center', 'bold': True, })
|
||||||
|
format_amount = workbook.add_format({
|
||||||
|
'bottom': True, 'right': True, 'left': True, 'top': True, 'align': 'center',
|
||||||
|
'num_format': '#,##0.00',
|
||||||
|
})
|
||||||
if data['delist'] != 'tf':
|
if data['delist'] != 'tf':
|
||||||
sheet.merge_range('C5:F5', title, format2)
|
sheet.merge_range('C5:F5', title, format2)
|
||||||
sheet.merge_range('C6:F6', data['form']['date_from'] + ' - ' + data['form']['date_to'], format2)
|
sheet.merge_range('C6:F6', data['form']['date_from'] + ' - ' + data['form']['date_to'], format2)
|
||||||
|
|
@ -162,7 +166,11 @@ class PayslipMonthlyReportXlsx(models.AbstractModel):
|
||||||
clm = 1
|
clm = 1
|
||||||
for k, v in line.items():
|
for k, v in line.items():
|
||||||
clm += 1
|
clm += 1
|
||||||
sheet.write(row, clm, line[k], format1)
|
if isinstance(v, (int, float)):
|
||||||
|
sheet.write(row, clm, v, format_amount)
|
||||||
|
else:
|
||||||
|
sheet.write(row, clm, v, format1)
|
||||||
|
#sheet.write(row, clm, line[k], format1)
|
||||||
else:
|
else:
|
||||||
row += 1
|
row += 1
|
||||||
clm = 2
|
clm = 2
|
||||||
|
|
@ -172,5 +180,9 @@ class PayslipMonthlyReportXlsx(models.AbstractModel):
|
||||||
clm = 1
|
clm = 1
|
||||||
for k, v in ln.items():
|
for k, v in ln.items():
|
||||||
clm += 1
|
clm += 1
|
||||||
sheet.write(row, clm, ln[k], format1)
|
if isinstance(v, (int, float)):
|
||||||
|
sheet.write(row, clm, v, format_amount)
|
||||||
|
else:
|
||||||
|
sheet.write(row, clm, v, format1)
|
||||||
|
#sheet.write(row, clm, ln[k], format1)
|
||||||
row += 1
|
row += 1
|
||||||
|
|
|
||||||
|
|
@ -182,6 +182,10 @@ class PayslipMonthlyReportXlsx(models.AbstractModel):
|
||||||
format2 = workbook.add_format(
|
format2 = workbook.add_format(
|
||||||
{'font_size': 14, 'bottom': True, 'right': True, 'left': True, 'top': True, 'align': 'center',
|
{'font_size': 14, 'bottom': True, 'right': True, 'left': True, 'top': True, 'align': 'center',
|
||||||
'bold': True})
|
'bold': True})
|
||||||
|
format_amount = workbook.add_format({
|
||||||
|
'bottom': True, 'right': True, 'left': True, 'top': True, 'align': 'center',
|
||||||
|
'num_format': '#,##0.00',
|
||||||
|
})
|
||||||
format2.set_align('center')
|
format2.set_align('center')
|
||||||
format2.set_align('vcenter')
|
format2.set_align('vcenter')
|
||||||
format3 = workbook.add_format({'bottom': True, 'align': 'center', 'bold': True, })
|
format3 = workbook.add_format({'bottom': True, 'align': 'center', 'bold': True, })
|
||||||
|
|
@ -201,7 +205,11 @@ class PayslipMonthlyReportXlsx(models.AbstractModel):
|
||||||
clm = 1
|
clm = 1
|
||||||
for k, v in line.items():
|
for k, v in line.items():
|
||||||
clm += 1
|
clm += 1
|
||||||
sheet.write(row, clm, line[k], format1)
|
if isinstance(v, (int, float)):
|
||||||
|
sheet.write(row, clm, v, format_amount)
|
||||||
|
else:
|
||||||
|
sheet.write(row, clm, v, format1)
|
||||||
|
#sheet.write(row, clm, line[k], format1)
|
||||||
else:
|
else:
|
||||||
row += 1
|
row += 1
|
||||||
clm = 2
|
clm = 2
|
||||||
|
|
@ -211,5 +219,9 @@ class PayslipMonthlyReportXlsx(models.AbstractModel):
|
||||||
clm = 1
|
clm = 1
|
||||||
for k, v in ln.items():
|
for k, v in ln.items():
|
||||||
clm += 1
|
clm += 1
|
||||||
sheet.write(row, clm, ln[k], format1)
|
if isinstance(v, (int, float)):
|
||||||
|
sheet.write(row, clm, v, format_amount)
|
||||||
|
else:
|
||||||
|
sheet.write(row, clm, v, format1)
|
||||||
|
#sheet.write(row, clm, ln[k], format1)
|
||||||
row += 1
|
row += 1
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue