sick leave

merge-requests/270/head
Sultan Khan 5 years ago
parent 135c852e8c
commit 63e8ee8dd0

@ -26,7 +26,9 @@ const PATIENT_GET_CLINIC_BY_PROJECT_URL =
"Services/DoctorApplication.svc/REST/GetClinicsByProjectID"; "Services/DoctorApplication.svc/REST/GetClinicsByProjectID";
const PROJECT_GET_INFO = "Services/DoctorApplication.svc/REST/GetProjectInfo"; const PROJECT_GET_INFO = "Services/DoctorApplication.svc/REST/GetProjectInfo";
const GET_PROJECTS = 'Services/Lists.svc/REST/GetProjectForDoctorAPP'; //const GET_PROJECTS = 'Services/Lists.svc/REST/GetProjectForDoctorAPP';
const GET_PROJECTS = 'Services/DoctorApplication.svc/REST/GetProjectInfo';
const GET_PATIENT_VITAL_SIGN = const GET_PATIENT_VITAL_SIGN =
'Services/Doctors.svc/REST/Doctor_GetPatientVitalSign'; 'Services/Doctors.svc/REST/Doctor_GetPatientVitalSign';
const GET_PATIENT_VITAL_SIGN_DATA = const GET_PATIENT_VITAL_SIGN_DATA =

