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.
190 lines
5.7 KiB
Dart
190 lines
5.7 KiB
Dart
import 'package:doctor_app_flutter/config/config.dart';
|
|
import 'package:doctor_app_flutter/core/service/base/base_service.dart';
|
|
import 'package:doctor_app_flutter/core/viewModel/leave_rechdule_response.dart';
|
|
import 'package:doctor_app_flutter/models/sickleave/add_sickleave_request.dart';
|
|
import 'package:doctor_app_flutter/models/sickleave/extend_sick_leave_request.dart';
|
|
import 'package:doctor_app_flutter/models/sickleave/get_all_sickleave_response.dart';
|
|
// import 'package:doctor_app_flutter/models/dashboard/dashboard_model.dart';
|
|
|
|
class SickLeaveService extends BaseService {
|
|
Map get sickLeavestatisitics => _statistics;
|
|
Map _statistics = {};
|
|
List get getOffTimeList => offTime;
|
|
List offTime = [];
|
|
List get getReasons => reasonse;
|
|
List reasonse = [];
|
|
List<GetAllSickLeaveResponse> get getAllSickLeave => _getAllsickLeave;
|
|
List<GetAllSickLeaveResponse> _getAllsickLeave = [];
|
|
List get coveringDoctorsList => _coveringDoctors;
|
|
List _coveringDoctors = [];
|
|
|
|
List<GetRescheduleLeavesResponse> get getAllRescheduleLeave =>
|
|
_getReScheduleLeave;
|
|
List<GetRescheduleLeavesResponse> _getReScheduleLeave = [];
|
|
Future getStatistics(appoNo, patientMRN) async {
|
|
hasError = false;
|
|
await baseAppClient.post(
|
|
GET_SICKLEAVE_STATISTIC,
|
|
onSuccess: (dynamic response, int statusCode) {
|
|
print(response);
|
|
_statistics = {};
|
|
_statistics = response['SickLeaveStatistics'];
|
|
},
|
|
onFailure: (String error, int statusCode) {
|
|
hasError = true;
|
|
super.error = error;
|
|
},
|
|
body: {"PatientMRN": patientMRN, "AppointmentNo": appoNo},
|
|
);
|
|
}
|
|
|
|
Future addSickLeave(AddSickLeaveRequest addSickLeaveRequest) async {
|
|
addSickLeaveRequest.appointmentNo = '2016054661';
|
|
addSickLeaveRequest.patientMRN = '3120746';
|
|
hasError = false;
|
|
await baseAppClient.post(
|
|
ADD_SICK_LEAVE,
|
|
onSuccess: (dynamic response, int statusCode) {
|
|
Future.value(response);
|
|
//print(response);
|
|
// _statistics = {};
|
|
// _statistics = response['SickLeaveStatistics'];
|
|
},
|
|
onFailure: (String error, int statusCode) {
|
|
hasError = true;
|
|
super.error = error;
|
|
},
|
|
body: addSickLeaveRequest.toJson(),
|
|
);
|
|
}
|
|
|
|
Future extendSickLeave(GetAllSickLeaveResponse request) async {
|
|
var extendSickLeaveRequest = ExtendSickLeaveRequest();
|
|
extendSickLeaveRequest.patientMRN =
|
|
request.patientMRN.toString(); //'3120746';
|
|
extendSickLeaveRequest.previousRequestNo = request.requestNo.toString();
|
|
extendSickLeaveRequest.noOfDays = request.noOfDays.toString();
|
|
extendSickLeaveRequest.remarks = request.remarks;
|
|
hasError = false;
|
|
await baseAppClient.post(
|
|
EXTEND_SICK_LEAVE,
|
|
onSuccess: (dynamic response, int statusCode) {
|
|
Future.value(response);
|
|
print(response);
|
|
// _statistics = {};
|
|
// _statistics = response['SickLeaveStatistics'];
|
|
},
|
|
onFailure: (String error, int statusCode) {
|
|
hasError = true;
|
|
super.error = error;
|
|
},
|
|
body: extendSickLeaveRequest.toJson(),
|
|
);
|
|
}
|
|
|
|
Future getSickLeave() async {
|
|
hasError = false;
|
|
await baseAppClient.post(
|
|
GET_SICK_LEAVE,
|
|
onSuccess: (dynamic response, int statusCode) {
|
|
Future.value(response);
|
|
_getAllsickLeave.clear();
|
|
response['SickLeavesList']['entityList'].forEach((v) {
|
|
_getAllsickLeave.add(GetAllSickLeaveResponse.fromJson(v));
|
|
});
|
|
},
|
|
onFailure: (String error, int statusCode) {
|
|
hasError = true;
|
|
super.error = error;
|
|
},
|
|
body: {'PatientMRN': 3120772},
|
|
);
|
|
}
|
|
|
|
Future getRescheduleLeave() async {
|
|
hasError = false;
|
|
await baseAppClient.post(
|
|
GET_RESCHEDULE_LEAVE,
|
|
onSuccess: (dynamic response, int statusCode) {
|
|
Future.value(response);
|
|
_getReScheduleLeave.clear();
|
|
response['requisitionList']['entityList'].forEach((v) {
|
|
_getReScheduleLeave.add(GetRescheduleLeavesResponse.fromJson(v));
|
|
});
|
|
},
|
|
onFailure: (String error, int statusCode) {
|
|
hasError = true;
|
|
super.error = error;
|
|
},
|
|
body: {'ClinicID': 1},
|
|
);
|
|
}
|
|
|
|
Future getOffTime() async {
|
|
hasError = false;
|
|
|
|
await baseAppClient.post(
|
|
GET_OFFTIME,
|
|
onSuccess: (dynamic response, int statusCode) {
|
|
offTime = [];
|
|
offTime = response['MasterLookUpList']['entityList'];
|
|
},
|
|
onFailure: (String error, int statusCode) {
|
|
hasError = true;
|
|
super.error = error;
|
|
},
|
|
body: {"MasterInput": 2013},
|
|
);
|
|
}
|
|
|
|
Future getReasonsByID({id}) async {
|
|
hasError = false;
|
|
|
|
await baseAppClient.post(
|
|
GET_OFFTIME,
|
|
onSuccess: (dynamic response, int statusCode) {
|
|
reasonse = [];
|
|
reasonse = response['MasterLookUpList']['entityList'];
|
|
},
|
|
onFailure: (String error, int statusCode) {
|
|
hasError = true;
|
|
super.error = error;
|
|
},
|
|
body: {"MasterInput": id ?? 18},
|
|
);
|
|
}
|
|
|
|
Future getCoveringDoctors() async {
|
|
hasError = false;
|
|
|
|
await baseAppClient.post(
|
|
GET_COVERING_DOCTORS,
|
|
onSuccess: (dynamic response, int statusCode) {
|
|
_coveringDoctors = [];
|
|
_coveringDoctors = response['coveringDoctorList']['entityList'];
|
|
},
|
|
onFailure: (String error, int statusCode) {
|
|
hasError = true;
|
|
super.error = error;
|
|
},
|
|
body: {"ClinicID": 1},
|
|
);
|
|
}
|
|
|
|
addReschedule(request) async {
|
|
hasError = false;
|
|
|
|
await baseAppClient.post(
|
|
ADD_RESCHDEULE,
|
|
onSuccess: (dynamic response, int statusCode) {
|
|
Future.value(response);
|
|
},
|
|
onFailure: (String error, int statusCode) {
|
|
hasError = true;
|
|
super.error = error;
|
|
},
|
|
body: request,
|
|
);
|
|
}
|
|
}
|