From 2a4c90302b7597927d39039aeb8376e498f84fbb Mon Sep 17 00:00:00 2001 From: Anurag Mishra <32095923+Anurag810@users.noreply.github.com> Date: Fri, 31 Jul 2020 17:59:30 +0530 Subject: [PATCH] fix: minor recritment analytics fixes (#22830) Co-authored-by: Rucha Mahabal --- .../recruitment_analytics.py | 48 ++++++++++--------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/erpnext/hr/report/recruitment_analytics/recruitment_analytics.py b/erpnext/hr/report/recruitment_analytics/recruitment_analytics.py index 867209436cb..e961114ac2c 100644 --- a/erpnext/hr/report/recruitment_analytics/recruitment_analytics.py +++ b/erpnext/hr/report/recruitment_analytics/recruitment_analytics.py @@ -96,33 +96,35 @@ def get_data(filters): def get_parent_row(sp_jo_map, sp, jo_ja_map, ja_joff_map): data = [] - for jo in sp_jo_map[sp]: - row = { - "staffing_plan" : sp, - "job_opening" : jo["name"], - } - data.append(row) - child_row = get_child_row( jo["name"], jo_ja_map, ja_joff_map) - data += child_row + if sp in sp_jo_map.keys(): + for jo in sp_jo_map[sp]: + row = { + "staffing_plan" : sp, + "job_opening" : jo["name"], + } + data.append(row) + child_row = get_child_row( jo["name"], jo_ja_map, ja_joff_map) + data += child_row return data def get_child_row(jo, jo_ja_map, ja_joff_map): data = [] - for ja in jo_ja_map[jo]: - row = { - "indent":1, - "job_applicant": ja.name, - "applicant_name": ja.applicant_name, - "application_status": ja.status, - } - if ja.name in ja_joff_map.keys(): - jo_detail =ja_joff_map[ja.name][0] - row["job_offer"] = jo_detail.name - row["job_offer_status"] = jo_detail.status - row["offer_date"]= jo_detail.offer_date.strftime("%d-%m-%Y") - row["designation"] = jo_detail.designation + if jo in jo_ja_map.keys(): + for ja in jo_ja_map[jo]: + row = { + "indent":1, + "job_applicant": ja.name, + "applicant_name": ja.applicant_name, + "application_status": ja.status, + } + if ja.name in ja_joff_map.keys(): + jo_detail =ja_joff_map[ja.name][0] + row["job_offer"] = jo_detail.name + row["job_offer_status"] = jo_detail.status + row["offer_date"]= jo_detail.offer_date.strftime("%d-%m-%Y") + row["designation"] = jo_detail.designation - data.append(row) + data.append(row) return data def get_staffing_plan(filters): @@ -177,7 +179,7 @@ def get_job_applicant(jo_list): def get_job_offer(ja_list): ja_joff_map = {} - offers = frappe.get_all("Job offer", filters = [["job_applicant", "IN", ja_list]], fields =["name", "job_applicant", "status", 'offer_date', 'designation']) + offers = frappe.get_all("Job Offer", filters = [["job_applicant", "IN", ja_list]], fields =["name", "job_applicant", "status", 'offer_date', 'designation']) for offer in offers: if offer.job_applicant not in ja_joff_map.keys():