Merge pull request #6675 from KanchanChauhan/holiday-in-lwp-salaryslip
include_holiday being taken into consideration while calculating lwp
This commit is contained in:
commit
6ef8ede280
@ -280,24 +280,26 @@ class SalarySlip(TransactionBase):
|
|||||||
holidays = [cstr(i) for i in holidays]
|
holidays = [cstr(i) for i in holidays]
|
||||||
|
|
||||||
return holidays
|
return holidays
|
||||||
|
|
||||||
def calculate_lwp(self, holidays, working_days):
|
def calculate_lwp(self, holidays, working_days):
|
||||||
lwp = 0
|
lwp = 0
|
||||||
|
holidays = "','".join(holidays)
|
||||||
for d in range(working_days):
|
for d in range(working_days):
|
||||||
dt = add_days(cstr(getdate(self.start_date)), d)
|
dt = add_days(cstr(getdate(self.start_date)), d)
|
||||||
if dt not in holidays:
|
leave = frappe.db.sql("""
|
||||||
leave = frappe.db.sql("""
|
select t1.name, t1.half_day
|
||||||
select t1.name, t1.half_day
|
from `tabLeave Application` t1, `tabLeave Type` t2
|
||||||
from `tabLeave Application` t1, `tabLeave Type` t2
|
where t2.name = t1.leave_type
|
||||||
where t2.name = t1.leave_type
|
and t2.is_lwp = 1
|
||||||
and t2.is_lwp = 1
|
and t1.docstatus = 1
|
||||||
and t1.docstatus = 1
|
and t1.employee = %(employee)s
|
||||||
and t1.employee = %s
|
and CASE WHEN t2.include_holiday != 1 THEN %(dt)s not in ('{0}') and %(dt)s between from_date and to_date
|
||||||
and %s between from_date and to_date
|
WHEN t2.include_holiday THEN %(dt)s between from_date and to_date
|
||||||
""", (self.employee, dt))
|
END
|
||||||
if leave:
|
""".format(holidays), {"employee": self.employee, "dt": dt})
|
||||||
lwp = cint(leave[0][1]) and (lwp + 0.5) or (lwp + 1)
|
if leave:
|
||||||
return lwp
|
lwp = cint(leave[0][1]) and (lwp + 0.5) or (lwp + 1)
|
||||||
|
return lwp
|
||||||
|
|
||||||
def check_existing(self):
|
def check_existing(self):
|
||||||
if not self.salary_slip_based_on_timesheet:
|
if not self.salary_slip_based_on_timesheet:
|
||||||
|
Loading…
Reference in New Issue
Block a user