diff --git a/README.md b/README.md index 1f2eeb5..a2219fe 100644 --- a/README.md +++ b/README.md @@ -45,5 +45,9 @@ laB_QGroupID: 1, queueNo: LAB-54, counterBatchNo: 1, calledBy: 11, calledOn: 202 Test@unknown.com, preferredLang: 1, patientGender: 2, roomNo: null, isActive: true, createdBy: 101, createdOn: 2024-12-19T11:58:13.74, editedBy: 101, editedOn: 2024-12-19T11:58:36.573}} -ConfigCall: +ConfigCall: + +adb url: + +C:\Users\Hashmi.Rahman\AppData\Local\Android\Sdk\platform-tools diff --git a/lib/constants/app_constants.dart b/lib/constants/app_constants.dart index 9124977..e5c0a44 100644 --- a/lib/constants/app_constants.dart +++ b/lib/constants/app_constants.dart @@ -112,7 +112,7 @@ class ApiConstants { //Generic static String createTicketForKiosk = '$baseUrlApiGen/GEN_PatientCallNo_Get'; - static String ticketCallRequestUpdateForKiosk = '$baseUrlApiGen/GEN_TicketQueueAck_Insert'; + static String ticketAcknowledgementInsert = '$baseUrlApiGen/GEN_TicketQueueAck_Insert'; // Signal R Constants diff --git a/lib/repositories/screen_details_repo.dart b/lib/repositories/screen_details_repo.dart index 0a13a8b..202a5ab 100644 --- a/lib/repositories/screen_details_repo.dart +++ b/lib/repositories/screen_details_repo.dart @@ -12,7 +12,7 @@ import 'package:hmg_qline/views/view_helpers/info_components.dart'; abstract class ScreenDetailsRepo { Future getGlobalScreenConfigurations({required String ipAddress}); - Future createNextTickets({required int ticketNumber}); + Future createTestTickets({required int ticketNumber}); Future createTicketFromKiosk({required int projectId, required int queueId}); @@ -23,6 +23,8 @@ abstract class ScreenDetailsRepo { Future getPrayerDetailsByLatLong({required double latitude, required double longitude}); Future getRssFeedDetailsByLanguageID({required int languageId}); + + Future acknowledgeTicket({required String ipAddress}); } class ScreenDetailsRepoImp implements ScreenDetailsRepo { @@ -56,7 +58,7 @@ class ScreenDetailsRepoImp implements ScreenDetailsRepo { } @override - Future createNextTickets({required int ticketNumber}) async { + Future createTestTickets({required int ticketNumber}) async { try { var params = { "projectID": "15", @@ -192,4 +194,28 @@ class ScreenDetailsRepoImp implements ScreenDetailsRepo { return null; } } + + @override + Future acknowledgeTicket({required String ipAddress}) async { + try { + var params = { + "ipAddress": ipAddress.toString(), + "isVip": false, + "orderNo": "123", + "isVidaPlus": false, + "createdBy": "101", + "apiKey": AppConstants.apiKey, + }; + GenericRespModel adsGenericModel = await apiClientInstance.postJsonForObject( + (json) => GenericRespModel.fromJson(json), + ApiConstants.ticketAcknowledgementInsert, + params, + ); + return adsGenericModel; + } catch (e) { + logger.e(e.toString()); + InfoComponents.showToast(e.toString()); + return null; + } + } } diff --git a/lib/view_models/queuing_view_model.dart b/lib/view_models/queuing_view_model.dart index 91bf174..3d99737 100644 --- a/lib/view_models/queuing_view_model.dart +++ b/lib/view_models/queuing_view_model.dart @@ -88,18 +88,18 @@ class QueuingViewModel extends ChangeNotifier { ticket: currentTickets.first, ); } else { - waitAndCallNextTicketIfThere(); + waitAndCallNextTicketIfAvailable(); } } Future onVoiceCompleted() async { log("isSpeechCompleted::: $isSpeechCompleted"); if (isSpeechCompleted) { - waitAndCallNextTicketIfThere(); + waitAndCallNextTicketIfAvailable(); } } - waitAndCallNextTicketIfThere() { + waitAndCallNextTicketIfAvailable() { GlobalConfigurationsModel globalConfigurationsModel = getIt.get().globalConfigurationsModel; Timer(Duration(seconds: globalConfigurationsModel.concurrentCallDelaySec), () async { if (queueTickets.isNotEmpty) { @@ -109,7 +109,7 @@ class QueuingViewModel extends ChangeNotifier { } notifyListeners(); queueTickets.removeAt(0); - voiceCallTicket(ticketData: currentTickets.first.ticketModel); + callTicketOnScreen(ticketData: currentTickets.first.ticketModel); } else { isCallingInProgress = false; } @@ -137,7 +137,7 @@ class QueuingViewModel extends ChangeNotifier { if (currentTickets.length > globalConfigurationsModel.screenMaxDisplayPatients) { currentTickets.removeLast(); } - voiceCallTicket(ticketData: currentTickets.first.ticketModel); + callTicketOnScreen(ticketData: currentTickets.first.ticketModel); } else { queueTickets.add(ticket); log("inQueue Length: ${queueTickets.length}"); @@ -149,7 +149,7 @@ class QueuingViewModel extends ChangeNotifier { textToSpeechService.speechTextTest("Ticket Number ... ABC One Tow Three.. Please visit Doctor."); } - Future voiceCallTicket({required TicketData? ticketData}) async { + Future callTicketOnScreen({required TicketData? ticketData}) async { if (ticketData == null) return; GlobalConfigurationsModel globalConfigurationsModel = getIt.get().globalConfigurationsModel; if (globalConfigurationsModel.isToneReq) { @@ -162,7 +162,7 @@ class QueuingViewModel extends ChangeNotifier { ticket: currentTickets.first, ); } else { - waitAndCallNextTicketIfThere(); + waitAndCallNextTicketIfAvailable(); } } } diff --git a/lib/view_models/screen_config_view_model.dart b/lib/view_models/screen_config_view_model.dart index efa3ede..e23c7c7 100644 --- a/lib/view_models/screen_config_view_model.dart +++ b/lib/view_models/screen_config_view_model.dart @@ -318,11 +318,11 @@ class ScreenConfigViewModel extends ChangeNotifier { } } - Future createAutoTickets({required int numOfTicketsToCreate}) async { + Future createTestTickets({required int numOfTicketsToCreate}) async { int startTicket = 123457100; for (int i = 0; i < numOfTicketsToCreate; i++) { - GenericRespModel? response = await screenDetailsRepo.createNextTickets(ticketNumber: startTicket); + GenericRespModel? response = await screenDetailsRepo.createTestTickets(ticketNumber: startTicket); startTicket = startTicket + 1; if (response == null || response.messageStatus != 1) { log("response null from createNextTickets"); @@ -347,4 +347,12 @@ class ScreenConfigViewModel extends ChangeNotifier { return null; } } + + Future acknowledgeTicket({required String ticketNumber}) async { + GenericRespModel? response = await screenDetailsRepo.acknowledgeTicket(ipAddress: currentScreenIP); + if (response == null || response.messageStatus != 1) { + log("response null from acknowledgeTicket"); + return; + } + } }