Merge pull request #6962 from KanchanChauhan/payroll-fixes

[Fix] Filters to get employee in Payroll
This commit is contained in:
Nabin Hait 2016-11-16 17:34:00 +05:30 committed by GitHub
commit 7f6b99aca4
3 changed files with 15 additions and 13 deletions

View File

@ -32,12 +32,13 @@ def get_filters_cond(doctype, filters, conditions):
# searches for active employees
def employee_query(doctype, txt, searchfield, start, page_len, filters):
conditions = []
return frappe.db.sql("""select name, employee_name from `tabEmployee`
where status = 'Active'
and docstatus < 2
and ({key} like %(txt)s
or employee_name like %(txt)s)
{mcond}
{fcond} {mcond}
order by
if(locate(%(_txt)s, name), locate(%(_txt)s, name), 99999),
if(locate(%(_txt)s, employee_name), locate(%(_txt)s, employee_name), 99999),
@ -45,6 +46,7 @@ def employee_query(doctype, txt, searchfield, start, page_len, filters):
name, employee_name
limit %(start)s, %(page_len)s""".format(**{
'key': searchfield,
'fcond': get_filters_cond(doctype, filters, conditions),
'mcond': get_match_cond(doctype)
}), {
'txt': "%%%s%%" % txt,

View File

@ -22,7 +22,7 @@ class ProcessPayroll(Document):
sal_struct = frappe.db.sql("""
select name from `tabSalary Structure`
where docstatus != 2 and company = %(company)s and
where docstatus != 2 and is_active = 'Yes' and company = %(company)s and
ifnull(salary_slip_based_on_timesheet,0) = %(salary_slip_based_on_timesheet)s""",
{"company": self.company, "salary_slip_based_on_timesheet":self.salary_slip_based_on_timesheet})
@ -51,8 +51,8 @@ class ProcessPayroll(Document):
def get_joining_releiving_condition(self):
cond = """
and ifnull(t1.date_of_joining, '0000-00-00') <= '%(from_date)s'
and ifnull(t1.relieving_date, '2199-12-31') >= '%(to_date)s'
and ifnull(t1.date_of_joining, '0000-00-00') <= '%(to_date)s'
and ifnull(t1.relieving_date, '2199-12-31') >= '%(from_date)s'
""" % {"from_date": self.from_date, "to_date": self.to_date}
return cond

View File

@ -28,7 +28,15 @@ frappe.ui.form.on('Salary Structure', {
type: "deduction"
}
}
})
});
frm.set_query("employee", "employees", function(doc) {
return {
query: "erpnext.controllers.queries.employee_query",
filters: {
company: doc.company
}
}
});
},
refresh: function(frm) {
@ -182,11 +190,3 @@ frappe.ui.form.on('Salary Detail', {
calculate_totals(frm.doc);
}
})
frappe.ui.form.on('Salary Structure Employee', {
onload: function(frm) {
frm.set_query("employee","employees", function(doc,cdt,cdn) {
return{ query: "erpnext.controllers.queries.employee_query" }
})
}
});