From 66ff6ed8b6b9c97f133028306f6fb598826bee7f Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Tue, 3 Feb 2026 15:27:21 +0300 Subject: [PATCH] Prescription download changes --- lib/core/api_consts.dart | 1 + .../authentication_view_model.dart | 3 +- .../prescriptions/prescriptions_repo.dart | 43 +++++++++++++------ .../widgets/appointment_card.dart | 6 +-- .../prescription_detail_page.dart | 2 +- .../prescriptions_list_page.dart | 4 +- 6 files changed, 38 insertions(+), 21 deletions(-) diff --git a/lib/core/api_consts.dart b/lib/core/api_consts.dart index 8319c9d..87ca2f8 100644 --- a/lib/core/api_consts.dart +++ b/lib/core/api_consts.dart @@ -83,6 +83,7 @@ var PRESCRIPTIONS = 'Services/Patients.svc/REST/GetPrescriptionApptList_Async'; var GET_PRESCRIPTIONS_ALL_ORDERS = 'Services/Patients.svc/REST/PatientER_GetPatientAllPresOrders'; var GET_PRESCRIPTION_REPORT = 'Services/Patients.svc/REST/INP_GetPrescriptionReport'; var SEND_PRESCRIPTION_EMAIL = 'Services/Notifications.svc/REST/SendPrescriptionEmail'; +var SEND_PRESCRIPTION_EMAIL_NEW = 'Services/Notifications.svc/REST/SendPrescriptionEmail_New'; var GET_PRESCRIPTION_REPORT_ENH = 'Services/Patients.svc/REST/GetPrescriptionReport_enh'; ///Lab Order diff --git a/lib/features/authentication/authentication_view_model.dart b/lib/features/authentication/authentication_view_model.dart index c49554f..b48912d 100644 --- a/lib/features/authentication/authentication_view_model.dart +++ b/lib/features/authentication/authentication_view_model.dart @@ -581,7 +581,8 @@ class AuthenticationViewModel extends ChangeNotifier { if (!_appState.getIsChildLoggedIn) { await medicalVm.getFamilyFiles(status: 0); // await medicalVm.getAllPendingRecordsByResponseId(); - _navigationService.replaceAllRoutesAndNavigateToLanding(); + // _navigationService.replaceAllRoutesAndNavigateToLanding(); + _navigationService.popUntilNamed(AppRoutes.landingScreen); } } else { if (activation.list != null && activation.list!.isNotEmpty) { diff --git a/lib/features/prescriptions/prescriptions_repo.dart b/lib/features/prescriptions/prescriptions_repo.dart index c6e7150..2eb5d43 100644 --- a/lib/features/prescriptions/prescriptions_repo.dart +++ b/lib/features/prescriptions/prescriptions_repo.dart @@ -167,29 +167,44 @@ class PrescriptionsRepoImp implements PrescriptionsRepo { @override Future> getPrescriptionPDF( {required PatientPrescriptionsResponseModel prescriptionsResponseModel, required List prescriptionDetailsList}) async { + // Map mapDevice = { + // "AppointmentDate": prescriptionsResponseModel.appointmentDate, + // "ClinicName": prescriptionsResponseModel.clinicDescription, + // "DoctorName": prescriptionsResponseModel.doctorName, + // "ProjectID": prescriptionsResponseModel.projectID, + // "DoctorID": prescriptionsResponseModel.doctorID, + // "ClinicID": prescriptionsResponseModel.clinicID, + // "DateofBirth": Utils.appState.getAuthenticatedUser()!.dateofBirth, + // "ListPrescriptions": prescriptionDetailsList, + // "PatientIditificationNum": Utils.appState.getAuthenticatedUser()!.patientIdentificationNo, + // "PatientMobileNumber": Utils.appState.getAuthenticatedUser()!.mobileNumber, + // "PatientName": "${Utils.appState.getAuthenticatedUser()!.firstName!} ${Utils.appState.getAuthenticatedUser()!.lastName!}", + // "To": Utils.appState.getAuthenticatedUser()!.emailAddress, + // "SetupID": prescriptionsResponseModel.setupID, + // "IsDownload": true, + // "isDentalAllowedBackend": false, + // }; + Map mapDevice = { - "AppointmentDate": prescriptionsResponseModel.appointmentDate, - "ClinicName": prescriptionsResponseModel.clinicDescription, - "DoctorName": prescriptionsResponseModel.doctorName, - "ProjectID": prescriptionsResponseModel.projectID, - "DoctorID": prescriptionsResponseModel.doctorID, - "ClinicID": prescriptionsResponseModel.clinicID, - "DateofBirth": Utils.appState.getAuthenticatedUser()!.dateofBirth, - "ListPrescriptions": prescriptionDetailsList, - "PatientIditificationNum": Utils.appState.getAuthenticatedUser()!.patientIdentificationNo, - "PatientMobileNumber": Utils.appState.getAuthenticatedUser()!.mobileNumber, - "PatientName": "${Utils.appState.getAuthenticatedUser()!.firstName!} ${Utils.appState.getAuthenticatedUser()!.lastName!}", - "To": Utils.appState.getAuthenticatedUser()!.emailAddress, + "AppointmentNo": prescriptionsResponseModel.appointmentNo, "SetupID": prescriptionsResponseModel.setupID, + "EpisodeID": prescriptionsResponseModel.episodeID, + "ClinicID": prescriptionsResponseModel.clinicID, + "ProjectID": prescriptionsResponseModel.projectID, + "DischargeNo": prescriptionsResponseModel.dischargeNo, "IsDownload": true, - "isDentalAllowedBackend": false, + // "To": Utils.appState.getAuthenticatedUser()!.emailAddress, + "To": "amjad.haroon@cloudsolutions.com.sa", + "ClinicName": prescriptionsResponseModel.clinicDescription, + "DoctorName": prescriptionsResponseModel.doctorName, }; try { GenericApiModel? apiResponse; Failure? failure; await apiClient.post( - SEND_PRESCRIPTION_EMAIL, + // SEND_PRESCRIPTION_EMAIL, + SEND_PRESCRIPTION_EMAIL_NEW, body: mapDevice, onFailure: (error, statusCode, {messageStatus, failureType}) { failure = failureType; diff --git a/lib/presentation/appointments/widgets/appointment_card.dart b/lib/presentation/appointments/widgets/appointment_card.dart index a8735d0..ec06efc 100644 --- a/lib/presentation/appointments/widgets/appointment_card.dart +++ b/lib/presentation/appointments/widgets/appointment_card.dart @@ -184,9 +184,9 @@ class AppointmentCard extends StatelessWidget { AppCustomChipWidget( labelText: isLoading ? 'Olaya' - : patientAppointmentHistoryResponseModel.projectName!.length > 15 - ? '${patientAppointmentHistoryResponseModel.projectName!.substring(0, 15)}...' - : patientAppointmentHistoryResponseModel.projectName!) + : (patientAppointmentHistoryResponseModel.projectName ?? "Habib Hospital").length > 15 + ? '${(patientAppointmentHistoryResponseModel.projectName ?? "Habib Hospital").substring(0, 15)}...' + : patientAppointmentHistoryResponseModel.projectName ?? "Habib Hospital") .toShimmer2(isShow: isLoading), AppCustomChipWidget( labelPadding: EdgeInsetsDirectional.only(start: -4.w, end: 6.w), diff --git a/lib/presentation/prescriptions/prescription_detail_page.dart b/lib/presentation/prescriptions/prescription_detail_page.dart index 796bfdd..5bb9cbd 100644 --- a/lib/presentation/prescriptions/prescription_detail_page.dart +++ b/lib/presentation/prescriptions/prescription_detail_page.dart @@ -139,7 +139,7 @@ class _PrescriptionDetailPageState extends State { labelText: LocaleKeys.ratingValue.tr(namedArgs: {'rating': widget.prescriptionsResponseModel.decimalDoctorRate.toString()}, context: context), ), AppCustomChipWidget( - labelText: widget.prescriptionsResponseModel.name!, + labelText: widget.prescriptionsResponseModel.name ?? "", ), ], ), diff --git a/lib/presentation/prescriptions/prescriptions_list_page.dart b/lib/presentation/prescriptions/prescriptions_list_page.dart index c2d97f8..cd507d4 100644 --- a/lib/presentation/prescriptions/prescriptions_list_page.dart +++ b/lib/presentation/prescriptions/prescriptions_list_page.dart @@ -165,7 +165,7 @@ class _PrescriptionsListPageState extends State { ], ), SizedBox(height: 8.h), - model.patientPrescriptionOrdersViewList[index].filterName!.toText16(isBold: true) + (model.patientPrescriptionOrdersViewList[index].filterName ?? "").toText16(isBold: true) ], ), ), @@ -217,7 +217,7 @@ class _PrescriptionsListPageState extends State { labelText: DateUtil.formatDateToDate(DateUtil.convertStringToDate(prescription.appointmentDate), false), ), AppCustomChipWidget( - labelText: model.isSortByClinic ? prescription.name! : prescription.clinicDescription!, + labelText: model.isSortByClinic ? prescription.name ?? "" : prescription.clinicDescription!, ), ], ),