update pyslip logic

This commit is contained in:
younes 2025-04-27 14:31:34 +01:00
parent 63dcfeae1f
commit 2ec0c082b5
1 changed files with 8 additions and 6 deletions

View File

@ -550,7 +550,7 @@ class SalaryRuleInput(models.Model):
'contract_id': payslip.contract_id.id})]
elif holiday.holiday_status_id.payslip_type == 'addition':
if payslip_date_from >= holiday_date_from and payslip_date_to >= holiday_date_to:
start_date = datetime.strptime(holiday_date_from, "%Y-%m-%d").date()
start_date = datetime.strptime(payslip_date_from, "%Y-%m-%d").date()
end_date = datetime.strptime(holiday_date_to, "%Y-%m-%d").date()
number_of_days = relativedelta(end_date, start_date).days
@ -574,8 +574,9 @@ class SalaryRuleInput(models.Model):
'number_of_hours': 0.0,
'contract_id': payslip.contract_id.id})]
elif holiday_date_from >= payslip_date_from and payslip_date_to <= holiday_date_to:
start_date = payslip_date_from
end_date = payslip_date_to
start_date = datetime.strptime(holiday_date_from, "%Y-%m-%d").date()
end_date = datetime.strptime(payslip_date_to, "%Y-%m-%d").date()
number_of_days = relativedelta(end_date, start_date).days + 1
if number_of_days >= 0: # number_of_days <= 0
payslip.worked_days_line_ids = [(0, 0, {
@ -588,8 +589,8 @@ class SalaryRuleInput(models.Model):
'contract_id': payslip.contract_id.id})]
else:
if payslip_date_to <= holiday_date_to:
start_date = payslip_date_from
end_date = payslip_date_to
start_date = datetime.strptime(payslip_date_from, "%Y-%m-%d").date()
end_date = datetime.strptime(payslip_date_to, "%Y-%m-%d").date()
number_of_days = relativedelta(end_date, start_date).days
if number_of_days >= 0: # number_of_days <= 0
payslip.worked_days_line_ids = [(0, 0, {
@ -2442,6 +2443,7 @@ class HrPayslipRun(models.Model):
################### End ################################################################
if employees:
locale = self.env.context.get('lang') or 'en_US'
for employee in employees:
slip_data = self.env['hr.payslip'].onchange_employee_id(from_date, to_date, employee.id,
contract_id=False)
@ -2450,7 +2452,7 @@ class HrPayslipRun(models.Model):
ttyme = datetime.fromtimestamp(time.mktime(time.strptime(str(from_date), "%Y-%m-%d")))
slip_data['value'].update({
'name': _('Salary Slip of %s for %s') % (
employee.name, tools.ustr(babel.dates.format_date(date=ttyme, format='MMMM-y'))),
employee.name, tools.ustr(babel.dates.format_date(date=ttyme, format='MMMM-y',locale=locale))),
'company_id': employee.company_id.id,
})
###########