notification testing done for all type of request on dev env.

design_3.0_task_module_new
WaseemAbbasi22 6 months ago
parent 06acdb184f
commit 0996801f66

@ -4,12 +4,12 @@ class URLs {
static const String appReleaseBuildNumber = "14";
// static const host1 = "https://atomsm.hmg.com"; // production url
// static const host1 = "https://atomsmdev.hmg.com"; // local DEV url
static const host1 = "https://atomsmuat.hmg.com"; // local UAT url
static const host1 = "https://atomsmdev.hmg.com"; // local DEV url
// static const host1 = "https://atomsmuat.hmg.com"; // local UAT url
// static String _baseUrl = "$_host/mobile";
// static final String _baseUrl = "$_host/v2/mobile"; // new V2 apis
static final String _baseUrl = "$_host/mobile"; // host local UAT
static final String _baseUrl = "$_host/v2/mobile"; // new V2 apis
// static final String _baseUrl = "$_host/mobile"; // host local UAT
// static final String _baseUrl = "$_host/v3/mobile"; // new V3 apis
static String _host = host1;

@ -1,4 +1,5 @@
import 'dart:convert';
import 'dart:developer';
import 'dart:io';
import 'package:firebase_messaging/firebase_messaging.dart';
@ -6,12 +7,17 @@ import 'package:flutter/material.dart';
import 'package:google_api_availability/google_api_availability.dart';
import 'package:huawei_push/huawei_push.dart' as h_push;
import 'package:test_sa/controllers/notification/notification_manger.dart';
import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/all_requests_and_count_model.dart';
import 'package:test_sa/models/device/device_transfer.dart';
import 'package:test_sa/models/new_models/gas_refill_model.dart';
import 'package:test_sa/modules/cm_module/views/service_request_detail_main_view.dart';
import 'package:test_sa/modules/pm_module/ppm_wo/ppm_details_page.dart';
import 'package:test_sa/modules/pm_module/recurrent_wo/recurrent_work_order_view.dart';
import 'package:test_sa/modules/tm_module/tasks_wo/task_request_detail_view.dart';
import 'package:test_sa/views/pages/device_transfer/device_transfer_details.dart';
import 'package:test_sa/views/pages/user/gas_refill/gas_refill_details.dart';
import 'package:test_sa/views/widgets/loaders/no_data_found.dart';
@pragma('vm:entry-point')
Future<void> firebaseMessagingBackgroundHandler(RemoteMessage message) async {}
@ -78,29 +84,68 @@ class FirebaseNotificationManger {
static void handleMessage(context, Map<String, dynamic> messageData) {
if (messageData["requestType"] != null && messageData["requestNumber"] != null) {
Widget? serviceClass;
if (messageData["requestType"] == "Service request to engineer") {
// PPM=1,
// ServiceRequestEngineer = 3,
// AssetTransfer=7,
// SparePartTransaction= 8,
// GasRefill=9,
// TechnicalRetirmentWO = 11,
// Recurrent = 12,
switch (messageData["transactionType"]) {
case 1:
serviceClass = PpmDetailsPage(requestId: int.parse(messageData["requestNumber"].toString()));
break;
//these three request are same corrective maintenance....
case 3:
serviceClass = ServiceRequestDetailMain(requestId: messageData["requestNumber"] ?? '');
break;
case 8:
serviceClass = ServiceRequestDetailMain(requestId: messageData["requestNumber"] ?? '');
} else if (messageData["requestType"] == "Gas Refill") {
break;
case 11:
serviceClass = ServiceRequestDetailMain(requestId: messageData["requestNumber"] ?? '');
break;
case 7:
serviceClass = DeviceTransferDetails(model: DeviceTransfer(id: int.parse(messageData["requestNumber"].toString())));
break;
case 9:
serviceClass = GasRefillDetailsPage(
priority: messageData["priority"],
date: messageData["createdOn"],
model: GasRefillModel(id: int.parse(messageData["requestNumber"].toString())),
);
} else if (messageData["requestType"] == "Asset Transfer") {
serviceClass = DeviceTransferDetails(model: DeviceTransfer(id: int.parse(messageData["requestNumber"].toString())));
} else if (messageData["requestType"] == "PPM") {
serviceClass = PpmDetailsPage(requestId: int.parse(messageData["requestNumber"].toString()));
}
break;
case 12:
serviceClass = RecurrentWorkOrderView(taskId: int.parse(messageData["requestNumber"].toString()));
//Didn't handle task request yet...
// case 6:
// serviceClass = TaskRequestDetailsView(
// taskId: int.parse(messageData["requestNumber"].toString()),
// requestDetails: RequestsDetails(nameOfType: messageData["sourceName"], status: messageData["statusName"], priority: messageData["priorityName"], date: messageData["createdDate"]));
// return;
default:
serviceClass = const Scaffold(body: Center(child: NoDataFound()));
}
// if (messageData["requestType"] == "Service request to engineer") {
// serviceClass = ServiceRequestDetailMain(requestId: messageData["requestNumber"] ?? '');
// } else if (messageData["requestType"] == "Gas Refill") {
// serviceClass = GasRefillDetailsPage(
// priority: messageData["priority"],
// date: messageData["createdOn"],
// model: GasRefillModel(id: int.parse(messageData["requestNumber"].toString())),
// );
// } else if (messageData["requestType"] == "Asset Transfer") {
// serviceClass = DeviceTransferDetails(model: DeviceTransfer(id: int.parse(messageData["requestNumber"].toString())));
// } else if (messageData["requestType"] == "PPM") {
// serviceClass = PpmDetailsPage(requestId: int.parse(messageData["requestNumber"].toString()));
// }
// else if (data["requestType"] == "WorkOrder") {
//
// }
if (serviceClass != null) {
Navigator.of(context).push(MaterialPageRoute(builder: (_) => serviceClass!));
}
}
}
static initialized(BuildContext context) async {
//TOD0 add platform check here also
@ -116,6 +161,7 @@ class FirebaseNotificationManger {
if (message is Map<String, dynamic>) {
Map<String, dynamic> remoteData = message;
remoteData = remoteData["extras"];
handleMessage(context, remoteData);
}
} catch (ex) {

@ -13,6 +13,7 @@ class SystemNotificationModel {
String? modifiedOn;
String? priorityName;
String? statusName;
int ? transactionType;
SystemNotificationModel(
{this.userId,
@ -28,6 +29,7 @@ class SystemNotificationModel {
this.createdOn,
this.modifiedOn,
this.priorityName,
this.transactionType,
this.statusName});
SystemNotificationModel.fromJson(Map<String, dynamic>? json) {
@ -48,6 +50,7 @@ class SystemNotificationModel {
modifiedOn = json['modifiedOn'];
priorityName = json['priorityName'];
statusName = json['statusName'];
transactionType = json['transactionType'];
}
}
@ -68,6 +71,7 @@ class SystemNotificationModel {
data['priorityName'] = priorityName;
data['priority'] = priorityName;
data['statusName'] = statusName;
data['transactionType'] = transactionType;
return data;
}
@ -87,6 +91,7 @@ class SystemNotificationModel {
data['modifiedOn'] = modifiedOn;
data['priorityName'] = priorityName;
data['statusName'] = statusName;
data['transactionType'] = transactionType;
return data;
}
}

@ -243,6 +243,8 @@ class ServiceRequestDetailProvider extends ChangeNotifier {
} else {
isReadOnlyRequest = false;
}
}else{
currentWorkOrder =null;
}
isLoading = false;
notifyListeners();

@ -12,6 +12,7 @@ import 'package:test_sa/modules/cm_module/service_request_detail_provider.dart';
import 'package:test_sa/modules/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart';
import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';
import 'package:test_sa/views/widgets/loaders/no_data_found.dart';
import 'components/history_log_view.dart';
import 'components/service_request_detail_view.dart';
@ -37,7 +38,7 @@ class _ServiceRequestDetailMainState extends State<ServiceRequestDetailMain> {
});
}
Future<void> getInitialData() async{
Future<void> getInitialData() async {
bool isNurse = (Provider.of<UserProvider>(context, listen: false).user?.type) == UsersTypes.normal_user;
_requestProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false);
await _requestProvider.getWorkOrderById(id: widget.requestId);
@ -136,8 +137,7 @@ class _ServiceRequestDetailMainState extends State<ServiceRequestDetailMain> {
).expanded,
],
),
),
),
)),
);
}
}

