getCompanyPL method
This function if for getting the Profit and Loss for a given company
Implementation
Future<void> getCompanyPL(
String companyName,
String fiscalYear,
Function callBack,
) async {
List<dynamic> companyPLDetails = [];
var headers = {'Cookie': cookieHeader, 'Accept': 'application/json'};
final filters = {
"company": companyName,
"filter_based_on": "Fiscal Year",
"from_fiscal_year": fiscalYear,
"to_fiscal_year": fiscalYear,
"periodicity": "Yearly",
};
final queryParam = {
"report_name": "Profit and Loss Statement",
"filters": jsonEncode(filters),
};
final response = await http.post(
createUri('$baseUrl/api/method/frappe.desk.query_report.run', queryParam),
headers: headers,
);
if (response.statusCode == 200) {
var bodyJson = jsonDecode(response.body);
companyPLDetails = bodyJson["message"]["result"];
} else if (response.statusCode == 404) {
MyAlertDialog().showMyAlertDialog(
context,
'Error: Resource not found (404)',
);
} else if (response.statusCode >= 400 && response.statusCode < 500) {
MyAlertDialog().showMyAlertDialog(
context,
'Client Error: ${response.statusCode}',
);
} else if (response.statusCode >= 500 && response.statusCode < 600) {
MyAlertDialog().showMyAlertDialog(
context,
'Server Error: ${response.statusCode}',
);
} else {
MyAlertDialog().showMyAlertDialog(
context,
'Unknown Error: ${response.statusCode}',
);
}
callBack(companyPLDetails);
}