All Employees fetching task done in advance payment screen

This commit is contained in:
Manish 2025-11-13 15:27:13 +05:30 committed by Vaibhav Surve
parent fc09673cd0
commit 52782098f8
2 changed files with 45 additions and 27 deletions

View File

@ -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) {

View File

@ -427,20 +427,35 @@ class ApiService {
}
/// Get details of a single service project
static Future<ServiceProjectDetailModel?> getServiceProjectDetailApi(
String projectId) async {
final endpoint = "${ApiEndpoints.getServiceProjectDetail}/$projectId";
logSafe("Fetching details for Service Project ID: $projectId");
static Future<ServiceProjectDetailModel?> 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",
);
final jsonResponse = _parseResponseForAllData(
response,
label: "Service Project Detail",
@ -454,9 +469,19 @@ class ApiService {
level: LogLevel.error);
logSafe("StackTrace: $stack", level: LogLevel.debug);
}
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<ServiceProjectListModel?> getServiceProjectsListApi({
@ -2091,21 +2116,14 @@ class ApiService {
}
/// Fetch employees with optional query. Returns raw list (List<dynamic>)
static Future<List<dynamic>> getEmployees({String query = ''}) async {
static Future<List<dynamic>> getEmployees(
{Map<String, String>? queryParams}) async {
try {
// endpoint relative to ApiEndpoints.baseUrl; _getRequest builds full url
var endpoint = ApiEndpoints.getEmployeesWithoutPermission;
Map<String, String>? 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'];
@ -2116,11 +2134,6 @@ class ApiService {
} else {
return [];
}
} catch (e, s) {
logSafe("❌ ApiService.getEmployees: parse error $e\n$s",
level: LogLevel.error);
return [];
}
} catch (e, s) {
logSafe("❌ ApiService.getEmployees error: $e\n$s", level: LogLevel.error);
return [];