Merge pull request #20824 from scmmishra/report-options

feat: update profit and loss for new report summary API
diff --git a/erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py b/erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py
index d500c81..b96fe69 100644
--- a/erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py
+++ b/erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py
@@ -31,7 +31,52 @@
 
 	chart = get_chart_data(filters, columns, income, expense, net_profit_loss)
 
-	return columns, data, None, chart
+	report_summary = get_report_summary(columns, income, expense, net_profit_loss, filters.periodicity, period_list)
+
+	return columns, data, None, chart, report_summary
+
+def get_report_summary(columns, income, expense, net_profit_loss, period_list, periodicity):
+	income_data, expense_data, net_profit = [], [], []
+
+	for p in columns[2:]:
+		if income:
+			income_data.append(income[-2].get(p.get("fieldname")))
+		if expense:
+			expense_data.append(expense[-2].get(p.get("fieldname")))
+		if net_profit_loss:
+			net_profit.append(net_profit_loss.get(p.get("fieldname")))
+
+	if (len(period_list) == 1 and periodicity== 'Yearly'):
+			profit_label = _("Profit This Year")
+			income_label = _("Total Income This Year")
+			expense_label = _("Total Expense This Year")
+	else:
+		profit_label = _("Net Profit")
+		income_label = _("Total Income")
+		expense_label = _("Total Expense")
+
+	return [
+		{
+			"value": net_profit[-1],
+			"indicator": "Green" if net_profit[-1] > 0 else "Red",
+			"label": profit_label,
+			"datatype": "Currency",
+			"currency": net_profit_loss.get("currency")
+		},
+		{
+			"value": income_data[-1],
+			"label": income_label,
+			"datatype": "Currency",
+			"currency": income[-1].get('currency')
+		},
+		{
+			"value": expense_data[-1],
+			"label": expense_label,
+			"datatype": "Currency",
+			"currency": expense[-1].get('currency')
+		}
+	]
+
 
 def get_net_profit_loss(income, expense, period_list, company, currency=None, consolidated=False):
 	total = 0