changes for room level

faiz_kiosk
FaizHashmiCS22 10 months ago
parent 879bb7c167
commit 68ee656857

@ -21,6 +21,7 @@ for ticket generation: LAB_PatientCallNo_Get
"projectID": 15, "projectID": 15,
"patientID": 123456905, "patientID": 123456905,
"isVip": false, "isVip": false,
"orderNo":"123"
"isVidaPlus": false, "isVidaPlus": false,
"createdBy": 101, "createdBy": 101,
"apiKey": "EE17D21C7943485D9780223CCE55DCE5" "apiKey": "EE17D21C7943485D9780223CCE55DCE5"

@ -86,6 +86,7 @@ class ApiConstants {
static String baseUrlHub = '$baseUrl/PatientCallingHub'; static String baseUrlHub = '$baseUrl/PatientCallingHub';
static String baseUrlApi = '$baseUrl/api'; static String baseUrlApi = '$baseUrl/api';
static String baseUrlApiPatientCall = '$baseUrlApi/PatientCall'; static String baseUrlApiPatientCall = '$baseUrlApi/PatientCall';
static String createTicket = '$baseUrlApiPatientCall/LAB_PatientCallNo_Get';
static String commonConfigGet = '$baseUrlApiPatientCall/Common_Config_GetByIP'; static String commonConfigGet = '$baseUrlApiPatientCall/Common_Config_GetByIP';
static String waitingAreaScreenConfigGet = '$baseUrlApiPatientCall/WaitingAreaScreen_Config_Get'; static String waitingAreaScreenConfigGet = '$baseUrlApiPatientCall/WaitingAreaScreen_Config_Get';
static String rssFeedGet = '$baseUrlApiPatientCall/RssFeed_Get'; static String rssFeedGet = '$baseUrlApiPatientCall/RssFeed_Get';

@ -152,10 +152,10 @@ class GlobalConfigurationsModel {
createdOn = json['createdOn']; createdOn = json['createdOn'];
editedBy = json['editedBy']; editedBy = json['editedBy'];
editedOn = json['editedOn']; editedOn = json['editedOn'];
// isToneReq = json['isToneReq'] ?? false; isToneReq = json['isToneReq'] ?? false;
// isVoiceReq = json['isVoiceReq'] ?? false; isVoiceReq = json['isVoiceReq'] ?? false;
isToneReq = true; // isToneReq = true;
isVoiceReq = true; // isVoiceReq = true;
orientationType = json['orientationType'] ?? 1; orientationType = json['orientationType'] ?? 1;
isTurnOn = json['isTurnOn']; isTurnOn = json['isTurnOn'];
waitingAreaType = json['waitingAreaType']; waitingAreaType = json['waitingAreaType'];

@ -74,7 +74,6 @@ class TicketData {
this.editedOn}); this.editedOn});
TicketData.fromJson(Map<String, dynamic> json) { TicketData.fromJson(Map<String, dynamic> json) {
log("typoe: ${json['preferredLang'].runtimeType}");
id = json['id']; id = json['id'];
patientID = json['patientID']; patientID = json['patientID'];
laBQGroupID = json['laB_QGroupID']; laBQGroupID = json['laB_QGroupID'];
@ -86,7 +85,7 @@ class TicketData {
patientName = json['patientName']; patientName = json['patientName'];
mobileNo = json['mobileNo']; mobileNo = json['mobileNo'];
patientEmail = json['patientEmail']; patientEmail = json['patientEmail'];
preferredLang = (json['preferredLang'] != null && json['preferredLang'].trim() != "" )? int.parse(json['preferredLang']) : 1; preferredLang = (json['preferredLang'] != null && json['preferredLang'].trim() != "") ? int.parse(json['preferredLang']) : 1;
patientGender = json['patientGender'] ?? 1; patientGender = json['patientGender'] ?? 1;
roomNo = json['roomNo'].toString(); roomNo = json['roomNo'].toString();
isActive = json['isActive']; isActive = json['isActive'];

@ -11,6 +11,8 @@ import 'package:hmg_qline/views/view_helpers/info_components.dart';
abstract class ScreenDetailsRepo { abstract class ScreenDetailsRepo {
Future<GlobalConfigurationsModel?> getGlobalScreenConfigurations({required String ipAddress}); Future<GlobalConfigurationsModel?> getGlobalScreenConfigurations({required String ipAddress});
Future<GenericRespModel?> createNextTickets({required int ticketNumber});
Future<WidgetsConfigModel?> getScreenConfigurationsByIP({required String ipAddress}); Future<WidgetsConfigModel?> getScreenConfigurationsByIP({required String ipAddress});
Future<WeathersWidgetModel?> getWeatherDetailsByCity({required String cityId}); Future<WeathersWidgetModel?> getWeatherDetailsByCity({required String cityId});
@ -50,6 +52,31 @@ class ScreenDetailsRepoImp implements ScreenDetailsRepo {
} }
} }
@override
Future<GenericRespModel?> createNextTickets({required int ticketNumber}) async {
try {
var params = {
"projectID": "15",
"patientID": ticketNumber.toString(),
"isVip": false,
"orderNo": "123",
"isVidaPlus": false,
"createdBy": "101",
"apiKey": AppConstants.apiKey,
};
GenericRespModel adsGenericModel = await apiClientInstance.postJsonForObject(
(json) => GenericRespModel.fromJson(json),
ApiConstants.createTicket,
params,
);
return adsGenericModel;
} catch (e) {
logger.e(e.toString());
InfoComponents.showToast(e.toString());
return null;
}
}
@override @override
Future<WidgetsConfigModel?> getScreenConfigurationsByIP({required String ipAddress}) async { Future<WidgetsConfigModel?> getScreenConfigurationsByIP({required String ipAddress}) async {
try { try {

@ -3,6 +3,7 @@ import 'dart:developer';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:hmg_qline/config/dependency_injection.dart'; import 'package:hmg_qline/config/dependency_injection.dart';
import 'package:hmg_qline/constants/app_constants.dart'; import 'package:hmg_qline/constants/app_constants.dart';
import 'package:hmg_qline/models/generic_response_model.dart';
import 'package:hmg_qline/models/global_config_model.dart'; import 'package:hmg_qline/models/global_config_model.dart';
import 'package:hmg_qline/models/prayers_widget_model.dart'; import 'package:hmg_qline/models/prayers_widget_model.dart';
import 'package:hmg_qline/models/rss_feed_model.dart'; import 'package:hmg_qline/models/rss_feed_model.dart';
@ -267,4 +268,18 @@ class ScreenConfigViewModel extends ChangeNotifier {
currentLastTimeUpdated = response; currentLastTimeUpdated = response;
} }
} }
Future<void> createAutoTickets() async {
int numOfTicketsToCreate = 20;
int startTicket = 123456920;
for (int i = 0; i < numOfTicketsToCreate; i++) {
GenericRespModel? response = await screenDetailsRepo.createNextTickets(ticketNumber: startTicket);
startTicket = startTicket + 1;
if (response == null) {
log("response null from createNextTickets");
return;
}
}
}
} }

@ -31,7 +31,11 @@ class AppFooter extends StatelessWidget {
AppStrings.poweredBy, AppStrings.poweredBy,
fontSize: SizeConfig.getWidthMultiplier() * 2, fontSize: SizeConfig.getWidthMultiplier() * 2,
), ),
Text(screenConfigVM.currentScreenIP, style: TextStyle(fontWeight: FontWeight.w500, fontSize: SizeConfig.getWidthMultiplier() * 2.2)), Text(screenConfigVM.currentScreenIP,
style: TextStyle(
fontWeight: FontWeight.w500,
fontSize: SizeConfig.getWidthMultiplier() * 2.2,
)),
Row( Row(
children: [ children: [
InkWell( InkWell(

@ -1,6 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:hmg_qline/models/global_config_model.dart'; import 'package:hmg_qline/models/global_config_model.dart';
import 'package:hmg_qline/models/ticket_model.dart'; import 'package:hmg_qline/models/ticket_model.dart';
import 'package:hmg_qline/utilities/enums.dart';
import 'package:hmg_qline/views/main_queue_screen/components/ticket_item.dart'; import 'package:hmg_qline/views/main_queue_screen/components/ticket_item.dart';
import 'package:hmg_qline/views/view_helpers/size_config.dart'; import 'package:hmg_qline/views/view_helpers/size_config.dart';
@ -20,13 +21,14 @@ class PriorityTickets extends StatelessWidget {
children: [ children: [
TicketItem( TicketItem(
ticketNo: firstTicket.ticketModel!.queueNo ?? '', ticketNo: firstTicket.ticketModel!.queueNo ?? '',
scale: 1.2, scale: globalConfigurationsModel.screenTypeEnum == ScreenTypeEnum.roomLevelScreen ? 1.6 : 1.2,
blink: true, blink: true,
roomNo: firstTicket.ticketModel!.roomNo ?? '', roomNo: firstTicket.ticketModel!.roomNo ?? '',
roomText: globalConfigurationsModel.roomText ?? "", roomText: globalConfigurationsModel.roomText ?? "",
isClinicAdded: false, isClinicAdded: false,
textDirection: globalConfigurationsModel.textDirection, textDirection: globalConfigurationsModel.textDirection,
message: "ZahoorWillAddThis", message: globalConfigurationsModel.ticketNoText,
screenTypeEnum: globalConfigurationsModel.screenTypeEnum,
), ),
if (tickets.length > 1) ...[ if (tickets.length > 1) ...[
// SizedBox(height: SizeConfig.getHeightMultiplier() * 0.8), // SizedBox(height: SizeConfig.getHeightMultiplier() * 0.8),
@ -43,7 +45,8 @@ class PriorityTickets extends StatelessWidget {
roomText: globalConfigurationsModel.roomText ?? "", roomText: globalConfigurationsModel.roomText ?? "",
isClinicAdded: false, isClinicAdded: false,
textDirection: globalConfigurationsModel.textDirection, textDirection: globalConfigurationsModel.textDirection,
message: "ZahoorWillAddThis", message: globalConfigurationsModel.ticketNoText,
screenTypeEnum: globalConfigurationsModel.screenTypeEnum,
), ),
), ),
) )

@ -1,6 +1,7 @@
import 'package:blinking_text/blinking_text.dart'; import 'package:blinking_text/blinking_text.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:hmg_qline/constants/app_constants.dart'; import 'package:hmg_qline/constants/app_constants.dart';
import 'package:hmg_qline/utilities/enums.dart';
import 'package:hmg_qline/views/common_widgets/app_texts_widget.dart'; import 'package:hmg_qline/views/common_widgets/app_texts_widget.dart';
import 'package:hmg_qline/views/view_helpers/size_config.dart'; import 'package:hmg_qline/views/view_helpers/size_config.dart';
@ -13,6 +14,7 @@ class TicketItem extends StatelessWidget {
final TextDirection textDirection; final TextDirection textDirection;
final String message; final String message;
final String roomText; final String roomText;
final ScreenTypeEnum screenTypeEnum;
const TicketItem({ const TicketItem({
super.key, super.key,
@ -23,6 +25,7 @@ class TicketItem extends StatelessWidget {
required this.textDirection, required this.textDirection,
required this.message, required this.message,
required this.roomText, required this.roomText,
required this.screenTypeEnum,
this.blink = false, this.blink = false,
}); });
@ -54,37 +57,39 @@ class TicketItem extends StatelessWidget {
times: 0, times: 0,
duration: const Duration(seconds: 1)), duration: const Duration(seconds: 1)),
const SizedBox(height: 20), const SizedBox(height: 20),
Directionality( screenTypeEnum == ScreenTypeEnum.roomLevelScreen
textDirection: textDirection, ? const SizedBox()
child: Row( : Directionality(
crossAxisAlignment: CrossAxisAlignment.end, textDirection: textDirection,
mainAxisAlignment: MainAxisAlignment.center, child: Row(
children: [ crossAxisAlignment: CrossAxisAlignment.end,
AppText( mainAxisAlignment: MainAxisAlignment.center,
message, children: [
color: AppColors.blackColor, AppText(
letterSpacing: -1, message,
fontSize: SizeConfig.getWidthMultiplier() * 3.8, color: AppColors.blackColor,
fontWeight: FontWeight.w600, letterSpacing: -1,
fontHeight: 1, fontSize: SizeConfig.getWidthMultiplier() * 3.8,
fontWeight: FontWeight.w600,
fontHeight: 1,
),
Container(
color: Colors.grey.withOpacity(0.5),
width: 5,
height: SizeConfig.getHeightMultiplier() * 0.3,
margin: const EdgeInsets.symmetric(horizontal: 15),
),
AppText(
textDirection == TextDirection.ltr ? "$roomText: $roomNo" : " $roomNo : $roomText",
color: AppColors.blackColor,
letterSpacing: -1,
fontSize: SizeConfig.getWidthMultiplier() * 3.8,
fontWeight: FontWeight.w600,
fontHeight: 1,
),
],
),
), ),
Container(
color: Colors.grey.withOpacity(0.5),
width: 5,
height: SizeConfig.getHeightMultiplier() * 0.3,
margin: const EdgeInsets.symmetric(horizontal: 15),
),
AppText(
textDirection == TextDirection.ltr ? "$roomText: $roomNo" : " $roomNo : $roomText",
color: AppColors.blackColor,
letterSpacing: -1,
fontSize: SizeConfig.getWidthMultiplier() * 3.8,
fontWeight: FontWeight.w600,
fontHeight: 1,
),
],
),
),
], ],
), ),
); );

@ -133,7 +133,8 @@ class MainQueueScreen extends StatelessWidget {
builder: (BuildContext context, ScreenConfigViewModel screenConfigViewModel, QueuingViewModel queuingViewModel, Widget? child) { builder: (BuildContext context, ScreenConfigViewModel screenConfigViewModel, QueuingViewModel queuingViewModel, Widget? child) {
Widget widget = const SizedBox(); Widget widget = const SizedBox();
// queuingViewModel.voiceCallTicket(ticketData: queuingViewModel.currentTickets.first.ticketModel); // queuingViewModel.voiceCallTicket(ticketData: queuingViewModel.currentTickets.first.ticketModel);
if (queuingViewModel.currentTickets.isEmpty) { if (queuingViewModel.currentTickets.isEmpty) {
screenConfigViewModel.createAutoTickets();
widget = noPatientInQueue(); widget = noPatientInQueue();
} else if (screenConfigViewModel.globalConfigurationsModel.screenTypeEnum == ScreenTypeEnum.roomLevelScreen) { } else if (screenConfigViewModel.globalConfigurationsModel.screenTypeEnum == ScreenTypeEnum.roomLevelScreen) {
widget = PriorityTickets( widget = PriorityTickets(

Loading…
Cancel
Save