mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-06 23:10:26 +00:00
feat: Compute year_to_date
This commit is contained in:
@@ -35,6 +35,9 @@ class SalarySlip(TransactionBase):
|
|||||||
def autoname(self):
|
def autoname(self):
|
||||||
self.name = make_autoname(self.series)
|
self.name = make_autoname(self.series)
|
||||||
|
|
||||||
|
def before_save(self):
|
||||||
|
self.compute_year_to_date()
|
||||||
|
|
||||||
def validate(self):
|
def validate(self):
|
||||||
self.status = self.get_status()
|
self.status = self.get_status()
|
||||||
self.validate_dates()
|
self.validate_dates()
|
||||||
@@ -1125,6 +1128,26 @@ class SalarySlip(TransactionBase):
|
|||||||
self.gross_pay += self.earnings[i].amount
|
self.gross_pay += self.earnings[i].amount
|
||||||
self.net_pay = flt(self.gross_pay) - flt(self.total_deduction)
|
self.net_pay = flt(self.gross_pay) - flt(self.total_deduction)
|
||||||
|
|
||||||
|
def compute_year_to_date(self):
|
||||||
|
year_to_date = 0
|
||||||
|
fiscal_year = frappe.get_list('Fiscal Year',
|
||||||
|
fields = ['year','year_start_date','year_end_date'],
|
||||||
|
filters= {'year_start_date' : ['<=', self.start_date],
|
||||||
|
'year_end_date' : ['>=', self.end_date]
|
||||||
|
})[0]
|
||||||
|
salary_slips_from_current_fiscal_year = frappe.get_list('Salary Slip',
|
||||||
|
fields = ['employee_name', 'start_date', 'end_date', 'net_pay'],
|
||||||
|
filters = {'employee_name' : self.employee_name,
|
||||||
|
'start_date' : ['>=', fiscal_year.year_start_date],
|
||||||
|
'end_date' : ['<=', fiscal_year.year_end_date]
|
||||||
|
})
|
||||||
|
|
||||||
|
for salary_slip in salary_slips_from_current_fiscal_year:
|
||||||
|
year_to_date += salary_slip.net_pay
|
||||||
|
|
||||||
|
year_to_date += self.net_pay
|
||||||
|
self.year_to_date = year_to_date
|
||||||
|
|
||||||
def unlink_ref_doc_from_salary_slip(ref_no):
|
def unlink_ref_doc_from_salary_slip(ref_no):
|
||||||
linked_ss = frappe.db.sql_list("""select name from `tabSalary Slip`
|
linked_ss = frappe.db.sql_list("""select name from `tabSalary Slip`
|
||||||
where journal_entry=%s and docstatus < 2""", (ref_no))
|
where journal_entry=%s and docstatus < 2""", (ref_no))
|
||||||
@@ -1135,4 +1158,4 @@ def unlink_ref_doc_from_salary_slip(ref_no):
|
|||||||
|
|
||||||
def generate_password_for_pdf(policy_template, employee):
|
def generate_password_for_pdf(policy_template, employee):
|
||||||
employee = frappe.get_doc("Employee", employee)
|
employee = frappe.get_doc("Employee", employee)
|
||||||
return policy_template.format(**employee.as_dict())
|
return policy_template.format(**employee.as_dict())
|
||||||
Reference in New Issue
Block a user