diff --git a/lib/client/base_app_client.dart b/lib/client/base_app_client.dart index 824b8189..b4e5f810 100644 --- a/lib/client/base_app_client.dart +++ b/lib/client/base_app_client.dart @@ -52,7 +52,9 @@ class BaseAppClient { if (body['EditedBy'] == '') { body.remove("EditedBy"); } - body['TokenID'] = token ?? ''; + if(body['TokenID'] == null){ + body['TokenID'] = token ?? ''; + } // body['TokenID'] = "@dm!n" ?? ''; String lang = await sharedPref.getString(APP_Language); if (lang != null && lang == 'ar') diff --git a/lib/config/config.dart b/lib/config/config.dart index 08dd8562..c8af8ad9 100644 --- a/lib/config/config.dart +++ b/lib/config/config.dart @@ -210,6 +210,8 @@ const PATIENT_MEDICAL_REPORT_VERIFIED = "Services/Patients.svc/REST/DAPP_Verifie const GET_PROCEDURE_TEMPLETE = 'Services/Doctors.svc/REST/DAPP_ProcedureTemplateGet'; +const GET_TEMPLETE_LIST = 'Services/Doctors.svc/REST/DAPP_TemplateGet'; + const GET_PROCEDURE_TEMPLETE_DETAILS = "Services/Doctors.svc/REST/DAPP_ProcedureTemplateDetailsGet"; const GET_PENDING_PATIENT_ER_FOR_DOCTOR_APP = 'Services/DoctorApplication.svc/REST/GetPendingPatientERForDoctorApp'; diff --git a/lib/core/model/procedure/procedure_template_details_model.dart b/lib/core/model/procedure/procedure_template_details_model.dart index c566a539..1fc797ae 100644 --- a/lib/core/model/procedure/procedure_template_details_model.dart +++ b/lib/core/model/procedure/procedure_template_details_model.dart @@ -105,11 +105,12 @@ class ProcedureTempleteDetailsModel { } } class ProcedureTempleteDetailsModelList { - List procedureTemplate; + List procedureTemplate = List(); String templateName; + int templateId; ProcedureTempleteDetailsModelList( - {this.templateName, ProcedureTempleteDetailsModel template}) { + {this.templateName, this.templateId, ProcedureTempleteDetailsModel template}) { procedureTemplate.add(template); } } diff --git a/lib/core/service/patient_medical_file/procedure/procedure_service.dart b/lib/core/service/patient_medical_file/procedure/procedure_service.dart index 9673b9bf..9e3d4297 100644 --- a/lib/core/service/patient_medical_file/procedure/procedure_service.dart +++ b/lib/core/service/patient_medical_file/procedure/procedure_service.dart @@ -23,8 +23,9 @@ class ProcedureService extends BaseService { List procedureslist = List(); List categoryList = []; - List _templateList = List(); - List get templateList => _templateList; + // List _templateList = List(); + // List get templateList => _templateList; + List templateList = List(); List _templateDetailsList = List(); List get templateDetailsList => @@ -63,22 +64,31 @@ class ProcedureService extends BaseService { ); Future getProcedureTemplate( - {int doctorId, int projectId, int clinicId}) async { + {int doctorId, int projectId, int clinicId, String categoryID}) async { _procedureTempleteRequestModel = ProcedureTempleteRequestModel( tokenID: "@dm!n", patientID: 0, searchType: 1, - editedBy: 208195, ); hasError = false; - //insuranceApprovalInPatient.clear(); - await baseAppClient.post(GET_PROCEDURE_TEMPLETE, + await baseAppClient.post(GET_TEMPLETE_LIST/*GET_PROCEDURE_TEMPLETE*/, onSuccess: (dynamic response, int statusCode) { - //prescriptionsList.clear(); - response['HIS_ProcedureTemplateList'].forEach((template) { - _templateList.add(ProcedureTempleteModel.fromJson(template)); + templateList.clear(); + response['DAPP_TemplateGetList'].forEach((template) { + ProcedureTempleteDetailsModel templateElement = ProcedureTempleteDetailsModel.fromJson(template); + if(categoryID != null){ + if(categoryID == templateElement.categoryID){ + templateList.add(templateElement); + } + } else { + templateList.add(templateElement); + } + }); + // response['HIS_ProcedureTemplateList'].forEach((template) { + // _templateList.add(ProcedureTempleteModel.fromJson(template)); + // }); }, onFailure: (String error, int statusCode) { hasError = true; super.error = error; diff --git a/lib/core/viewModel/procedure_View_model.dart b/lib/core/viewModel/procedure_View_model.dart index 823ca2b4..2c75f639 100644 --- a/lib/core/viewModel/procedure_View_model.dart +++ b/lib/core/viewModel/procedure_View_model.dart @@ -27,17 +27,22 @@ class ProcedureViewModel extends BaseViewModel { FilterType filterType = FilterType.Clinic; bool hasError = false; ProcedureService _procedureService = locator(); + List get procedureList => _procedureService.procedureList; + List get valadteProcedureList => _procedureService.valadteProcedureList; + List get categoriesList => _procedureService.categoriesList; + List get categoryList => _procedureService.categoryList; RadiologyService _radiologyService = locator(); LabsService _labsService = locator(); List _finalRadiologyListClinic = List(); List _finalRadiologyListHospital = List(); + List get finalRadiologyList => filterType == FilterType.Clinic ? _finalRadiologyListClinic @@ -51,8 +56,11 @@ class ProcedureViewModel extends BaseViewModel { List get labOrdersResultsList => _labsService.labOrdersResultsList; - List get procedureTemplate => + + List get procedureTemplate => _procedureService.templateList; + List templateList = List(); + List get procedureTemplateDetails => _procedureService.templateDetailsList; @@ -101,19 +109,43 @@ class ProcedureViewModel extends BaseViewModel { setState(ViewState.Idle); } - Future getProcedureTemplate() async { + Future getProcedureTemplate({String categoryID}) async { hasError = false; //_insuranceCardService.clearInsuranceCard(); setState(ViewState.Busy); - await _procedureService.getProcedureTemplate(); + await _procedureService.getProcedureTemplate(categoryID: categoryID); if (_procedureService.hasError) { error = _procedureService.error; setState(ViewState.ErrorLocal); - } else + } else { + setTemplateListDependOnId(); setState(ViewState.Idle); + } + } + + setTemplateListDependOnId() { + procedureTemplate.forEach((element) { + List templateListData = templateList + .where((elementTemplate) => + elementTemplate.templateId == element.templateID) + .toList(); + + if (templateListData.length != 0) { + templateList[templateList.indexOf(templateListData[0])] + .procedureTemplate + .add(element); + } else { + templateList.add(ProcedureTempleteDetailsModelList( + templateName: element.templateName, + templateId: element.templateID, + template: element)); + } + }); + print(templateList.length.toString()); } int tempId = 0; + Future getProcedureTemplateDetails({int templateId}) async { tempId = templateId; hasError = false; diff --git a/lib/screens/procedures/add-favourite-procedure.dart b/lib/screens/procedures/add-favourite-procedure.dart index 7e43f934..ac355a85 100644 --- a/lib/screens/procedures/add-favourite-procedure.dart +++ b/lib/screens/procedures/add-favourite-procedure.dart @@ -47,9 +47,10 @@ class _AddFavouriteProcedureState extends State { Widget build(BuildContext context) { return BaseView( onModelReady: (model) async { - if (model.procedureTemplate.length == 0) { + // TODO mosa_change + // if (model.procedureTemplate.length == 0) { model.getProcedureTemplate(); - } + // } }, builder: (BuildContext context, ProcedureViewModel model, Widget child) => AppScaffold( @@ -66,7 +67,7 @@ class _AddFavouriteProcedureState extends State { baseViewModel: model, child: EntityListCheckboxSearchFavProceduresWidget( model: widget.model, - masterList: widget.model.procedureTemplate, + // masterList: widget.model.procedureTemplate, //TODO change it to the new model removeFavProcedure: (item) { setState(() {