fix(Salary Slip): Consider Leave without Pay for calculation (#16926)

while net salary calculation, it was not considering actual days worked but now it will consider it
This commit is contained in:
Himanshu 2019-03-29 18:48:56 +05:30 committed by Faris Ansari
parent 13752774ab
commit 6343a697a2

View File

@ -441,7 +441,7 @@ class SalarySlip(TransactionBase):
def calculate_net_pay(self): def calculate_net_pay(self):
if self.salary_structure: if self.salary_structure:
self.calculate_component_amounts() self.calculate_component_amounts()
disable_rounded_total = cint(frappe.db.get_value("Global Defaults", None, "disable_rounded_total")) disable_rounded_total = cint(frappe.db.get_value("Global Defaults", None, "disable_rounded_total"))
precision = frappe.defaults.get_global_default("currency_precision") precision = frappe.defaults.get_global_default("currency_precision")
self.total_deduction = 0 self.total_deduction = 0
@ -452,10 +452,10 @@ class SalarySlip(TransactionBase):
self.set_loan_repayment() self.set_loan_repayment()
self.net_pay = flt(self.gross_pay) - (flt(self.total_deduction) + flt(self.total_loan_repayment)) self.net_pay = (flt(self.gross_pay) - (flt(self.total_deduction) + flt(self.total_loan_repayment))) * flt(self.payment_days / self.total_working_days)
self.rounded_total = rounded(self.net_pay, self.rounded_total = rounded(self.net_pay,
self.precision("net_pay") if disable_rounded_total else 0) self.precision("net_pay") if disable_rounded_total else 0)
if self.net_pay < 0: if self.net_pay < 0:
frappe.throw(_("Net Pay cannnot be negative")) frappe.throw(_("Net Pay cannnot be negative"))