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,
"patientID": 123456905,
"isVip": false,
"orderNo":"123"
"isVidaPlus": false,
"createdBy": 101,
"apiKey": "EE17D21C7943485D9780223CCE55DCE5"

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

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

@ -74,7 +74,6 @@ class TicketData {
this.editedOn});
TicketData.fromJson(Map<String, dynamic> json) {
log("typoe: ${json['preferredLang'].runtimeType}");
id = json['id'];
patientID = json['patientID'];
laBQGroupID = json['laB_QGroupID'];
@ -86,7 +85,7 @@ class TicketData {
patientName = json['patientName'];
mobileNo = json['mobileNo'];
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;
roomNo = json['roomNo'].toString();
isActive = json['isActive'];

@ -11,6 +11,8 @@ import 'package:hmg_qline/views/view_helpers/info_components.dart';
abstract class ScreenDetailsRepo {
Future<GlobalConfigurationsModel?> getGlobalScreenConfigurations({required String ipAddress});
Future<GenericRespModel?> createNextTickets({required int ticketNumber});
Future<WidgetsConfigModel?> getScreenConfigurationsByIP({required String ipAddress});
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
Future<WidgetsConfigModel?> getScreenConfigurationsByIP({required String ipAddress}) async {
try {

@ -3,6 +3,7 @@ import 'dart:developer';
import 'package:flutter/cupertino.dart';
import 'package:hmg_qline/config/dependency_injection.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/prayers_widget_model.dart';
import 'package:hmg_qline/models/rss_feed_model.dart';
@ -267,4 +268,18 @@ class ScreenConfigViewModel extends ChangeNotifier {
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,
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(
children: [
InkWell(

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

@ -1,6 +1,7 @@
import 'package:blinking_text/blinking_text.dart';
import 'package:flutter/material.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/view_helpers/size_config.dart';
@ -13,6 +14,7 @@ class TicketItem extends StatelessWidget {
final TextDirection textDirection;
final String message;
final String roomText;
final ScreenTypeEnum screenTypeEnum;
const TicketItem({
super.key,
@ -23,6 +25,7 @@ class TicketItem extends StatelessWidget {
required this.textDirection,
required this.message,
required this.roomText,
required this.screenTypeEnum,
this.blink = false,
});
@ -54,37 +57,39 @@ class TicketItem extends StatelessWidget {
times: 0,
duration: const Duration(seconds: 1)),
const SizedBox(height: 20),
Directionality(
textDirection: textDirection,
child: Row(
crossAxisAlignment: CrossAxisAlignment.end,
mainAxisAlignment: MainAxisAlignment.center,
children: [
AppText(
message,
color: AppColors.blackColor,
letterSpacing: -1,
fontSize: SizeConfig.getWidthMultiplier() * 3.8,
fontWeight: FontWeight.w600,
fontHeight: 1,
screenTypeEnum == ScreenTypeEnum.roomLevelScreen
? const SizedBox()
: Directionality(
textDirection: textDirection,
child: Row(
crossAxisAlignment: CrossAxisAlignment.end,
mainAxisAlignment: MainAxisAlignment.center,
children: [
AppText(
message,
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,
),
],
),
),
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) {
Widget widget = const SizedBox();
// queuingViewModel.voiceCallTicket(ticketData: queuingViewModel.currentTickets.first.ticketModel);
if (queuingViewModel.currentTickets.isEmpty) {
if (queuingViewModel.currentTickets.isEmpty) {
screenConfigViewModel.createAutoTickets();
widget = noPatientInQueue();
} else if (screenConfigViewModel.globalConfigurationsModel.screenTypeEnum == ScreenTypeEnum.roomLevelScreen) {
widget = PriorityTickets(

Loading…
Cancel
Save