Employee Benefit Calim - earning component filter updated

This commit is contained in:
Jamsheer 2018-05-22 16:19:35 +05:30
parent c5629efe0e
commit c1ae88ba02
2 changed files with 2 additions and 47 deletions

View File

@ -5,8 +5,8 @@ frappe.ui.form.on('Employee Benefit Claim', {
setup: function(frm) {
frm.set_query("earning_component", function() {
return {
query : "erpnext.hr.doctype.employee_benefit_claim.employee_benefit_claim.get_earning_components_for_claim",
filters: {claim_date: frm.doc.claim_date, employee: frm.doc.employee}
query : "erpnext.hr.doctype.employee_benefit_application.employee_benefit_application.get_earning_components",
filters: {date: frm.doc.claim_date, employee: frm.doc.employee}
};
});
},

View File

@ -121,48 +121,3 @@ def get_employee_benefit_claim(employee, start_date, end_date):
if len(salary_components_array) > 0:
return salary_components_array
return False
def get_earning_components_for_claim(doctype, txt, searchfield, start, page_len, filters):
if len(filters) < 2:
return {}
employee = filters['employee']
claim_date = filters['claim_date']
payroll_period = get_payroll_period(claim_date, claim_date, frappe.db.get_value("Employee", employee, "company"))
application = frappe.db.exists(
"Employee Benefit Application",
{
'employee': employee,
'payroll_period': payroll_period.name,
'docstatus': 1
}
)
earning_components = get_earning_components_from_application(doctype, application, start, page_len)
if not earning_components:
earning_components = get_all_pro_rata_earning_components(doctype, start, page_len)
return earning_components
def get_earning_components_from_application(doctype, parent, start, page_len):
query = """select earning_component from `tabEmployee Benefit Application Detail` where parent = '{parent}'
order by name"""
return frappe.db.sql(query.format(**{
"parent": parent,
"mcond": get_match_cond(doctype)
}), {
'start': start,
'page_len': page_len
})
def get_all_pro_rata_earning_components(doctype, start, page_len):
return frappe.db.sql("""
select name from `tabSalary Component`
where is_flexible_benefit = 1 and is_pro_rata_applicable = 1
and type = 'Earning' and disabled = 0
""".format(**{
"mcond": get_match_cond(doctype)
}), {
'start': start,
'page_len': page_len
})