All Employees fetching task done in advance payment screen
This commit is contained in:
parent
c4bb8331c9
commit
2255ae29fa
@ -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) {
|
||||
|
||||
@ -307,34 +307,37 @@ class ApiService {
|
||||
// Service Project Module APIs
|
||||
|
||||
/// 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",
|
||||
);
|
||||
|
||||
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<ServiceProjectListModel?> getServiceProjectsListApi({
|
||||
int pageNumber = 1,
|
||||
@ -1968,34 +1971,22 @@ static Future<ServiceProjectDetailModel?> getServiceProjectDetailApi(String proj
|
||||
}
|
||||
|
||||
/// 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'];
|
||||
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) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user