Add new service to inpatient so you can add new sick leave

sick_leave_inpatient
RoaaGhali98 4 years ago
parent 4b7b4fda7f
commit f03379ccba

@ -4,13 +4,15 @@ class GetSickLeaveDoctorRequestModel {
int status;
String vidaAuthTokenID;
String vidaRefreshTokenID;
int admissionNo;
GetSickLeaveDoctorRequestModel(
{this.patientMRN,
this.appointmentNo,
this.status,
this.vidaAuthTokenID,
this.vidaRefreshTokenID});
this.vidaRefreshTokenID,
this.admissionNo});
GetSickLeaveDoctorRequestModel.fromJson(Map<String, dynamic> json) {
patientMRN = json['PatientMRN'];
@ -18,6 +20,7 @@ class GetSickLeaveDoctorRequestModel {
status = json['status'];
vidaAuthTokenID = json['VidaAuthTokenID'];
vidaRefreshTokenID = json['VidaRefreshTokenID'];
admissionNo = json['AdmissionNo'];
}
Map<String, dynamic> toJson() {
@ -27,6 +30,7 @@ class GetSickLeaveDoctorRequestModel {
data['status'] = this.status;
data['VidaAuthTokenID'] = this.vidaAuthTokenID;
data['VidaRefreshTokenID'] = this.vidaRefreshTokenID;
data['AdmissionNo'] = this.admissionNo;
return data;
}
}

@ -135,9 +135,9 @@ class SickLeaveService extends BaseService {
);
}
Future getSickLeaveDoctor(patientMRN) async {
Future getSickLeaveDoctor(patientMRN, {int admissionNo}) async {
_sickLeaveDoctorRequestModel =
GetSickLeaveDoctorRequestModel(patientMRN: patientMRN);
GetSickLeaveDoctorRequestModel(patientMRN: patientMRN, admissionNo: admissionNo);
hasError = false;
getAllSickLeaveDoctor = [];
getAllSickLeaveDoctor.clear();

@ -40,7 +40,8 @@ class DashboardViewModel extends BaseViewModel {
projectsProvider.getDoctorClinicsList(),
_dashboardService.getDashboard(),
_dashboardService.checkDoctorHasLiveCare(),
_specialClinicsService.getSpecialClinicalCareList(),
/// TODO Roaa return it
// _specialClinicsService.getSpecialClinicalCareList(),
]);
if (_dashboardService.hasError) {
@ -59,7 +60,8 @@ class DashboardViewModel extends BaseViewModel {
_firebaseMessaging.getToken().then((String token) async {
if (token != '') {
// DEVICE_TOKEN = token;
authProvider.insertDeviceImei(token);
/// TODO return it
//authProvider.insertDeviceImei(token);
}
});
}

@ -1,10 +1,10 @@
import 'package:doctor_app_flutter/core/enum/view_state.dart';
import 'package:doctor_app_flutter/core/service/patient/patient_service.dart';
import 'package:doctor_app_flutter/core/service/patient_medical_file/sick_leave/sickleave_service.dart';
import 'package:doctor_app_flutter/core/model/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/core/model/sickleave/add_sickleave_request.dart';
import 'package:doctor_app_flutter/core/model/sickleave/get_all_sickleave_response.dart';
import 'package:doctor_app_flutter/core/model/sickleave/sick_leave_statisitics_model.dart';
import 'package:doctor_app_flutter/core/service/patient/patient_service.dart';
import 'package:doctor_app_flutter/core/service/patient_medical_file/sick_leave/sickleave_service.dart';
import '../../locator.dart';
import 'base_view_model.dart';
@ -88,7 +88,7 @@ class SickLeaveViewModel extends BaseViewModel {
setState(ViewState.Idle);
}
Future getSickLeaveForPatient(PatiantInformtion patient,
Future getSickLeaveForPatient(PatiantInformtion patient, bool isInpatient,
{bool isLocalBusy = false}) async {
if (isLocalBusy)
setState(ViewState.BusyLocal);
@ -97,7 +97,8 @@ class SickLeaveViewModel extends BaseViewModel {
var patientMRN = patient.patientMRN ?? patient.patientId;
var services = [
_sickLeaveService.getSickLeavePatient(patientMRN),
_sickLeaveService.getSickLeaveDoctor(patientMRN)
_sickLeaveService.getSickLeaveDoctor(patientMRN,
admissionNo: isInpatient ? 2019008644 : 0)
];
final results = await Future.wait(services);

@ -30,9 +30,10 @@ class AddPatientSickLeaveScreen extends StatefulWidget {
final patientMRN;
final PatiantInformtion patient;
final SickLeaveViewModel previousModel;
final bool isInpatient;
AddPatientSickLeaveScreen(
{this.appointmentNo, this.patientMRN, this.patient, this.previousModel});
{this.appointmentNo, this.patientMRN, this.patient, this.previousModel, this.isInpatient});
@override
_AddPatientSickLeaveScreenState createState() =>
@ -322,7 +323,7 @@ class _AddPatientSickLeaveScreenState extends State<AddPatientSickLeaveScreen> {
Utils.showErrorToast(model.error);
} else {
await widget.previousModel
.getSickLeaveForPatient(widget.patient, isLocalBusy: true);
.getSickLeaveForPatient(widget.patient, widget.isInpatient, isLocalBusy: true);
DrAppToastMsg.showSuccesToast(
TranslationBase.of(context).replySuccessfully);
Navigator.of(context).pop();

@ -34,7 +34,7 @@ class PatientSickLeaveScreen extends StatelessWidget {
bool isInpatient = routeArgs['isInpatient'];
return BaseView<SickLeaveViewModel>(
onModelReady: (model) async {
await model.getSickLeaveForPatient(patient);
await model.getSickLeaveForPatient(patient, isInpatient);
},
builder: (_, model, w) => AppScaffold(
baseViewModel: model,
@ -45,8 +45,7 @@ class PatientSickLeaveScreen extends StatelessWidget {
isInpatient: isInpatient,
),
body: Column(children: [
patient.patientStatusType == 43
? Column(
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
@ -91,13 +90,11 @@ class PatientSickLeaveScreen extends StatelessWidget {
"Leave Screen",
eventAction: "apply For Sick Leave",
);
openSickLeave(context, model);
openSickLeave(context, model, isInpatient);
}),
],
)
: SizedBox(),
model.getAllSIckLeavePatient.length > 0
? Expanded(
),
Expanded(
child: FractionallySizedBox(
widthFactor: 0.95,
child: ListView.builder(
@ -267,12 +264,7 @@ class PatientSickLeaveScreen extends StatelessWidget {
);
}),
),
)
: patient.patientStatusType != 43
? ErrorMessage(
error: TranslationBase.of(context).noSickLeave,
)
: SizedBox(),
),
SizedBox(
height: 100,
)
@ -281,7 +273,7 @@ class PatientSickLeaveScreen extends StatelessWidget {
);
}
openSickLeave(BuildContext context, model) {
openSickLeave(BuildContext context, model, isInpatient) {
Navigator.push(
context,
SlideUpPageRoute(
@ -291,6 +283,7 @@ class PatientSickLeaveScreen extends StatelessWidget {
patientMRN: patient.patientMRN,
patient: patient,
previousModel: model,
isInpatient: isInpatient
),
),
);

Loading…
Cancel
Save