Update to stores VersionID 9.4, VIDA 4 episode changes

flutter_3.16.0_zoom^2
haroon amjad 1 year ago
parent ed50e72426
commit b8ae0cf7d0

@ -59,7 +59,7 @@ android {
buildTypes { buildTypes {
release { release {
// TODO: Add your own signing config for the release build. // TODO: Add your own signing config for the release build.
signingConfig signingConfigs.debug signingConfig signingConfigs.release
} }
debug { debug {

@ -27,6 +27,19 @@ rootProject.buildDir = '../build'
subprojects { subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}" project.buildDir = "${rootProject.buildDir}/${project.name}"
} }
subprojects {
afterEvaluate { project ->
if (project.plugins.hasPlugin("com.android.application") ||
project.plugins.hasPlugin("com.android.library")) {
project.android {
compileSdkVersion 34
buildToolsVersion "34.0.0"
}
}
}
}
// to here
subprojects { subprojects {
project.evaluationDependsOn(':app') project.evaluationDependsOn(':app')
} }

@ -4,7 +4,7 @@ import OpenTok
// Created by Mohammad Aljammal & Elham Rababah on 24/06/20. // Created by Mohammad Aljammal & Elham Rababah on 24/06/20.
// Copyright © 2020 Cloud. All rights reserved. // Copyright © 2020 Cloud. All rights reserved.
@UIApplicationMain @main
@objc class AppDelegate: FlutterAppDelegate ,ICallProtocol { @objc class AppDelegate: FlutterAppDelegate ,ICallProtocol {
var result: FlutterResult? var result: FlutterResult?

@ -7,9 +7,9 @@ const ONLY_DATE = "[0-9/]";
const BASE_URL_LIVE_CARE = 'https://livecare.hmg.com/'; const BASE_URL_LIVE_CARE = 'https://livecare.hmg.com/';
const DOCTOR_ROTATION = 'https://doctorrota.hmg.com/'; const DOCTOR_ROTATION = 'https://doctorrota.hmg.com/';
// const BASE_URL_LIVE_CARE = 'https://livecareuat.hmg.com/'; // const BASE_URL_LIVE_CARE = 'https://livecareuat.hmg.com/';
// const BASE_URL = 'https://hmgwebservices.com/'; const BASE_URL = 'https://hmgwebservices.com/';
const BASE_URL = 'https://uat.hmgwebservices.com/'; // const BASE_URL = 'https://uat.hmgwebservices.com/';
// const BASE_URL = 'https://webservices.hmg.com/'; // const BASE_URL = 'https://webservices.hmg.com/';
@ -399,7 +399,7 @@ const TRANSACTION_NO = 0;
const LANGUAGE_ID = 2; const LANGUAGE_ID = 2;
const STAMP = '2020-04-27T12:17:17.721Z'; const STAMP = '2020-04-27T12:17:17.721Z';
const IP_ADDRESS = '9.9.9.9'; const IP_ADDRESS = '9.9.9.9';
const VERSION_ID = 9.3; const VERSION_ID = 9.4;
const CHANNEL = 9; const CHANNEL = 9;
const SESSION_ID = 'BlUSkYymTt'; const SESSION_ID = 'BlUSkYymTt';
const IS_LOGIN_FOR_DOCTOR_APP = true; const IS_LOGIN_FOR_DOCTOR_APP = true;

@ -37,8 +37,12 @@ class ProjectViewModel with ChangeNotifier {
List<VidaPlusProjectListModel> _vidaPlusProjectListModel = []; List<VidaPlusProjectListModel> _vidaPlusProjectListModel = [];
List<VidaPlusProjectListModel> _vidaPlusInPatientsProjectListModel = [];
List<VidaPlusProjectListModel> get vidaPlusProjectList => _vidaPlusProjectListModel; List<VidaPlusProjectListModel> get vidaPlusProjectList => _vidaPlusProjectListModel;
List<VidaPlusProjectListModel> get vidaPlusInPatientsProjectListModel => _vidaPlusInPatientsProjectListModel;
ProjectViewModel() { ProjectViewModel() {
loadSharedPrefLanguage(); loadSharedPrefLanguage();
@ -63,6 +67,11 @@ class ProjectViewModel with ChangeNotifier {
notifyListeners(); notifyListeners();
} }
setVidaPlusInPatientProjectList(List<VidaPlusProjectListModel> vidaPlusInPatientProjectListModelInput) {
_vidaPlusInPatientsProjectListModel = vidaPlusInPatientProjectListModelInput;
notifyListeners();
}
void loadSharedPrefLanguage() async { void loadSharedPrefLanguage() async {
currentLanguage = await sharedPref.getString(APP_Language); currentLanguage = await sharedPref.getString(APP_Language);
_appLocale = Locale(currentLanguage ?? 'en'); _appLocale = Locale(currentLanguage ?? 'en');
@ -117,6 +126,15 @@ class ProjectViewModel with ChangeNotifier {
}); });
setVidaPlusProjectList(_vidaPlusProjectListModel); setVidaPlusProjectList(_vidaPlusProjectListModel);
} }
_vidaPlusInPatientsProjectListModel.clear();
if (response['ProjectListHMCForDoctorAppInPatient'].length != 0) {
response['ProjectListHMCForDoctorAppInPatient'].forEach((item) {
_vidaPlusInPatientsProjectListModel.add(VidaPlusProjectListModel.fromJson(item));
});
setVidaPlusInPatientProjectList(_vidaPlusInPatientsProjectListModel);
}
localRes = response; localRes = response;
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
throw error; throw error;

@ -289,7 +289,7 @@ class _HomeScreenState extends State<HomeScreen> {
List<Widget> homePatientsCardsWidget(DashboardViewModel model, projectsProvider) { List<Widget> homePatientsCardsWidget(DashboardViewModel model, projectsProvider) {
colorIndex = 0; colorIndex = 0;
List<LinearGradient> backgroundColors =[]; List<LinearGradient> backgroundColors = [];
backgroundColors.add(LinearGradient(begin: Alignment(-1.0, -2.0), end: Alignment(1.0, 2.0), colors: [ backgroundColors.add(LinearGradient(begin: Alignment(-1.0, -2.0), end: Alignment(1.0, 2.0), colors: [
AppGlobal.appRedColor, AppGlobal.appRedColor,
Color(0xFFAD3B3B), Color(0xFFAD3B3B),
@ -301,9 +301,9 @@ class _HomeScreenState extends State<HomeScreen> {
backgroundColors.add(LinearGradient(begin: Alignment.center, end: Alignment.center, colors: [Color(0xFF71787E), AppGlobal.appTextColor])); backgroundColors.add(LinearGradient(begin: Alignment.center, end: Alignment.center, colors: [Color(0xFF71787E), AppGlobal.appTextColor]));
List<Color> backgroundIconColors = []; List<Color> backgroundIconColors = [];
backgroundIconColors.add(Colors.white12); backgroundIconColors.add(Colors.white12);
backgroundIconColors.add( Colors.white38); backgroundIconColors.add(Colors.white38);
backgroundIconColors.add(Colors.white10); backgroundIconColors.add(Colors.white10);
List<Color> textColors =[]; List<Color> textColors = [];
textColors.add(Colors.white); textColors.add(Colors.white);
textColors.add(Color(0xFF353E47)); textColors.add(Color(0xFF353E47));
textColors.add(Colors.white); textColors.add(Colors.white);
@ -364,24 +364,28 @@ class _HomeScreenState extends State<HomeScreen> {
)); ));
changeColorIndex(); changeColorIndex();
patientCards.add(HomePatientCard( if (!Utils.isVidaPlusInPatientProject(projectsProvider, model.doctorProfile!.projectID!)) {
gradient: backgroundColors[colorIndex], patientCards.add(HomePatientCard(
backgroundIconColor: backgroundIconColors[colorIndex], gradient: backgroundColors[colorIndex],
cardIcon: DoctorApp.inpatient, backgroundIconColor: backgroundIconColors[colorIndex],
textColor: textColors[colorIndex], cardIcon: DoctorApp.inpatient,
text: TranslationBase.of(context).myInPatient, textColor: textColors[colorIndex],
onTap: () { text: TranslationBase
Navigator.push( .of(context)
context, .myInPatient,
FadePage( onTap: () {
page: InPatientScreen( Navigator.push(
specialClinic: model.getSpecialClinic(clinicId ?? projectsProvider.doctorClinicsList[0].clinicID), context,
FadePage(
page: InPatientScreen(
specialClinic: model.getSpecialClinic(clinicId ?? projectsProvider.doctorClinicsList[0].clinicID),
),
), ),
), );
); },
}, ));
)); changeColorIndex();
changeColorIndex(); }
//TODO Keep commented //TODO Keep commented
// patientCards.add(HomePatientCard( // patientCards.add(HomePatientCard(
// gradient: backgroundColors[colorIndex], // gradient: backgroundColors[colorIndex],

@ -39,16 +39,10 @@ class ProcedureScreen extends StatelessWidget {
bool isInpatient = routeArgs['isInpatient']; bool isInpatient = routeArgs['isInpatient'];
return BaseView<ProcedureViewModel>( return BaseView<ProcedureViewModel>(
onModelReady: (model) { onModelReady: (model) {
model.getProcedure( model.getProcedure(mrn: patient.patientId, patientType: patientType, appointmentNo: patient.appointmentNo);
mrn: patient.patientId,
patientType: patientType,
appointmentNo: patient.appointmentNo);
model.isPrincipalCovered(patient: patient); model.isPrincipalCovered(patient: patient);
}, },
builder: (BuildContext context, ProcedureViewModel model, Widget? child) => AppScaffold(
builder: (BuildContext context, ProcedureViewModel model, Widget? child) =>
AppScaffold(
isShowAppBar: true, isShowAppBar: true,
backgroundColor: Colors.grey[100]!, backgroundColor: Colors.grey[100]!,
baseViewModel: model, baseViewModel: model,
@ -64,23 +58,16 @@ class ProcedureScreen extends StatelessWidget {
SizedBox( SizedBox(
height: 12, height: 12,
), ),
if ((model.procedureList.length == 0 && if ((model.procedureList.length == 0 && patient.patientStatusType != 43) || patient.patientStatusType != null && patient.patientStatusType == 43)
patient.patientStatusType != 43) ||
patient.patientStatusType != null &&
patient.patientStatusType == 43)
ServiceTitle( ServiceTitle(
title: TranslationBase.of(context).orderTestOr, title: TranslationBase.of(context).orderTestOr,
subTitle: TranslationBase.of(context).procedure, subTitle: TranslationBase.of(context).procedure,
), ),
if ((patient.patientStatusType != null && if ((patient.patientStatusType != null && patient.patientStatusType == 43) || (isFromLiveCare && patient.appointmentNo != null))
patient.patientStatusType == 43) ||
(isFromLiveCare && patient.appointmentNo != null))
AddNewOrder( AddNewOrder(
onTap: () async { onTap: () async {
GifLoaderDialogUtils.showMyDialog(context); GifLoaderDialogUtils.showMyDialog(context);
await model.getProcedureTemplate( await model.getProcedureTemplate(categoryID: ProcedureType.PROCEDURE.getCategoryId(), isLocalBusy: true);
categoryID: ProcedureType.PROCEDURE.getCategoryId(),
isLocalBusy: true);
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
Navigator.push( Navigator.push(
@ -96,9 +83,17 @@ class ProcedureScreen extends StatelessWidget {
}, },
label: TranslationBase.of(context).addMoreProcedure, label: TranslationBase.of(context).addMoreProcedure,
), ),
!model.isPrincipalCovered_
!model.isPrincipalCovered_ ? Center(child: AppText(TranslationBase.of(context).principalCoveredOrNot,color: Colors.red, textAlign: TextAlign.center, )) :SizedBox(), ? Center(
SizedBox(height: 20,), child: AppText(
TranslationBase.of(context).principalCoveredOrNot,
color: Colors.red,
textAlign: TextAlign.center,
))
: SizedBox(),
SizedBox(
height: 20,
),
if (model.procedureList.isNotEmpty) if (model.procedureList.isNotEmpty)
ListView.builder( ListView.builder(
scrollDirection: Axis.vertical, scrollDirection: Axis.vertical,
@ -107,45 +102,28 @@ class ProcedureScreen extends StatelessWidget {
physics: BouncingScrollPhysics(), physics: BouncingScrollPhysics(),
itemBuilder: (BuildContext ctxt, int index) { itemBuilder: (BuildContext ctxt, int index) {
return ProcedureCard( return ProcedureCard(
categoryID: model categoryID: model.procedureList[0].entityList![index].categoryID,
.procedureList[0].entityList![index].categoryID,
entityList: model.procedureList[0].entityList![index], entityList: model.procedureList[0].entityList![index],
onTap: () { onTap: () {
if (model.procedureList[0].entityList![index] if (model.procedureList[0].entityList![index].categoryID == 2 || model.procedureList[0].entityList![index].categoryID == 4)
.categoryID ==
2 ||
model.procedureList[0].entityList![index]
.categoryID ==
4)
updateProcedureForm( updateProcedureForm(
context, context,
model: model, model: model,
patient: patient, patient: patient,
remarks: model.procedureList[0] remarks: model.procedureList[0].entityList![index].remarks!,
.entityList![index].remarks!, orderType: model.procedureList[0].entityList![index].orderType.toString(),
orderType: model.procedureList[0] orderNo: model.procedureList[0].entityList![index].orderNo!,
.entityList![index].orderType procedureName: model.procedureList[0].entityList![index].procedureName!,
.toString(), categoreId: model.procedureList[0].entityList![index].categoryID.toString(),
orderNo: model.procedureList[0] procedureId: model.procedureList[0].entityList![index].procedureId!,
.entityList![index].orderNo!, limetNo: model.procedureList[0].entityList![index].lineItemNo!,
procedureName: model.procedureList[0]
.entityList![index].procedureName!,
categoreId: model.procedureList[0]
.entityList![index].categoryID
.toString(),
procedureId: model.procedureList[0]
.entityList![index].procedureId!,
limetNo: model.procedureList[0]
.entityList![index].lineItemNo!,
); );
}, },
patient: patient, patient: patient,
doctorID: model.doctorProfile?.doctorID, doctorID: model.doctorProfile?.doctorID,
); );
}), }),
if (model.state == ViewState.ErrorLocal || if (model.state == ViewState.ErrorLocal || (model.procedureList.isNotEmpty && model.procedureList[0].entityList!.isEmpty))
(model.procedureList.isNotEmpty &&
model.procedureList[0].entityList!.isEmpty))
Center( Center(
child: ErrorMessage( child: ErrorMessage(
error: TranslationBase.of(context).noDataAvailable, error: TranslationBase.of(context).noDataAvailable,

@ -349,4 +349,14 @@ class Utils {
}); });
return isVidaPlus; return isVidaPlus;
} }
static bool isVidaPlusInPatientProject(ProjectViewModel projectViewModel, int projectID) {
bool isVidaPlusInPatientProject = false;
projectViewModel.vidaPlusInPatientsProjectListModel.forEach((element) {
if (element.projectID == projectID) {
isVidaPlusInPatientProject = true;
}
});
return isVidaPlusInPatientProject;
}
} }

@ -11,7 +11,7 @@ description: A new Flutter project.
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at # Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.4.16+1 version: 1.4.17+1
environment: environment:
@ -57,7 +57,7 @@ dependencies:
barcode_scan2: ^4.3.0 barcode_scan2: ^4.3.0
# permissions # permissions
permission_handler: ^11.1.0 permission_handler: ^11.1.0
device_info: ^2.0.2 # device_info: ^2.0.2
# The following adds the Cupertino Icons font to your application. # The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons. # Use with the CupertinoIcons class for iOS style icons.

Loading…
Cancel
Save