Made release for kiosk demo

faiz_kiosk
FaizHashmiCS22 7 months ago
parent fcec60e978
commit 640b9acb46

@ -1,7 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:logger/logger.dart'; import 'package:logger/logger.dart';
bool useTestIP = true; bool useTestIP = false;
Logger logger = Logger(printer: PrettyPrinter(printEmojis: false, colors: true, dateTimeFormat: DateTimeFormat.none)); Logger logger = Logger(printer: PrettyPrinter(printEmojis: false, colors: true, dateTimeFormat: DateTimeFormat.none));
// app globals // app globals
@ -16,6 +16,8 @@ class AppStrings {
static String fontNameCairo = "Cairo"; static String fontNameCairo = "Cairo";
static String noInternetConnection = "No Internet Connection"; static String noInternetConnection = "No Internet Connection";
static String awaitingArrivalEng = "Awaiting Patients Arrival"; static String awaitingArrivalEng = "Awaiting Patients Arrival";
static String awaitingQueueNumberEng = "Awaiting Queue Number";
static String awaitingQueueNumberAr = "في انتظار رقم قائمة الانتظار";
static String counterNo = "Counter Number: "; static String counterNo = "Counter Number: ";
static String awaitingArrivalAr = "في انتظار وصول المرضى"; static String awaitingArrivalAr = "في انتظار وصول المرضى";
} }
@ -121,3 +123,14 @@ class ApiConstants {
class CacheConstants { class CacheConstants {
static String lastTimeUpdated = "lastTimeUpdated"; static String lastTimeUpdated = "lastTimeUpdated";
} }
// calling for pharmacy
// {
// "projectID": 12,
// "counterNo": 1,
// "queueID": 11,
// "isVidaPlus": false,
// "editedBy": 102,
// "apiKey": "EE17D21C7943485D9780223CCE55DCE5"
// }

@ -16,7 +16,12 @@ class TicketDetailsModel {
qTypeEnum = json['qType'] != null ? (json['qType'] as int).toQTypeEnum() : null; qTypeEnum = json['qType'] != null ? (json['qType'] as int).toQTypeEnum() : null;
screenTypeEnum = json['screenType'] != null ? (json['screenType'] as int).toScreenTypeEnum() : null; screenTypeEnum = json['screenType'] != null ? (json['screenType'] as int).toScreenTypeEnum() : null;
connectionID = json['connectionID']; connectionID = json['connectionID'];
ticketModel = json['data'] != null ? TicketData.fromJson(json['data']) : null; ticketModel = json['data'] != null
? TicketData.fromJson(
json['data'],
qTypeEnum: json['qType'] != null ? (json['qType'] as int).toQTypeEnum() : null,
)
: null;
} }
} }
@ -69,7 +74,7 @@ class TicketData {
this.editedOn, this.editedOn,
}); });
TicketData.fromJson(Map<String, dynamic> json) { TicketData.fromJson(Map<String, dynamic> json, {QTypeEnum? qTypeEnum}) {
id = json['id']; id = json['id'];
patientID = json['patientID']; patientID = json['patientID'];
laBQGroupID = json['laB_QGroupID']; laBQGroupID = json['laB_QGroupID'];
@ -87,6 +92,9 @@ class TicketData {
postVoiceText = json['pleaseVisitCounterText'] ?? "Please Visit Counter"; postVoiceText = json['pleaseVisitCounterText'] ?? "Please Visit Counter";
patientGender = json['patientGender'] ?? 1; patientGender = json['patientGender'] ?? 1;
roomNo = json['roomNo'].toString(); roomNo = json['roomNo'].toString();
if (qTypeEnum != null && qTypeEnum == QTypeEnum.general) {
roomNo = json['counterNo'].toString();
}
isActive = json['isActive']; isActive = json['isActive'];
createdBy = json['createdBy']; createdBy = json['createdBy'];
editedBy = json['editedBy']; editedBy = json['editedBy'];

@ -16,7 +16,6 @@ enum QTypeEnum {
lab, // 2 lab, // 2
rad, // 3 rad, // 3
general, // 4 general, // 4
pharmacy, // 5
} }
enum ScreenTypeEnum { enum ScreenTypeEnum {

@ -64,8 +64,6 @@ extension QTypeEnumExtension on int {
return QTypeEnum.rad; return QTypeEnum.rad;
case 4: case 4:
return QTypeEnum.general; return QTypeEnum.general;
case 5:
return QTypeEnum.pharmacy;
default: default:
return QTypeEnum.lab; return QTypeEnum.lab;
} }

@ -138,7 +138,7 @@ class ScreenConfigViewModel extends ChangeNotifier {
GlobalConfigurationsModel? response = await screenDetailsRepo.getGlobalScreenConfigurations(ipAddress: currentScreenIP); GlobalConfigurationsModel? response = await screenDetailsRepo.getGlobalScreenConfigurations(ipAddress: currentScreenIP);
if (response == null) { if (response == null) {
log("response; ${response}"); log("response; $response");
return; return;
} }
updateGlobalConfigurationsModel(value: response); updateGlobalConfigurationsModel(value: response);

@ -65,13 +65,27 @@ class KioskMainScreen extends StatelessWidget {
screenConfigViewModel: screenConfigViewModel, screenConfigViewModel: screenConfigViewModel,
title: index == 0 ? "English" : "عربي", title: index == 0 ? "English" : "عربي",
icon: AppAssets.languageIcon, icon: AppAssets.languageIcon,
onTap: () { onTap: () async {
if (index == 0) { if (index == 0) {
screenConfigViewModel.updateCurrentSelectedKioskLanguage(LanguageEnum.english); if (screenConfigViewModel.globalConfigurationsModel.kioskQueueList != null && screenConfigViewModel.globalConfigurationsModel.kioskQueueList!.length == 1) {
screenConfigViewModel.updateKioskScreenState(KioskScreenStateEnums.queueSelectionState); await generateTicketForQueue(
screenConfigViewModel: screenConfigViewModel,
kioskQueueModel: screenConfigViewModel.globalConfigurationsModel.kioskQueueList![0],
);
} else {
screenConfigViewModel.updateCurrentSelectedKioskLanguage(LanguageEnum.english);
screenConfigViewModel.updateKioskScreenState(KioskScreenStateEnums.queueSelectionState);
}
} else { } else {
screenConfigViewModel.updateCurrentSelectedKioskLanguage(LanguageEnum.arabic); if (screenConfigViewModel.globalConfigurationsModel.kioskQueueList != null && screenConfigViewModel.globalConfigurationsModel.kioskQueueList!.length == 1) {
screenConfigViewModel.updateKioskScreenState(KioskScreenStateEnums.queueSelectionState); await generateTicketForQueue(
screenConfigViewModel: screenConfigViewModel,
kioskQueueModel: screenConfigViewModel.globalConfigurationsModel.kioskQueueList![0],
);
} else {
screenConfigViewModel.updateCurrentSelectedKioskLanguage(LanguageEnum.arabic);
screenConfigViewModel.updateKioskScreenState(KioskScreenStateEnums.queueSelectionState);
}
} }
}, },
), ),
@ -103,17 +117,7 @@ class KioskMainScreen extends StatelessWidget {
title: screenConfigViewModel.currentSelectedKioskLanguage == LanguageEnum.english ? "${kioskQueueModel.queueName}" : "${kioskQueueModel.queueNameN}", title: screenConfigViewModel.currentSelectedKioskLanguage == LanguageEnum.english ? "${kioskQueueModel.queueName}" : "${kioskQueueModel.queueNameN}",
icon: AppAssets.kioskQueueIcon, icon: AppAssets.kioskQueueIcon,
onTap: () async { onTap: () async {
screenConfigViewModel.updateKioskScreenState(KioskScreenStateEnums.busyState); await generateTicketForQueue(screenConfigViewModel: screenConfigViewModel, kioskQueueModel: kioskQueueModel);
KioskPatientTicket? kioskPatientTicket = await screenConfigViewModel.createTicketFromKiosk(
projectId: kioskQueueModel.projectID ?? 0,
queueId: kioskQueueModel.queueID ?? 0,
);
if (kioskPatientTicket == null) {
screenConfigViewModel.updateKioskScreenState(KioskScreenStateEnums.languageState);
return;
}
screenConfigViewModel.updateTicketGeneratedFromKiosk(kioskPatientTicket);
screenConfigViewModel.updateKioskScreenState(KioskScreenStateEnums.ticketNoState);
}, },
), ),
], ],
@ -171,6 +175,23 @@ class KioskMainScreen extends StatelessWidget {
); );
} }
Future<void> generateTicketForQueue({
required ScreenConfigViewModel screenConfigViewModel,
required KioskQueueModel kioskQueueModel,
}) async {
screenConfigViewModel.updateKioskScreenState(KioskScreenStateEnums.busyState);
KioskPatientTicket? kioskPatientTicket = await screenConfigViewModel.createTicketFromKiosk(
projectId: kioskQueueModel.projectID ?? 0,
queueId: kioskQueueModel.queueID ?? 0,
);
if (kioskPatientTicket == null) {
screenConfigViewModel.updateKioskScreenState(KioskScreenStateEnums.languageState);
return;
}
screenConfigViewModel.updateTicketGeneratedFromKiosk(kioskPatientTicket);
screenConfigViewModel.updateKioskScreenState(KioskScreenStateEnums.ticketNoState);
}
Widget dataContentKiosk({required BuildContext context}) { Widget dataContentKiosk({required BuildContext context}) {
return Padding( return Padding(
padding: const EdgeInsets.all(10), padding: const EdgeInsets.all(10),

@ -21,7 +21,14 @@ class MainQueueScreen extends StatelessWidget {
Widget widget = const SizedBox(); Widget widget = const SizedBox();
String text = AppStrings.awaitingArrivalEng; String text = AppStrings.awaitingArrivalEng;
String fontFamily = AppStrings.fontNamePoppins; String fontFamily = AppStrings.fontNamePoppins;
if (screenConfigViewModel.currentQTypeEnum == QTypeEnum.general) {
text = AppStrings.awaitingQueueNumberEng;
}
if (screenConfigViewModel.globalConfigurationsModel.screenLanguageEnum == LanguageEnum.arabic) { if (screenConfigViewModel.globalConfigurationsModel.screenLanguageEnum == LanguageEnum.arabic) {
if (screenConfigViewModel.currentQTypeEnum == QTypeEnum.general) {
text = AppStrings.awaitingQueueNumberAr;
}
text = AppStrings.awaitingArrivalAr; text = AppStrings.awaitingArrivalAr;
fontFamily = AppStrings.fontNameCairo; fontFamily = AppStrings.fontNameCairo;
} }

Loading…
Cancel
Save