@ -24,6 +24,8 @@ class SickLeaveService extends BaseService {
dynamic get postReschedule => _postReschedule; dynamic get postReschedule => _postReschedule;
dynamic _postReschedule; dynamic _postReschedule;
dynamic get sickLeaveResponse => _sickLeaveResponse;
dynamic _sickLeaveResponse;
Future getStatistics(appoNo, patientMRN) async { Future getStatistics(appoNo, patientMRN) async {
hasError = false; hasError = false;
await baseAppClient.post( await baseAppClient.post(
@ -48,10 +50,8 @@ class SickLeaveService extends BaseService {
await baseAppClient.post( await baseAppClient.post(
ADD_SICK_LEAVE, ADD_SICK_LEAVE,
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
Future.value(response); _sickLeaveResponse = response;
//print(response); return Future.value(response);
// _statistics = {};
// _statistics = response['SickLeaveStatistics'];
}, },
onFailure: (String error, int statusCode) { onFailure: (String error, int statusCode) {
hasError = true; hasError = true;
@ -72,10 +72,8 @@ class SickLeaveService extends BaseService {
await baseAppClient.post( await baseAppClient.post(
EXTEND_SICK_LEAVE, EXTEND_SICK_LEAVE,
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
Future.value(response); _sickLeaveResponse = response;
print(response); return Future.value(response);
// _statistics = {};
// _statistics = response['SickLeaveStatistics'];
}, },
onFailure: (String error, int statusCode) { onFailure: (String error, int statusCode) {
hasError = true; hasError = true;

@ -6,7 +6,7 @@ import 'package:flutter/cupertino.dart';
class HospitalViewModel with ChangeNotifier { class HospitalViewModel with ChangeNotifier {
BaseAppClient baseAppClient = BaseAppClient(); BaseAppClient baseAppClient = BaseAppClient();
Future<Map> getProjectsList() async { Future<Map> getProjectsList(memberID) async {
const url = GET_PROJECTS; const url = GET_PROJECTS;
// TODO create model or remove it if no info need // TODO create model or remove it if no info need
var info = { var info = {
@ -17,7 +17,8 @@ class HospitalViewModel with ChangeNotifier {
"Channel": 9, "Channel": 9,
"TokenID": "", "TokenID": "",
"SessionID": "i1UJwCTSqt", "SessionID": "i1UJwCTSqt",
"IsLoginForDoctorApp": true "IsLoginForDoctorApp": true,
"MemberID": memberID
}; };
dynamic localRes; dynamic localRes;

@ -17,6 +17,7 @@ class SickLeaveViewModel extends BaseViewModel {
List get coveringDoctors => _sickLeaveService.coveringDoctorsList; List get coveringDoctors => _sickLeaveService.coveringDoctorsList;
get getReschduleLeave => _sickLeaveService.getAllRescheduleLeave; get getReschduleLeave => _sickLeaveService.getAllRescheduleLeave;
get postSechedule => _sickLeaveService.postReschedule; get postSechedule => _sickLeaveService.postReschedule;
get sickleaveResponse => _sickLeaveService.sickLeaveResponse;
Future addSickLeave(AddSickLeaveRequest addSickLeaveRequest) async { Future addSickLeave(AddSickLeaveRequest addSickLeaveRequest) async {
setState(ViewState.Busy); setState(ViewState.Busy);
await _sickLeaveService.addSickLeave(addSickLeaveRequest); await _sickLeaveService.addSickLeave(addSickLeaveRequest);

@ -52,8 +52,8 @@ class _RescheduleLeaveScreen extends State<RescheduleLeaveScreen> {
var fromDate; var fromDate;
var toDate; var toDate;
var clinicID; var clinicID;
var fromTime; String fromTime;
var toTime; String toTime;
TextEditingController _controller4 = new TextEditingController(); TextEditingController _controller4 = new TextEditingController();
TextEditingController _controller5 = new TextEditingController(); TextEditingController _controller5 = new TextEditingController();
void _presentDatePicker(id) { void _presentDatePicker(id) {
@ -764,7 +764,9 @@ class _RescheduleLeaveScreen extends State<RescheduleLeaveScreen> {
//df.format(DateTime.parse(widget.updateData.dateTimeFrom)); //df.format(DateTime.parse(widget.updateData.dateTimeFrom));
this.fromTime = this.fromTime =
df.format(DateTime.parse(widget.updateData.dateTimeFrom)); df.format(DateTime.parse(widget.updateData.dateTimeFrom));
this.fromTime = this.fromTime.substring(0, this.fromTime.length - 3);
this.toTime = df.format(DateTime.parse(widget.updateData.dateTimeTo)); this.toTime = df.format(DateTime.parse(widget.updateData.dateTimeTo));
this.toTime = this.toTime.substring(0, this.toTime.length - 3);
_toDateController2.text = _toDateController2.text =
dateFormat.format(DateTime.parse(widget.updateData.dateTimeTo)); dateFormat.format(DateTime.parse(widget.updateData.dateTimeTo));
_controller5.text = toTime; _controller5.text = toTime;
@ -820,8 +822,8 @@ class _RescheduleLeaveScreen extends State<RescheduleLeaveScreen> {
"weekDayId": 1, "weekDayId": 1,
"shiftId": 1, "shiftId": 1,
"isOpen": true, "isOpen": true,
"timeFrom": "", "timeFrom": fromTime,
"timeTo": "", "timeTo": toTime,
"timeFromstr": "", "timeFromstr": "",
"timeTostr": "" "timeTostr": ""
} }
@ -845,17 +847,17 @@ class _RescheduleLeaveScreen extends State<RescheduleLeaveScreen> {
} }
updateRecheduleLeave(model) { updateRecheduleLeave(model) {
final df = new DateFormat('yyyy-MM-ddTHH:MM:ss'); // final df = new DateFormat('yyyy-MM-ddTHH:MM:ss');
final dateFormat = new DateFormat('yyyy-MM-dd'); final df = new DateFormat('yyyy-MM-dd');
var fromDates = fromDate; var fromDates = fromDate;
var toDates = toDate; var toDates = toDate;
if (offTime == '1') { if (offTime == '1') {
fromDate = df.format(DateTime.parse(fromDates)) + fromDate = df.format(DateTime.parse(_toDateController.text)) +
'T' + 'T' +
fromTime + fromTime +
':' + ':' +
DateTime.now().second.toString(); DateTime.now().second.toString();
toDate = df.format(DateTime.parse(fromDates)) + toDate = df.format(DateTime.parse(_toDateController.text)) +
'T' + 'T' +
toTime + toTime +
':' + ':' +
@ -883,10 +885,10 @@ class _RescheduleLeaveScreen extends State<RescheduleLeaveScreen> {
"weekDayId": 1, "weekDayId": 1,
"shiftId": 1, "shiftId": 1,
"isOpen": true, "isOpen": true,
"timeFrom": fromTime, "timeFrom": "",
"timeTo": toTime, "timeTo": "",
"timeFromstr": "", "timeFromstr": fromTime,
"timeTostr": "" "timeTostr": toTime
} }
] ]
} }

@ -4,7 +4,9 @@ import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/sick_leave_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/sick_leave_view_model.dart';
import 'package:doctor_app_flutter/models/sickleave/add_sickleave_request.dart'; import 'package:doctor_app_flutter/models/sickleave/add_sickleave_request.dart';
import 'package:doctor_app_flutter/routes.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/screens/sick-leave/add-sickleave.dart';
import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart'; import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart';
import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart'; import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart';
import 'package:doctor_app_flutter/util/helpers.dart'; import 'package:doctor_app_flutter/util/helpers.dart';
@ -116,6 +118,10 @@ class _SickLeaveScreenState extends State<SickLeaveScreen> {
borderColor: Colors.white, borderColor: Colors.white,
onChanged: (value) { onChanged: (value) {
addSickLeave.noOfDays = value; addSickLeave.noOfDays = value;
if (widget.extendedData != null) {
widget.extendedData.noOfDays =
int.parse(value);
}
}, },
hintText: widget.extendedData != null hintText: widget.extendedData != null
? widget.extendedData.noOfDays ? widget.extendedData.noOfDays
@ -163,6 +169,10 @@ class _SickLeaveScreenState extends State<SickLeaveScreen> {
inputFormatter: ONLY_DATE, inputFormatter: ONLY_DATE,
onChanged: (value) { onChanged: (value) {
addSickLeave.startDate = value; addSickLeave.startDate = value;
if (widget.extendedData != null) {
widget.extendedData.startDate =
value;
}
}), }),
], ],
)), )),
@ -323,6 +333,9 @@ class _SickLeaveScreenState extends State<SickLeaveScreen> {
.remarks), .remarks),
onChanged: (value) { onChanged: (value) {
addSickLeave.remarks = value; addSickLeave.remarks = value;
if (widget.extendedData != null) {
widget.extendedData.remarks = value;
}
}, },
) )
], ],
@ -338,14 +351,26 @@ class _SickLeaveScreenState extends State<SickLeaveScreen> {
title: widget.isExtended == true title: widget.isExtended == true
? TranslationBase.of(context).extend ? TranslationBase.of(context).extend
: TranslationBase.of(context).add, : TranslationBase.of(context).add,
onPressed: () { onPressed: () async {
if (widget.isExtended) { if (widget.isExtended) {
model2 await model2.extendSickLeave(
.extendSickLeave( widget.extendedData);
widget.extendedData)
.then((value) => (value) { DrAppToastMsg.showSuccesToast(
print(value); model2.sickleaveResponse[
}); 'ListSickLeavesToExtent']
['success']);
Navigator.of(context).popUntil((route) {
return route.settings.name ==
PATIENTS_PROFILE;
});
Navigator.of(context).pushNamed(
ADD_SICKLEAVE,
arguments: {
'patient': widget.patient
});
//print(value);
//});
} else { } else {
_validateInputs(model2); _validateInputs(model2);
} }

@ -63,7 +63,7 @@ class _LoginFormState extends State<LoginForm> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
authProv = Provider.of<AuthViewModel>(context); authProv = Provider.of<AuthViewModel>(context);
projectsProv = Provider.of<HospitalViewModel>(context); projectsProv = Provider.of<HospitalViewModel>(context);
getProjects();
return Form( return Form(
key: loginFormKey, key: loginFormKey,
child: Container( child: Container(
@ -88,9 +88,13 @@ class _LoginFormState extends State<LoginForm> {
onSaved: (value) { onSaved: (value) {
userInfo.userID = value.trim(); userInfo.userID = value.trim();
}, },
onChanged: (value) {
userInfo.userID = value.trim();
},
onFieldSubmitted: (_) { onFieldSubmitted: (_) {
focusPass.nextFocus(); focusPass.nextFocus();
}, },
onEditingComplete: () {},
autofocus: false, autofocus: false,
), ),
buildSizedBox(), buildSizedBox(),
@ -114,7 +118,10 @@ class _LoginFormState extends State<LoginForm> {
onFieldSubmitted: (_) { onFieldSubmitted: (_) {
focusPass.nextFocus(); focusPass.nextFocus();
helpers.showCupertinoPicker( helpers.showCupertinoPicker(
context, projectsList, 'Name', onSelectProject); context, projectsList, 'facilityName', onSelectProject);
},
onTap: () {
this.getProjects(userInfo.userID);
}, },
), ),
buildSizedBox(), buildSizedBox(),
@ -123,8 +130,8 @@ class _LoginFormState extends State<LoginForm> {
focusNode: focusProject, focusNode: focusProject,
controller: projectIdController, controller: projectIdController,
onTap: () { onTap: () {
helpers.showCupertinoPicker( helpers.showCupertinoPicker(context, projectsList,
context, projectsList, 'Name', onSelectProject); 'facilityName', onSelectProject);
}, },
showCursor: false, showCursor: false,
readOnly: true, readOnly: true,
@ -322,13 +329,13 @@ class _LoginFormState extends State<LoginForm> {
}); });
} }
getProjectsList() { getProjectsList(memberID) {
//showLoading(); //showLoading();
projectsProv.getProjectsList().then((res) { projectsProv.getProjectsList(memberID).then((res) {
//hideLoading(); //hideLoading();
if (res['MessageStatus'] == 1) { if (res['MessageStatus'] == 1) {
setState(() { setState(() {
projectsList = res['ListProject']; projectsList = res['ProjectInfo'];
}); });
} else { } else {
// handel error // handel error
@ -350,8 +357,8 @@ class _LoginFormState extends State<LoginForm> {
onSelectProject(index) { onSelectProject(index) {
setState(() { setState(() {
userInfo.projectID = projectsList[index]["ID"]; userInfo.projectID = projectsList[index]["facilityId"];
projectIdController.text = projectsList[index]['Name']; projectIdController.text = projectsList[index]['facilityName'];
}); });
primaryFocus.unfocus(); primaryFocus.unfocus();
@ -371,10 +378,10 @@ class _LoginFormState extends State<LoginForm> {
Navigator.pop(context); Navigator.pop(context);
} }
getProjects() { getProjects(value) {
if (_isInit) { if (value != null && value != '') {
if (projectsList.length == 0) { if (projectsList.length == 0) {
getProjectsList(); getProjectsList(value);
} }
} }
_isInit = false; _isInit = false;

Loading…
Cancel
Save