You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
155 lines
6.9 KiB
Dart
155 lines
6.9 KiB
Dart
import 'package:mohem_flutter_app/api/api_client.dart';
|
|
import 'package:mohem_flutter_app/app_state/app_state.dart';
|
|
import 'package:mohem_flutter_app/classes/consts.dart';
|
|
import 'package:mohem_flutter_app/models/dashboard/get_attendance_tracking_list_model.dart';
|
|
import 'package:mohem_flutter_app/models/dashboard/menu_entries.dart';
|
|
import 'package:mohem_flutter_app/models/generic_response_model.dart';
|
|
import 'package:mohem_flutter_app/models/get_day_hours_type_details_list_model.dart';
|
|
import 'package:mohem_flutter_app/models/get_time_card_summary_list_model.dart';
|
|
import 'package:mohem_flutter_app/models/my_team/get_employee_subordinates_list.dart';
|
|
import 'package:mohem_flutter_app/models/my_team/get_subordinates_leaves_total_vacations_list_model.dart';
|
|
import 'package:mohem_flutter_app/models/worklist/get_favorite_replacements_model.dart';
|
|
|
|
class MyTeamApiClient {
|
|
static final MyTeamApiClient _instance = MyTeamApiClient._internal();
|
|
|
|
MyTeamApiClient._internal();
|
|
|
|
factory MyTeamApiClient() => _instance;
|
|
|
|
Future<List<GetEmployeeSubordinatesList>> getEmployeeSubordinates(String searchEmpEmail, String searchEmpName, String searchEmpNo) async {
|
|
String url = "${ApiConsts.erpRest}GET_EMPLOYEE_SUBORDINATES";
|
|
Map<String, dynamic> postParams = {
|
|
"P_PAGE_LIMIT": 50,
|
|
"P_PAGE_NUM": 1,
|
|
"P_SEARCH_EMAIL_ADDRESS": searchEmpEmail,
|
|
"P_SEARCH_EMPLOYEE_DISPLAY_NAME": searchEmpName,
|
|
"P_SEARCH_EMPLOYEE_NUMBER": searchEmpNo,
|
|
};
|
|
postParams.addAll(AppState().postParamsJson);
|
|
return await ApiClient().postJsonForObject((json) {
|
|
GenericResponseModel? responseData = GenericResponseModel.fromJson(json);
|
|
return responseData.getEmployeeSubordinatesList ?? [];
|
|
}, url, postParams);
|
|
}
|
|
|
|
Future<GetTimeCardSummaryList?> getTimeCardSummary(String month, int year, String? empID) async {
|
|
String url = "${ApiConsts.erpRest}GET_TIME_CARD_SUMMARY";
|
|
Map<String, dynamic> postParams = {
|
|
"P_MENU_TYPE": "M",
|
|
"P_SELECTED_RESP_ID": -999,
|
|
"SearchMonth": month,
|
|
"SearchYear": year,
|
|
};
|
|
|
|
postParams.addAll(AppState().postParamsJson);
|
|
postParams['P_SELECTED_EMPLOYEE_NUMBER'] = empID;
|
|
return await ApiClient().postJsonForObject((json) {
|
|
GenericResponseModel? responseData = GenericResponseModel.fromJson(json);
|
|
return (responseData.getTimeCardSummaryList?.length ?? 0) > 0 ? responseData.getTimeCardSummaryList!.first : null;
|
|
}, url, postParams);
|
|
}
|
|
|
|
Future<List<GetDayHoursTypeDetailsList>> getDayHoursTypeDetails(String month, int year, String? empID) async {
|
|
String url = "${ApiConsts.erpRest}GET_DAY_HOURS_TYPE_DETAILS";
|
|
Map<String, dynamic> postParams = {
|
|
"P_MENU_TYPE": "M",
|
|
"P_PAGE_LIMIT": 100,
|
|
"P_PAGE_NUM": 1,
|
|
"P_SELECTED_RESP_ID": -999,
|
|
"SearchMonth": month,
|
|
"SearchYear": year,
|
|
};
|
|
postParams.addAll(AppState().postParamsJson);
|
|
postParams['P_SELECTED_EMPLOYEE_NUMBER'] = empID;
|
|
return await ApiClient().postJsonForObject((json) {
|
|
GenericResponseModel? responseData = GenericResponseModel.fromJson(json);
|
|
print(responseData.getDayHoursTypeDetailsList!.length);
|
|
return responseData.getDayHoursTypeDetailsList ?? [];
|
|
}, url, postParams);
|
|
}
|
|
|
|
Future<GetAttendanceTracking?> getAttendanceTracking(String? empID) async {
|
|
String url = "${ApiConsts.erpRest}GET_Attendance_Tracking";
|
|
Map<String, dynamic> postParams = {};
|
|
postParams.addAll(AppState().postParamsJson);
|
|
postParams['P_SELECTED_EMPLOYEE_NUMBER'] = empID;
|
|
return await ApiClient().postJsonForObject((json) {
|
|
GenericResponseModel? responseData = GenericResponseModel.fromJson(json);
|
|
print(responseData.getAttendanceTrackingList);
|
|
return responseData.getAttendanceTrackingList;
|
|
}, url, postParams);
|
|
}
|
|
|
|
Future<List<GetEmployeeSubordinatesList>> employeeSubordinates(String searchEmpEmail, String searchEmpName, String searchEmpNo, String? empID) async {
|
|
String url = "${ApiConsts.erpRest}GET_EMPLOYEE_SUBORDINATES";
|
|
Map<String, dynamic> postParams = {
|
|
"P_PAGE_LIMIT": 50,
|
|
"P_PAGE_NUM": 1,
|
|
"P_SEARCH_EMAIL_ADDRESS": searchEmpEmail,
|
|
"P_SEARCH_EMPLOYEE_DISPLAY_NAME": searchEmpName,
|
|
"P_SEARCH_EMPLOYEE_NUMBER": searchEmpNo,
|
|
};
|
|
postParams.addAll(AppState().postParamsJson);
|
|
postParams['P_SELECTED_EMPLOYEE_NUMBER'] = empID;
|
|
return await ApiClient().postJsonForObject((json) {
|
|
GenericResponseModel? responseData = GenericResponseModel.fromJson(json);
|
|
return responseData.getEmployeeSubordinatesList ?? [];
|
|
}, url, postParams);
|
|
}
|
|
|
|
Future<List<GetMenuEntriesList>> employeeSubordinatesRequest(String? empID) async {
|
|
String url = "${ApiConsts.erpRest}GET_MENU_ENTRIES";
|
|
Map<String, dynamic> postParams = {"P_MENU_TYPE": "M", "P_SELECTED_RESP_ID": -999};
|
|
postParams.addAll(AppState().postParamsJson);
|
|
postParams['P_SELECTED_EMPLOYEE_NUMBER'] = empID;
|
|
return await ApiClient().postJsonForObject((json) {
|
|
GenericResponseModel? responseData = GenericResponseModel.fromJson(json);
|
|
return responseData.getMenuEntriesList ?? [];
|
|
}, url, postParams);
|
|
}
|
|
|
|
Future<List<GetFavoriteReplacements>?> getFavoriteReplacement() async {
|
|
String url = "${ApiConsts.erpRest}Mohemm_GetFavoriteReplacements";
|
|
Map<String, dynamic> postParams = {};
|
|
postParams.addAll(AppState().postParamsJson);
|
|
return await ApiClient().postJsonForObject((json) {
|
|
GenericResponseModel responseData = GenericResponseModel.fromJson(json);
|
|
return responseData.mohemmGetFavoriteReplacementsList;
|
|
}, url, postParams);
|
|
}
|
|
|
|
Future<GenericResponseModel> changeFavoriteReplacements({required String email, required String employeName, required String image, required String userName, bool isFav = false}) async {
|
|
String url = "${ApiConsts.erpRest}Mohemm_ChangeFavoriteReplacements";
|
|
Map<String, dynamic> postParamsObj = {
|
|
"EMAIL_ADDRESS": email,
|
|
"EMPLOYEE_DISPLAY_NAME": employeName,
|
|
"EMPLOYEE_IMAGE": image,
|
|
"IsFavorite": isFav,
|
|
"USER_NAME": userName,
|
|
};
|
|
Map<String, dynamic> postParams = {
|
|
"Mohemm_ChangeReplacementsInputList": [postParamsObj],
|
|
//postParams["Mohemm_ChangeReplacementsInputList"] = list;
|
|
};
|
|
postParams.addAll(AppState().postParamsJson);
|
|
return await ApiClient().postJsonForObject((json) {
|
|
GenericResponseModel responseData = GenericResponseModel.fromJson(json);
|
|
return responseData;
|
|
}, url, postParams);
|
|
}
|
|
|
|
Future<List<GetSubordinatesLeavesTotalVacationsList>> getSubordinatesLeavesList(String dateFrom, String dateTo) async {
|
|
String url = "${ApiConsts.erpRest}GET_SUBORDINATES_LEAVES_TOTAL_VACATIONS";
|
|
Map<String, dynamic> postParams = {
|
|
"P_DATE_FROM": dateFrom,
|
|
"P_DATE_TO": dateTo,
|
|
};
|
|
postParams.addAll(AppState().postParamsJson);
|
|
return await ApiClient().postJsonForObject((json) {
|
|
GenericResponseModel responseData = GenericResponseModel.fromJson(json);
|
|
return responseData.getSubordinatesLeavesTotalVacationsList ?? [];
|
|
}, url, postParams);
|
|
}
|
|
}
|