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

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

@ -40,7 +40,8 @@ class DashboardViewModel extends BaseViewModel {
projectsProvider.getDoctorClinicsList(), projectsProvider.getDoctorClinicsList(),
_dashboardService.getDashboard(), _dashboardService.getDashboard(),
_dashboardService.checkDoctorHasLiveCare(), _dashboardService.checkDoctorHasLiveCare(),
_specialClinicsService.getSpecialClinicalCareList(), /// TODO Roaa return it
// _specialClinicsService.getSpecialClinicalCareList(),
]); ]);
if (_dashboardService.hasError) { if (_dashboardService.hasError) {
@ -59,7 +60,8 @@ class DashboardViewModel extends BaseViewModel {
_firebaseMessaging.getToken().then((String token) async { _firebaseMessaging.getToken().then((String token) async {
if (token != '') { if (token != '') {
// DEVICE_TOKEN = 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/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/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/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/get_all_sickleave_response.dart';
import 'package:doctor_app_flutter/core/model/sickleave/sick_leave_statisitics_model.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 '../../locator.dart';
import 'base_view_model.dart'; import 'base_view_model.dart';
@ -88,7 +88,7 @@ class SickLeaveViewModel extends BaseViewModel {
setState(ViewState.Idle); setState(ViewState.Idle);
} }
Future getSickLeaveForPatient(PatiantInformtion patient, Future getSickLeaveForPatient(PatiantInformtion patient, bool isInpatient,
{bool isLocalBusy = false}) async { {bool isLocalBusy = false}) async {
if (isLocalBusy) if (isLocalBusy)
setState(ViewState.BusyLocal); setState(ViewState.BusyLocal);
@ -97,7 +97,8 @@ class SickLeaveViewModel extends BaseViewModel {
var patientMRN = patient.patientMRN ?? patient.patientId; var patientMRN = patient.patientMRN ?? patient.patientId;
var services = [ var services = [
_sickLeaveService.getSickLeavePatient(patientMRN), _sickLeaveService.getSickLeavePatient(patientMRN),
_sickLeaveService.getSickLeaveDoctor(patientMRN) _sickLeaveService.getSickLeaveDoctor(patientMRN,
admissionNo: isInpatient ? 2019008644 : 0)
]; ];
final results = await Future.wait(services); final results = await Future.wait(services);

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

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

Loading…
Cancel
Save