fix: Monthly Attendance Sheet Summarized view (#24976)
* fix: Monthly Attendance Sheet Summarized view This fixes the count of different leave types in the monthly attendance sheet summarized view. Signed-off-by: Syed Mujeer Hashmi <mujeerhashmi@4csolutions.in> * fix: Avoid using raw sql query Signed-off-by: Syed Mujeer Hashmi <mujeerhashmi@4csolutions.in> Co-authored-by: Anurag Mishra <32095923+Anurag810@users.noreply.github.com>
This commit is contained in:
parent
3ecd7ac4c7
commit
bcf3f3dd29
@ -57,10 +57,10 @@ def execute(filters=None):
|
|||||||
|
|
||||||
data = []
|
data = []
|
||||||
|
|
||||||
|
leave_types = frappe.db.get_list("Leave Type")
|
||||||
leave_list = None
|
leave_list = None
|
||||||
if filters.summarized_view:
|
if filters.summarized_view:
|
||||||
leave_types = frappe.db.sql("""select name from `tabLeave Type`""", as_list=True)
|
leave_list = [d.name + ":Float:120" for d in leave_types]
|
||||||
leave_list = [d[0] + ":Float:120" for d in leave_types]
|
|
||||||
columns.extend(leave_list)
|
columns.extend(leave_list)
|
||||||
columns.extend([_("Total Late Entries") + ":Float:120", _("Total Early Exits") + ":Float:120"])
|
columns.extend([_("Total Late Entries") + ":Float:120", _("Total Early Exits") + ":Float:120"])
|
||||||
|
|
||||||
@ -72,11 +72,11 @@ def execute(filters=None):
|
|||||||
if (att_map_set & emp_map_set):
|
if (att_map_set & emp_map_set):
|
||||||
parameter_row = ["<b>"+ parameter + "</b>"] + ['' for day in range(filters["total_days_in_month"] + 2)]
|
parameter_row = ["<b>"+ parameter + "</b>"] + ['' for day in range(filters["total_days_in_month"] + 2)]
|
||||||
data.append(parameter_row)
|
data.append(parameter_row)
|
||||||
record, emp_att_data = add_data(emp_map[parameter], att_map, filters, holiday_map, conditions, default_holiday_list, leave_list=leave_list)
|
record, emp_att_data = add_data(emp_map[parameter], att_map, filters, holiday_map, conditions, default_holiday_list, leave_types=leave_types)
|
||||||
emp_att_map.update(emp_att_data)
|
emp_att_map.update(emp_att_data)
|
||||||
data += record
|
data += record
|
||||||
else:
|
else:
|
||||||
record, emp_att_map = add_data(emp_map, att_map, filters, holiday_map, conditions, default_holiday_list, leave_list=leave_list)
|
record, emp_att_map = add_data(emp_map, att_map, filters, holiday_map, conditions, default_holiday_list, leave_types=leave_types)
|
||||||
data += record
|
data += record
|
||||||
|
|
||||||
chart_data = get_chart_data(emp_att_map, days)
|
chart_data = get_chart_data(emp_att_map, days)
|
||||||
@ -126,7 +126,7 @@ def get_chart_data(emp_att_map, days):
|
|||||||
|
|
||||||
return chart
|
return chart
|
||||||
|
|
||||||
def add_data(employee_map, att_map, filters, holiday_map, conditions, default_holiday_list, leave_list=None):
|
def add_data(employee_map, att_map, filters, holiday_map, conditions, default_holiday_list, leave_types=None):
|
||||||
|
|
||||||
record = []
|
record = []
|
||||||
emp_att_map = {}
|
emp_att_map = {}
|
||||||
@ -204,9 +204,9 @@ def add_data(employee_map, att_map, filters, holiday_map, conditions, default_ho
|
|||||||
else:
|
else:
|
||||||
leaves[d.leave_type] = d.count
|
leaves[d.leave_type] = d.count
|
||||||
|
|
||||||
for d in leave_list:
|
for d in leave_types:
|
||||||
if d in leaves:
|
if d.name in leaves:
|
||||||
row.append(leaves[d])
|
row.append(leaves[d.name])
|
||||||
else:
|
else:
|
||||||
row.append("0.0")
|
row.append("0.0")
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user