Merge pull request #30323 from deepeshgarg007/sales_person_dashboard
fix: Contribution amount against invoices in Sales Person Dashboard
diff --git a/erpnext/setup/doctype/sales_person/sales_person.js b/erpnext/setup/doctype/sales_person/sales_person.js
index b71a92f..d86a8f3 100644
--- a/erpnext/setup/doctype/sales_person/sales_person.js
+++ b/erpnext/setup/doctype/sales_person/sales_person.js
@@ -4,8 +4,12 @@
frappe.ui.form.on('Sales Person', {
refresh: function(frm) {
if(frm.doc.__onload && frm.doc.__onload.dashboard_info) {
- var info = frm.doc.__onload.dashboard_info;
- frm.dashboard.add_indicator(__('Total Contribution Amount: {0}', [format_currency(info.allocated_amount, info.currency)]), 'blue');
+ let info = frm.doc.__onload.dashboard_info;
+ frm.dashboard.add_indicator(__('Total Contribution Amount Against Orders: {0}',
+ [format_currency(info.allocated_amount_against_order, info.currency)]), 'blue');
+
+ frm.dashboard.add_indicator(__('Total Contribution Amount Against Invoices: {0}',
+ [format_currency(info.allocated_amount_against_invoice, info.currency)]), 'blue');
}
},
diff --git a/erpnext/setup/doctype/sales_person/sales_person.py b/erpnext/setup/doctype/sales_person/sales_person.py
index b79a566..6af1b31 100644
--- a/erpnext/setup/doctype/sales_person/sales_person.py
+++ b/erpnext/setup/doctype/sales_person/sales_person.py
@@ -28,14 +28,17 @@
def load_dashboard_info(self):
company_default_currency = get_default_currency()
- allocated_amount = frappe.db.sql("""
- select sum(allocated_amount)
- from `tabSales Team`
- where sales_person = %s and docstatus=1 and parenttype = 'Sales Order'
- """,(self.sales_person_name))
+ allocated_amount_against_order = flt(frappe.db.get_value('Sales Team',
+ {'docstatus': 1, 'parenttype': 'Sales Order', 'sales_person': self.sales_person_name},
+ 'sum(allocated_amount)'))
+
+ allocated_amount_against_invoice = flt(frappe.db.get_value('Sales Team',
+ {'docstatus': 1, 'parenttype': 'Sales Invoice', 'sales_person': self.sales_person_name},
+ 'sum(allocated_amount)'))
info = {}
- info["allocated_amount"] = flt(allocated_amount[0][0]) if allocated_amount else 0
+ info["allocated_amount_against_order"] = allocated_amount_against_order
+ info["allocated_amount_against_invoice"] = allocated_amount_against_invoice
info["currency"] = company_default_currency
self.set_onload('dashboard_info', info)