WD: hospital name selection change

merge-update-with-lab-changes
taha.alam 12 months ago
parent e3b75b18c8
commit 5dbd97aa46

@ -22,12 +22,12 @@ var PACKAGES_ORDER_HISTORY = '/api/orders/items';
var PACKAGES_TAMARA_OPT = '/api/orders/paymentoptions/tamara'; var PACKAGES_TAMARA_OPT = '/api/orders/paymentoptions/tamara';
// var BASE_URL = 'http://10.50.100.198:2018/'; // var BASE_URL = 'http://10.50.100.198:2018/';
// var BASE_URL = 'https://uat.hmgwebservices.com/'; // var BASE_URL = 'https://uat.hmgwebservices.com/';
// var BASE_URL = 'https://hmgwebservices.com/'; var BASE_URL = 'https://hmgwebservices.com/';
// var BASE_URL = 'https://orash.cloudsolutions.com.sa/'; // var BASE_URL = 'https://orash.cloudsolutions.com.sa/';
// var BASE_URL = 'https://vidauat.cloudsolutions.com.sa/'; // var BASE_URL = 'https://vidauat.cloudsolutions.com.sa/';
// var BASE_URL = 'https://vidamergeuat.cloudsolutions.com.sa/'; // var BASE_URL = 'https://vidamergeuat.cloudsolutions.com.sa/';
var BASE_URL = 'https://webservices.hmg.com/'; // var BASE_URL = 'https://webservices.hmg.com/';
// var BASE_URL = 'http://10.50.100.198:4422/'; // var BASE_URL = 'http://10.50.100.198:4422/';

