Merge branch 'develop' into product-filter-lookup

This commit is contained in:
Marica
2022-03-22 12:13:46 +05:30
committed by GitHub
2 changed files with 57 additions and 69 deletions

View File

@@ -199,7 +199,13 @@ def get_mode_of_payment_details(filters):
invoice_list = get_invoices(filters) invoice_list = get_invoices(filters)
invoice_list_names = ",".join('"' + invoice['name'] + '"' for invoice in invoice_list) invoice_list_names = ",".join('"' + invoice['name'] + '"' for invoice in invoice_list)
if invoice_list: if invoice_list:
inv_mop_detail = frappe.db.sql("""select a.owner, a.posting_date, inv_mop_detail = frappe.db.sql("""
select t.owner,
t.posting_date,
t.mode_of_payment,
sum(t.paid_amount) as paid_amount
from (
select a.owner, a.posting_date,
ifnull(b.mode_of_payment, '') as mode_of_payment, sum(b.base_amount) as paid_amount ifnull(b.mode_of_payment, '') as mode_of_payment, sum(b.base_amount) as paid_amount
from `tabSales Invoice` a, `tabSales Invoice Payment` b from `tabSales Invoice` a, `tabSales Invoice Payment` b
where a.name = b.parent where a.name = b.parent
@@ -208,7 +214,7 @@ def get_mode_of_payment_details(filters):
group by a.owner, a.posting_date, mode_of_payment group by a.owner, a.posting_date, mode_of_payment
union union
select a.owner,a.posting_date, select a.owner,a.posting_date,
ifnull(b.mode_of_payment, '') as mode_of_payment, sum(b.base_paid_amount) as paid_amount ifnull(b.mode_of_payment, '') as mode_of_payment, sum(c.allocated_amount) as paid_amount
from `tabSales Invoice` a, `tabPayment Entry` b,`tabPayment Entry Reference` c from `tabSales Invoice` a, `tabPayment Entry` b,`tabPayment Entry Reference` c
where a.name = c.reference_name where a.name = c.reference_name
and b.name = c.parent and b.name = c.parent
@@ -224,6 +230,8 @@ def get_mode_of_payment_details(filters):
and b.reference_type = "Sales Invoice" and b.reference_type = "Sales Invoice"
and b.reference_name in ({invoice_list_names}) and b.reference_name in ({invoice_list_names})
group by a.owner, a.posting_date, mode_of_payment group by a.owner, a.posting_date, mode_of_payment
) t
group by t.owner, t.posting_date, t.mode_of_payment
""".format(invoice_list_names=invoice_list_names), as_dict=1) """.format(invoice_list_names=invoice_list_names), as_dict=1)
inv_change_amount = frappe.db.sql("""select a.owner, a.posting_date, inv_change_amount = frappe.db.sql("""select a.owner, a.posting_date,
@@ -231,7 +239,7 @@ def get_mode_of_payment_details(filters):
from `tabSales Invoice` a, `tabSales Invoice Payment` b from `tabSales Invoice` a, `tabSales Invoice Payment` b
where a.name = b.parent where a.name = b.parent
and a.name in ({invoice_list_names}) and a.name in ({invoice_list_names})
and b.mode_of_payment = 'Cash' and b.type = 'Cash'
and a.base_change_amount > 0 and a.base_change_amount > 0
group by a.owner, a.posting_date, mode_of_payment""".format(invoice_list_names=invoice_list_names), as_dict=1) group by a.owner, a.posting_date, mode_of_payment""".format(invoice_list_names=invoice_list_names), as_dict=1)

View File

@@ -82,62 +82,42 @@ frappe.query_reports["Sales Analytics"] = {
const tree_type = frappe.query_report.filters[0].value; const tree_type = frappe.query_report.filters[0].value;
if (data_doctype != tree_type) return; if (data_doctype != tree_type) return;
row_name = data[2].content; const row_name = data[2].content;
length = data.length; const raw_data = frappe.query_report.chart.data;
const new_datasets = raw_data.datasets;
if (tree_type == "Customer") { const element_found = new_datasets.some(
row_values = data (element, index, array) => {
.slice(4, length - 1)
.map(function (column) {
return column.content;
});
} else if (tree_type == "Item") {
row_values = data
.slice(5, length - 1)
.map(function (column) {
return column.content;
});
} else {
row_values = data
.slice(3, length - 1)
.map(function (column) {
return column.content;
});
}
entry = {
name: row_name,
values: row_values,
};
let raw_data = frappe.query_report.chart.data;
let new_datasets = raw_data.datasets;
let element_found = new_datasets.some((element, index, array)=>{
if (element.name == row_name) { if (element.name == row_name) {
array.splice(index, 1) array.splice(index, 1);
return true return true;
} }
return false return false;
}) }
);
const slice_at = { Customer: 4, Item: 5 }[tree_type] || 3;
if (!element_found) { if (!element_found) {
new_datasets.push(entry); new_datasets.push({
name: row_name,
values: data
.slice(slice_at, data.length - 1)
.map(column => column.content),
});
} }
let new_data = { const new_data = {
labels: raw_data.labels, labels: raw_data.labels,
datasets: new_datasets, datasets: new_datasets,
}; };
chart_options = {
frappe.query_report.render_chart({
data: new_data, data: new_data,
type: "line", type: "line",
}; });
frappe.query_report.render_chart(chart_options);
frappe.query_report.raw_chart_data = new_data; frappe.query_report.raw_chart_data = new_data;
}, },
}, },
}); });
}, },
} };