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:logger/logger.dart';
bool useTestIP = true;
bool useTestIP = false;
Logger logger = Logger(printer: PrettyPrinter(printEmojis: false, colors: true, dateTimeFormat: DateTimeFormat.none));
// app globals
@ -16,6 +16,8 @@ class AppStrings {
static String fontNameCairo = "Cairo";
static String noInternetConnection = "No Internet Connection";
static String awaitingArrivalEng = "Awaiting Patients Arrival";
static String awaitingQueueNumberEng = "Awaiting Queue Number";
static String awaitingQueueNumberAr = "في انتظار رقم قائمة الانتظار";
static String counterNo = "Counter Number: ";
static String awaitingArrivalAr = "في انتظار وصول المرضى";
}
@ -121,3 +123,14 @@ class ApiConstants {
class CacheConstants {
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;
screenTypeEnum = json['screenType'] != null ? (json['screenType'] as int).toScreenTypeEnum() : null;
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,
});
TicketData.fromJson(Map<String, dynamic> json) {
TicketData.fromJson(Map<String, dynamic> json, {QTypeEnum? qTypeEnum}) {
id = json['id'];
patientID = json['patientID'];
laBQGroupID = json['laB_QGroupID'];
@ -87,6 +92,9 @@ class TicketData {
postVoiceText = json['pleaseVisitCounterText'] ?? "Please Visit Counter";
patientGender = json['patientGender'] ?? 1;
roomNo = json['roomNo'].toString();
if (qTypeEnum != null && qTypeEnum == QTypeEnum.general) {
roomNo = json['counterNo'].toString();
}
isActive = json['isActive'];
createdBy = json['createdBy'];
editedBy = json['editedBy'];

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

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

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

@ -65,14 +65,28 @@ class KioskMainScreen extends StatelessWidget {
screenConfigViewModel: screenConfigViewModel,
title: index == 0 ? "English" : "عربي",
icon: AppAssets.languageIcon,
onTap: () {
onTap: () async {
if (index == 0) {
if (screenConfigViewModel.globalConfigurationsModel.kioskQueueList != null && screenConfigViewModel.globalConfigurationsModel.kioskQueueList!.length == 1) {
await generateTicketForQueue(
screenConfigViewModel: screenConfigViewModel,
kioskQueueModel: screenConfigViewModel.globalConfigurationsModel.kioskQueueList![0],
);
} else {
screenConfigViewModel.updateCurrentSelectedKioskLanguage(LanguageEnum.english);
screenConfigViewModel.updateKioskScreenState(KioskScreenStateEnums.queueSelectionState);
}
} else {
if (screenConfigViewModel.globalConfigurationsModel.kioskQueueList != null && screenConfigViewModel.globalConfigurationsModel.kioskQueueList!.length == 1) {
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}",
icon: AppAssets.kioskQueueIcon,
onTap: () 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);
await generateTicketForQueue(screenConfigViewModel: screenConfigViewModel, kioskQueueModel: kioskQueueModel);
},
),
],
@ -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}) {
return Padding(
padding: const EdgeInsets.all(10),

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

Loading…
Cancel
Save