@ -878,7 +878,7 @@ const Map localizedValues = {
"select-part": {"en": "Please select the part that complain about", "ar": "يرجى تحديد الجزء الذي تشكو منه"}, "select-part": {"en": "Please select the part that complain about", "ar": "يرجى تحديد الجزء الذي تشكو منه"},
"number": {"en": "Number", "ar": "الرقم"}, "number": {"en": "Number", "ar": "الرقم"},
"not-classified": {"en": "Not classified", "ar": "غير محدد"}, "not-classified": {"en": "Not classified", "ar": "غير محدد"},
"selectClinic": {"en": "Select Clinic", "ar": " بحث بالعيادة"}, "selectClinic": {"en": "Select Clinic", "ar": "اختر بالعيادة"},
"selectProject": {"en": "Select Hospital", "ar": " بحث المستشفى"}, "selectProject": {"en": "Select Hospital", "ar": " بحث المستشفى"},
"searchItemError": {"en": "Item name should be more than 3 character ", "ar": "يجب أن يكون الاسم المدخل أكثر من 3 أحرف"}, "searchItemError": {"en": "Item name should be more than 3 character ", "ar": "يجب أن يكون الاسم المدخل أكثر من 3 أحرف"},
"YouCanFind": {"en": "You Can Find ", "ar": "باستطاعتك العثور على "}, "YouCanFind": {"en": "You Can Find ", "ar": "باستطاعتك العثور على "},

@ -76,9 +76,9 @@ class HospitalsModel {
String? getName(bool isArabic) { String? getName(bool isArabic) {
if (isArabic) { if (isArabic) {
return "$legalNameN"; return "$nameN";
} }
return legalName; return name;
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {

@ -223,6 +223,13 @@ class DoctorList {
String getProjectCompleteName(){ String getProjectCompleteName(){
return "${this.projectTopName} ${this.projectBottomName}"; return "${this.projectTopName} ${this.projectBottomName}";
} }
String getProjectCompleteNameWithLocale({bool isArabic = false}) {
if (isArabic) {
return "${this.projectBottomName} ${this.projectTopName}";
}
return "${this.projectTopName} ${this.projectBottomName}";
}
} }
class PatientDoctorAppointmentList { class PatientDoctorAppointmentList {

@ -1,6 +1,7 @@
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart'; import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/SearchResults.dart';
import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart'; import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart';
import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart';
@ -87,6 +88,7 @@ class _SearchByDoctorState extends State<SearchByDoctor> {
), ),
onPressed: () { onPressed: () {
if (_isButtonDisabled == false) { if (_isButtonDisabled == false) {
FocusManager.instance.primaryFocus?.unfocus();
_searchDoctor(context); _searchDoctor(context);
} }
}, },
@ -98,69 +100,58 @@ class _SearchByDoctorState extends State<SearchByDoctor> {
} }
getDoctorsList(BuildContext context) { getDoctorsList(BuildContext context) {
bool isArabic = context.read<ProjectViewModel>().isArabic; int languageID = context.read<ProjectViewModel>().isArabic ? 1 : 2;
int languageID = isArabic ? 1 : 2;
GifLoaderDialogUtils.showMyDialog(context); GifLoaderDialogUtils.showMyDialog(context);
List<DoctorList> doctorsList = []; List<DoctorList> doctorsList = [];
DoctorsListService service = new DoctorsListService(); DoctorsListService service = new DoctorsListService();
var counter = 0;
var isHmc = false;
List<PatientDoctorAppointmentList> _patientDoctorAppointmentListHospital = List<PatientDoctorAppointmentList> _patientDoctorAppointmentListHospital =
[]; [];
service service
.getDoctorsListByName(doctorNameController.text, languageID, context) .getDoctorsListByName(doctorNameController.text, languageID, context)
.then((res) async { .then((res) {
// GifLoaderDialogUtils.hideDialog(context); // GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1) { if (res['MessageStatus'] == 1) {
RegionList regionHospitalList = RegionList(); setState(() {
if (res['DoctorList'].length != 0) {
res['DoctorList'].forEach((v) {
doctorsList.add(new DoctorList.fromJson(v));
});
if (res['DoctorList'].length != 0) { doctorsList.forEach((element) {
res['DoctorList'].forEach((v) { List<PatientDoctorAppointmentList> doctorByHospital =
// var reg = region[counter % 4]; _patientDoctorAppointmentListHospital
// counter++; .where((elementClinic) =>
doctorsList.add(new DoctorList.fromJson( elementClinic.filterName ==
v, element.getProjectCompleteName())
)); .toList();
// isHmc = !isHmc;
});
// print('the counter is ${counter}');
regionHospitalList = await DoctorMapper.getMappedDoctor(doctorsList,
isArabic: isArabic);
var lat = await sharedPref.getDouble(USER_LAT);
var lng = await sharedPref.getDouble(USER_LONG);
var isLocationEnabled =
(lat != null && lat != 0.0) && (lng != null && lng != 0.0);
regionHospitalList = await DoctorMapper.sortList(
isLocationEnabled, regionHospitalList);
setState(() {});
// doctorsList.forEach((element) {
// List<PatientDoctorAppointmentList> doctorByHospital =
// _patientDoctorAppointmentListHospital.where((elementClinic) => elementClinic.filterName == element.getProjectCompleteName()).toList();
//
// if (doctorByHospital.length != 0) {
// _patientDoctorAppointmentListHospital[_patientDoctorAppointmentListHospital.indexOf(doctorByHospital[0])].patientDoctorAppointmentList!.add(element);
// } else {
// _patientDoctorAppointmentListHospital.add(PatientDoctorAppointmentList(
// filterName: element.getProjectCompleteName(),
// distanceInKMs: element.projectDistanceInKiloMeters.toString(),
// projectTopName: element.projectTopName,
// projectBottomName: element.projectBottomName,
// patientDoctorAppointment: element));
// }
// });
} else {
GifLoaderDialogUtils.hideDialog(context);
AppToast.showErrorToast(message: res['ErrorSearchMsg']);
}
if (doctorByHospital.length != 0) {
_patientDoctorAppointmentListHospital[
_patientDoctorAppointmentListHospital
.indexOf(doctorByHospital[0])]
.patientDoctorAppointmentList!
.add(element);
} else {
_patientDoctorAppointmentListHospital.add(
PatientDoctorAppointmentList(
filterName: element.getProjectCompleteName(),
distanceInKMs:
element.projectDistanceInKiloMeters.toString(),
projectTopName: element.projectTopName,
projectBottomName: element.projectBottomName,
patientDoctorAppointment: element));
}
});
} else {
GifLoaderDialogUtils.hideDialog(context);
AppToast.showErrorToast(message: res['ErrorSearchMsg']);
}
});
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
// navigateToSearchResults(context, doctorsList, _patientDoctorAppointmentListHospital); navigateToSearchResults(
navigateToSearchResults(context, regionHospitalList); context, doctorsList, _patientDoctorAppointmentListHospital);
} else { } else {
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
AppToast.showErrorToast(message: res['ErrorEndUserMessage']); AppToast.showErrorToast(message: res['ErrorEndUserMessage']);
@ -195,16 +186,17 @@ class _SearchByDoctorState extends State<SearchByDoctor> {
.book_appointment_doctor_search(query: doctorNameController.text); .book_appointment_doctor_search(query: doctorNameController.text);
} }
navigateToSearchResults(context, RegionList regionHospitalList) { navigateToSearchResults(context, List<DoctorList> docList,
// Navigator.push(context, List<PatientDoctorAppointmentList> patientDoctorAppointmentListHospital) {
// FadePage(page: SearchResults(isLiveCareAppointment: false, isDoctorNameSearch: true, doctorsList: docList, patientDoctorAppointmentListHospital: patientDoctorAppointmentListHospital, isDoctorSearchResult: true,)));
Navigator.push( Navigator.push(
context, context,
FadePage( FadePage(
page: SearchResultWithTab( page: SearchResults(
doctorsList: [],
patientDoctorAppointmentListHospital: regionHospitalList,
isLiveCareAppointment: false, isLiveCareAppointment: false,
isDoctorNameSearch: true,
doctorsList: docList,
patientDoctorAppointmentListHospital:
patientDoctorAppointmentListHospital,
isDoctorSearchResult: true, isDoctorSearchResult: true,
))); )));
} }

@ -295,6 +295,13 @@ class _SearchByHospitalState extends State<SearchByHospital> {
projectsList = projectsListLocal; projectsList = projectsListLocal;
hospitalList = await DoctorMapper.getMappedHospitals(projectsList, hospitalList = await DoctorMapper.getMappedHospitals(projectsList,
isArabic: context.read<ProjectViewModel>().isArabic); isArabic: context.read<ProjectViewModel>().isArabic);
var lat = await sharedPref.getDouble(USER_LAT);
var lng = await sharedPref.getDouble(USER_LONG);
var isLocationEnabled =
(lat != null && lat != 0.0) && (lng != null && lng != 0.0);
hospitalList =
await DoctorMapper.sortList(isLocationEnabled, hospitalList!);
setState(() {}); setState(() {});
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
} else {} } else {}

@ -23,7 +23,8 @@ class DoctorMapper{
var doctorByHospital = targetList var doctorByHospital = targetList
?.where((clinic) => ?.where((clinic) =>
clinic.filterName == element.getProjectCompleteName()) clinic.filterName ==
element.getProjectCompleteNameWithLocale(isArabic: isArabic))
.toList() ?? .toList() ??
[]; [];
@ -31,7 +32,8 @@ class DoctorMapper{
doctorByHospital.first.patientDoctorAppointmentList?.add(element); doctorByHospital.first.patientDoctorAppointmentList?.add(element);
} else { } else {
var newAppointment = PatientDoctorAppointmentList( var newAppointment = PatientDoctorAppointmentList(
filterName: element.getProjectCompleteName(), filterName:
element.getProjectCompleteNameWithLocale(isArabic: isArabic),
distanceInKMs: element.projectDistanceInKiloMeters.toString(), distanceInKMs: element.projectDistanceInKiloMeters.toString(),
projectTopName: element.projectTopName, projectTopName: element.projectTopName,
projectBottomName: element.projectBottomName, projectBottomName: element.projectBottomName,
@ -141,7 +143,7 @@ class DoctorMapper{
List<PatientDoctorAppointmentList> existingEntry = targetList List<PatientDoctorAppointmentList> existingEntry = targetList
?.where( ?.where(
(entry) => entry.filterName == hospital.legalName, (entry) => entry.filterName == hospital.getName(isArabic),
) )
.toList() ?? .toList() ??
[]; [];
@ -150,10 +152,10 @@ class DoctorMapper{
existingEntry.first.hospitalList.add(hospital); existingEntry.first.hospitalList.add(hospital);
} else { } else {
final newEntry = PatientDoctorAppointmentList( final newEntry = PatientDoctorAppointmentList(
filterName: hospital.getName(isArabic), filterName: hospital.name,
distanceInKMs: hospital.distanceInKilometers?.toString(), distanceInKMs: hospital.distanceInKilometers?.toString(),
projectTopName: hospital.name, projectTopName: hospital.name,
projectBottomName: hospital.legalName, projectBottomName: hospital.name,
model: hospital); model: hospital);
final distance = hospital.distanceInKilometers; final distance = hospital.distanceInKilometers;

Loading…
Cancel
Save