Sales person Commission Report and more (#15431)

* Commission For Sales Person

* Changes Made

* Changes made in sales person dashboard and commission report

* Update sales_person_commission_summary.py
This commit is contained in:
deepeshgarg007
2018-09-25 19:08:16 +05:30
committed by Nabin Hait
parent 865cb88bdd
commit 86152eb5c8
10 changed files with 525 additions and 80 deletions

View File

@@ -12,6 +12,8 @@ frappe.provide("erpnext.selling");
erpnext.selling.SellingController = erpnext.TransactionController.extend({
setup: function() {
this._super();
this.frm.add_fetch("sales_partner", "commission_rate", "commission_rate");
this.frm.add_fetch("sales_person", "commission_rate", "commission_rate");
},
onload: function() {
@@ -29,8 +31,6 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({
setup_queries: function() {
var me = this;
this.frm.add_fetch("sales_partner", "commission_rate", "commission_rate");
$.each([["customer", "customer"],
["lead", "lead"]],
function(i, opts) {
@@ -171,17 +171,26 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({
allocated_percentage: function(doc, cdt, cdn) {
var sales_person = frappe.get_doc(cdt, cdn);
if(sales_person.allocated_percentage) {
sales_person.allocated_percentage = flt(sales_person.allocated_percentage,
precision("allocated_percentage", sales_person));
sales_person.allocated_amount = flt(this.frm.doc.base_net_total *
sales_person.allocated_percentage / 100.0,
precision("allocated_amount", sales_person));
refresh_field(["allocated_amount"], sales_person);
refresh_field(["allocated_percentage", "allocated_amount"], sales_person.name,
this.calculate_incentive(sales_person);
refresh_field(["allocated_percentage", "allocated_amount", "commission_rate","incentives"], sales_person.name,
sales_person.parentfield);
}
}
},
sales_person: function(doc, cdt, cdn) {
var row = frappe.get_doc(cdt, cdn);
this.calculate_incentive(row);
refresh_field("incentives",row.name,row.parentfield);
},
warehouse: function(doc, cdt, cdn) {
@@ -250,6 +259,15 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({
});
},
calculate_incentive: function(row) {
if(row.allocated_amount)
{
row.incentives = flt(
row.allocated_amount * row.commission_rate / 100.0,
precision("incentives", sales_person));
}
},
batch_no: function(doc, cdt, cdn) {
var me = this;
var item = frappe.get_doc(cdt, cdn);