Skip to content

Commit 9eaa314

Browse files
authored
Merge pull request #3274 from frappe/version-15-hotfix
2 parents de4d9d9 + 67c65c2 commit 9eaa314

File tree

2 files changed

+42
-19
lines changed

2 files changed

+42
-19
lines changed

hrms/hr/report/recruitment_analytics/recruitment_analytics.py

Lines changed: 29 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,9 @@ def get_data(filters):
7070
data = []
7171
staffing_plan_details = get_staffing_plan(filters)
7272
staffing_plan_list = list(set([details["name"] for details in staffing_plan_details]))
73-
sp_jo_map, jo_list = get_job_opening(staffing_plan_list)
73+
sp_jo_map, jo_list = get_job_opening(staffing_plan_list, filters)
7474
jo_ja_map, ja_list = get_job_applicant(jo_list)
75-
ja_joff_map = get_job_offer(ja_list)
75+
ja_joff_map = get_job_offer(ja_list, filters)
7676

7777
for sp in sp_jo_map.keys():
7878
parent_row = get_parent_row(sp_jo_map, sp, jo_ja_map, ja_joff_map)
@@ -118,26 +118,36 @@ def get_child_row(jo, jo_ja_map, ja_joff_map):
118118

119119
def get_staffing_plan(filters):
120120
# nosemgrep: frappe-semgrep-rules.rules.frappe-using-db-sql
121-
staffing_plan = frappe.db.sql(
122-
f"""
123-
select
124-
sp.name, sp.department, spd.designation, spd.vacancies, spd.current_count, spd.parent, sp.to_date
125-
from
126-
`tabStaffing Plan Detail` spd , `tabStaffing Plan` sp
127-
where
128-
spd.parent = sp.name
129-
And
130-
sp.to_date > '{filters.on_date}'
131-
""",
132-
as_dict=1,
121+
StaffingPlan = frappe.qb.DocType("Staffing Plan")
122+
StaffingPlanDetail = frappe.qb.DocType("Staffing Plan Detail")
123+
124+
query = (
125+
frappe.qb.from_(StaffingPlanDetail)
126+
.join(StaffingPlan)
127+
.on(StaffingPlanDetail.parent == StaffingPlan.name)
128+
.where(StaffingPlan.to_date > filters.on_date)
129+
.where(StaffingPlan.company == filters.company)
130+
.select(
131+
StaffingPlan.name,
132+
StaffingPlan.department,
133+
StaffingPlanDetail.designation,
134+
StaffingPlanDetail.vacancies,
135+
StaffingPlanDetail.current_count,
136+
StaffingPlanDetail.parent,
137+
StaffingPlan.to_date,
138+
)
133139
)
134140

141+
staffing_plan = query.run(as_dict=True)
142+
135143
return staffing_plan
136144

137145

138-
def get_job_opening(sp_list):
146+
def get_job_opening(sp_list, filters):
147+
job_opening_filters = [["staffing_plan", "IN", sp_list], ["company", "=", filters.company]]
148+
139149
job_openings = frappe.get_all(
140-
"Job Opening", filters=[["staffing_plan", "IN", sp_list]], fields=["name", "staffing_plan"]
150+
"Job Opening", filters=job_opening_filters, fields=["name", "staffing_plan"]
141151
)
142152

143153
sp_jo_map = {}
@@ -175,12 +185,13 @@ def get_job_applicant(jo_list):
175185
return jo_ja_map, ja_list
176186

177187

178-
def get_job_offer(ja_list):
188+
def get_job_offer(ja_list, filters=None):
179189
ja_joff_map = {}
190+
job_offer_filters = [["job_applicant", "IN", ja_list], ["company", "=", filters.company]]
180191

181192
offers = frappe.get_all(
182193
"Job Offer",
183-
filters=[["job_applicant", "IN", ja_list]],
194+
filters=job_offer_filters,
184195
fields=["name", "job_applicant", "status", "offer_date", "designation"],
185196
)
186197

hrms/payroll/report/provident_fund_deductions/provident_fund_deductions.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,19 @@
88

99

1010
def execute(filters=None):
11-
data = get_data(filters)
11+
data = []
12+
provident_fund_components = ["Provident Fund", "Additional Provident Fund", "Provident Fund Loan"]
13+
if not frappe.db.exists("Salary Component", {"component_type": ["in", provident_fund_components]}):
14+
frappe.msgprint(
15+
_(
16+
"Salary components of type Provident Fund, Additional Provident Fund or Provident Fund Loan are not set up."
17+
),
18+
title=_("Missing Salary Components"),
19+
indicator="red",
20+
)
21+
else:
22+
data = get_data(filters)
23+
1224
columns = get_columns(filters) if len(data) else []
1325

1426
return columns, data

0 commit comments

Comments
 (0)