@ -9,6 +9,7 @@ import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/plan_preventive_visit/plan_preventive_visit_model.dart';
import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';
import 'package:test_sa/views/widgets/loaders/app_loading.dart';
import 'package:test_sa/views/widgets/loaders/no_data_found.dart';
import 'package:test_sa/views/widgets/requests/request_status.dart';
import '../../../../../controllers/providers/api/user_provider.dart';
@ -64,7 +65,7 @@ class _PpmDetailsPageState extends State<PpmDetailsPage> {
PlanPreventiveVisit? planPreventiveVisit = ppmProvider.planPreventiveVisit;
return ppmProvider.isLoading
? const ALoading()
: Column(children: [
:planPreventiveVisit!=null? Column(children: [
SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
@ -80,7 +81,7 @@ class _PpmDetailsPageState extends State<PpmDetailsPage> {
// if (planPreventiveVisit?.visitStatus != null) 8.width,
StatusLabel(
label: planPreventiveVisit?.visitStatus!.name!,
id: planPreventiveVisit!.visitStatus!.id!,
id: planPreventiveVisit?.visitStatus?.id??0,
textColor: AppColor.getRequestStatusTextColorByName(context, planPreventiveVisit.visitStatus!.name!),
backgroundColor: AppColor.getRequestStatusColorByName(context, planPreventiveVisit.visitStatus!.name!),
),
@ -124,7 +125,7 @@ class _PpmDetailsPageState extends State<PpmDetailsPage> {
label: context.translation.viewDetails,
).paddingAll(16)
]
]);
]):const Center(child: NoDataFound());
}),
),
);

@ -13,6 +13,7 @@ import 'package:test_sa/views/pages/device_transfer/update_device_transfer.dart'
import 'package:test_sa/views/widgets/images/files_list.dart';
import 'package:test_sa/views/widgets/loaders/app_loading.dart';
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
import 'package:test_sa/views/widgets/loaders/no_data_found.dart';
import '../../../extensions/text_extensions.dart';
import '../../../models/enums/user_types.dart';
import '../../../new_views/app_style/app_color.dart';
@ -57,7 +58,8 @@ class _DeviceTransferDetailsState extends State<DeviceTransferDetails> {
} else {
_model = snapshot.data as DeviceTransfer?;
_attachments = _model?.assetTransferAttachments?.map((e) => File(e.attachmentName ?? '')).toList() ?? [];
return Form(
return _model != null
? Form(
key: _formKey,
child: LoadingManager(
isLoading: _isLoading,
@ -181,6 +183,9 @@ class _DeviceTransferDetailsState extends State<DeviceTransferDetails> {
).paddingAll(16),
),
),
)
: const Center(
child: NoDataFound(),
);
}
},

@ -4,7 +4,7 @@ import 'package:test_sa/extensions/text_extensions.dart';
class StatusLabel extends StatelessWidget {
String? label;
final int id;
final int? id;
final Color? backgroundColor;
final Color? textColor;
final bool isPriority;

Loading…
Cancel
Save