getCompanyTB method

Future<void> getCompanyTB(
  1. String companyName,
  2. String fiscalYear,
  3. Function callBack
)

This function is for getting the Trial Balance for a given company

Implementation

Future<void> getCompanyTB(
  String companyName,
  String fiscalYear,
  Function callBack,
) async {
  List<dynamic> companyTBDetails = [];
  var headers = {'Cookie': cookieHeader, 'Accept': 'application/json'};
  final filters = {
    "company": companyName,
    "filter_based_on": "Fiscal Year",
    "fiscal_year": fiscalYear,
  };
  final queryParam = {
    "report_name": "Trial Balance",
    "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);
    companyTBDetails = 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(companyTBDetails);
}