[fix] duplicate columns in monthly salary report #6623
This commit is contained in:
parent
025fbd8f14
commit
bc0783b527
@ -38,25 +38,25 @@ def get_columns(salary_slips):
|
||||
columns = [
|
||||
_("Salary Slip ID") + ":Link/Salary Slip:150",_("Employee") + ":Link/Employee:120", _("Employee Name") + "::140", _("Branch") + ":Link/Branch:120",
|
||||
_("Department") + ":Link/Department:120", _("Designation") + ":Link/Designation:120",
|
||||
_("Company") + ":Link/Company:120", _("Month") + "::80", _("Leave Without Pay") + ":Float:130",
|
||||
_("Company") + ":Link/Company:120", _("Month") + "::80", _("Leave Without Pay") + ":Float:130",
|
||||
_("Payment Days") + ":Float:120"
|
||||
]
|
||||
|
||||
earning_types = frappe.db.sql_list("""select distinct salary_component from `tabSalary Detail`
|
||||
where amount != 0 and parent in (%s)""" %
|
||||
(', '.join(['%s']*len(salary_slips))), tuple([d.name for d in salary_slips]))
|
||||
|
||||
ded_types = frappe.db.sql_list("""select distinct salary_component from `tabSalary Detail`
|
||||
where amount != 0 and parent in (%s)""" %
|
||||
(', '.join(['%s']*len(salary_slips))), tuple([d.name for d in salary_slips]))
|
||||
|
||||
columns = columns + [(e + ":Currency:120") for e in earning_types] + \
|
||||
["Arrear Amount:Currency:120", "Leave Encashment Amount:Currency:150",
|
||||
"Gross Pay:Currency:120"] + [(d + ":Currency:120") for d in ded_types] + \
|
||||
["Total Deduction:Currency:120", "Net Pay:Currency:120"]
|
||||
salary_components = {_("Earning"): [], _("Deduction"): []}
|
||||
|
||||
for component in frappe.db.sql("""select distinct sd.salary_component, sc.type
|
||||
from `tabSalary Detail` sd, `tabSalary Component` sc
|
||||
where sc.name=sd.salary_component and sd.amount != 0 and sd.parent in (%s)""" %
|
||||
(', '.join(['%s']*len(salary_slips))), tuple([d.name for d in salary_slips]), as_dict=1):
|
||||
salary_components[component.type].append(component.salary_component)
|
||||
|
||||
columns = columns + [(e + ":Currency:120") for e in salary_components[_("Earning")]] + \
|
||||
[ _("Arrear Amount") + ":Currency:120", _("Leave Encashment Amount") + ":Currency:150",
|
||||
_("Gross Pay") + ":Currency:120"] + [(d + ":Currency:120") for d in salary_components[_("Deduction")]] + \
|
||||
[_("Total Deduction") + ":Currency:120", _("Net Pay") + ":Currency:120"]
|
||||
|
||||
return columns, salary_components[_("Earning")], salary_components[_("Deduction")]
|
||||
|
||||
return columns, earning_types, ded_types
|
||||
|
||||
def get_salary_slips(filters):
|
||||
conditions, filters = get_conditions(filters)
|
||||
salary_slips = frappe.db.sql("""select * from `tabSalary Slip` where docstatus = 1 %s
|
||||
|
Loading…
x
Reference in New Issue
Block a user