From 2255ae29fa1aa527ef75198a4d4c4f0e3a102e8d Mon Sep 17 00:00:00 2001 From: Manish Date: Thu, 13 Nov 2025 15:27:13 +0530 Subject: [PATCH] All Employees fetching task done in advance payment screen --- .../finance/advance_payment_controller.dart | 13 ++- lib/helpers/services/api_service.dart | 81 +++++++++---------- 2 files changed, 45 insertions(+), 49 deletions(-) diff --git a/lib/controller/finance/advance_payment_controller.dart b/lib/controller/finance/advance_payment_controller.dart index 1e159fc..84eb917 100644 --- a/lib/controller/finance/advance_payment_controller.dart +++ b/lib/controller/finance/advance_payment_controller.dart @@ -65,12 +65,17 @@ class AdvancePaymentController extends GetxController { try { employeesLoading.value = true; - final list = await ApiService.getEmployees(query: q); + // Build query params + final queryParams = { + 'allEmployee': 'true', + if (q.isNotEmpty) 'q': q, // only include search query if not empty + }; + + final list = await ApiService.getEmployees(queryParams: queryParams); final parsed = Employee.listFromJson(list); - logSafe("✅ Employees fetched from API: ${parsed.map((e) => e.name).toList()}"); + logSafe( + "✅ Employees fetched from API: ${parsed.map((e) => e.name).toList()}"); - - // Save full result and filter locally allEmployees = parsed; _filterEmployees(q); } catch (e, s) { diff --git a/lib/helpers/services/api_service.dart b/lib/helpers/services/api_service.dart index d4b7018..d27bb2a 100644 --- a/lib/helpers/services/api_service.dart +++ b/lib/helpers/services/api_service.dart @@ -307,34 +307,37 @@ class ApiService { // Service Project Module APIs /// Get details of a single service project -static Future getServiceProjectDetailApi(String projectId) async { - final endpoint = "${ApiEndpoints.getServiceProjectDetail}/$projectId"; - logSafe("Fetching details for Service Project ID: $projectId"); + static Future getServiceProjectDetailApi( + String projectId) async { + final endpoint = "${ApiEndpoints.getServiceProjectDetail}/$projectId"; + logSafe("Fetching details for Service Project ID: $projectId"); - try { - final response = await _getRequest(endpoint); + try { + final response = await _getRequest(endpoint); - if (response == null) { - logSafe("Service Project Detail request failed: null response", level: LogLevel.error); - return null; + if (response == null) { + logSafe("Service Project Detail request failed: null response", + level: LogLevel.error); + return null; + } + + final jsonResponse = _parseResponseForAllData( + response, + label: "Service Project Detail", + ); + + if (jsonResponse != null) { + return ServiceProjectDetailModel.fromJson(jsonResponse); + } + } catch (e, stack) { + logSafe("Exception during getServiceProjectDetailApi: $e", + level: LogLevel.error); + logSafe("StackTrace: $stack", level: LogLevel.debug); } - final jsonResponse = _parseResponseForAllData( - response, - label: "Service Project Detail", - ); - - if (jsonResponse != null) { - return ServiceProjectDetailModel.fromJson(jsonResponse); - } - } catch (e, stack) { - logSafe("Exception during getServiceProjectDetailApi: $e", level: LogLevel.error); - logSafe("StackTrace: $stack", level: LogLevel.debug); + return null; } - return null; -} - /// Get Service Project List static Future getServiceProjectsListApi({ int pageNumber = 1, @@ -1968,34 +1971,22 @@ static Future getServiceProjectDetailApi(String proj } /// Fetch employees with optional query. Returns raw list (List) - static Future> getEmployees({String query = ''}) async { + static Future> getEmployees( + {Map? queryParams}) async { try { - // endpoint relative to ApiEndpoints.baseUrl; _getRequest builds full url - var endpoint = ApiEndpoints.getEmployeesWithoutPermission; - Map? queryParams; - if (query.isNotEmpty) { - // server may expect a query param name other than 'q'. Adjust if needed. - queryParams = {'q': query}; - } + final endpoint = ApiEndpoints.getEmployeesWithoutPermission; final resp = await _getRequest(endpoint, queryParams: queryParams); if (resp == null) return []; - // parse response - try { - final body = jsonDecode(resp.body); - if (body is Map && body.containsKey('data')) { - final data = body['data']; - if (data is List) return data; - return []; - } else if (body is List) { - return body; - } else { - return []; - } - } catch (e, s) { - logSafe("❌ ApiService.getEmployees: parse error $e\n$s", - level: LogLevel.error); + final body = jsonDecode(resp.body); + if (body is Map && body.containsKey('data')) { + final data = body['data']; + if (data is List) return data; + return []; + } else if (body is List) { + return body; + } else { return []; } } catch (e, s) {