Skip to content

Commit

Permalink
fix: achieved targets for sales partners
Browse files Browse the repository at this point in the history
(cherry picked from commit 1ac8887)
  • Loading branch information
GursheenK authored and mergify[bot] committed Mar 18, 2024
1 parent c4c0510 commit f9ab763
Showing 1 changed file with 23 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -209,31 +209,32 @@ def get_actual_data(filters, sales_users_or_territory_data, date_field, sales_fi

parent_doc = frappe.qb.DocType(filters.get("doctype"))
child_doc = frappe.qb.DocType(filters.get("doctype") + " Item")
sales_team = frappe.qb.DocType("Sales Team")

query = (
frappe.qb.from_(parent_doc)
.inner_join(child_doc)
.on(child_doc.parent == parent_doc.name)
.inner_join(sales_team)
.on(sales_team.parent == parent_doc.name)
.select(
child_doc.item_group,
(child_doc.stock_qty * sales_team.allocated_percentage / 100).as_("stock_qty"),
(child_doc.base_net_amount * sales_team.allocated_percentage / 100).as_("base_net_amount"),
sales_team.sales_person,
parent_doc[date_field],
)
.where(
(parent_doc.docstatus == 1)
& (parent_doc[date_field].between(fiscal_year.year_start_date, fiscal_year.year_end_date))
)
)

query = frappe.qb.from_(parent_doc).inner_join(child_doc).on(child_doc.parent == parent_doc.name)

if sales_field == "sales_person":
query = query.where(sales_team.sales_person.isin(sales_users_or_territory_data))
sales_team = frappe.qb.DocType("Sales Team")
stock_qty = child_doc.stock_qty * sales_team.allocated_percentage / 100
net_amount = child_doc.base_net_amount * sales_team.allocated_percentage / 100
sales_field_col = sales_team[sales_field]

query = query.inner_join(sales_team).on(sales_team.parent == parent_doc.name)
else:
query = query.where(parent_doc[sales_field].isin(sales_users_or_territory_data))
stock_qty = child_doc.stock_qty
net_amount = child_doc.base_net_amount
sales_field_col = parent_doc[sales_field]

query = query.select(
child_doc.item_group,
parent_doc[date_field],
(stock_qty).as_("stock_qty"),
(net_amount).as_("base_net_amount"),
sales_field_col,
).where(
(parent_doc.docstatus == 1)
& (parent_doc[date_field].between(fiscal_year.year_start_date, fiscal_year.year_end_date))
& (sales_field_col.isin(sales_users_or_territory_data))
)

return query.run(as_dict=True)

Expand Down

0 comments on commit f9ab763

Please sign in to comment.