activity status on sparepart activity and last situation in maintenance request added

design_3.0_latest
muhammad.abbasi 1 year ago
parent 0d2e8d63b7
commit f6b3c82fb3

@ -255,6 +255,7 @@
"askOtpDetail": "اطلب رمز OTP من مقدم الطلب للتحقق من وصولك",
"takeDevicePhoto": "التقط صورة للجهاز",
"takeDevicePhotoDetail": "التقط صورة الجهاز من الموقع",
"lastSituationStatus": "حالة الوضع الأخير",
"assetNumber": "رقم الاصل",
"assetDetail": "تفاصيل الأصل",
"requestDetail": "تفاصيل الطلب",

@ -340,6 +340,7 @@
"askOtpDetail": "Ask OTP from requester to verify you arrival",
"takeDevicePhoto": "Take Device Photo",
"takeDevicePhotoDetail": "Take the photo of the device from location",
"lastSituationStatus": "Last Situation Status",
"priority" : "Request Priority",
"equipmentStatus" : "Equipment Status",
"jopStatus" : "Jop Status",

@ -1,5 +1,4 @@
import 'dart:io';
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
@ -48,6 +47,7 @@ import 'package:test_sa/providers/ppm_visit_status_provider.dart';
import 'package:test_sa/providers/service_request_providers/commissioning_status_provider.dart';
import 'package:test_sa/providers/service_request_providers/equipment_status_provider.dart';
import 'package:test_sa/providers/service_request_providers/first_action_provider.dart';
import 'package:test_sa/providers/service_request_providers/last_situation_provider.dart';
import 'package:test_sa/providers/service_request_providers/priority_provider.dart';
import 'package:test_sa/providers/service_request_providers/requested_through_provider.dart';
import 'package:test_sa/providers/service_request_providers/type_of_request_provider.dart';
@ -206,6 +206,7 @@ class MyApp extends StatelessWidget {
ChangeNotifierProvider(create: (_) => LoanAvailabilityProvider()),
ChangeNotifierProvider(create: (_) => ReasonProvider()),
ChangeNotifierProvider(create: (_) => RejectReasonProvider()),
ChangeNotifierProvider(create: (_) => LastSituationProvider()),
ChangeNotifierProvider(create: (_) => FaultDescriptionProvider()),
ChangeNotifierProvider(create: (_) => RetirementTypeProvider()),
ChangeNotifierProvider(create: (_) => ActivityStatusProvider()),

@ -9,6 +9,7 @@ class ActivityMaintenanceHelperModel {
int? id;
int? workOrderId;
int? lastSituationId;
Lookup? lastSituation;
Lookup? activityStatus;
DateTime? startTime;
DateTime? endTime;
@ -33,6 +34,7 @@ class ActivityMaintenanceHelperModel {
{this.id,
this.workOrderId,
this.lastSituationId,
this.lastSituation,
this.activityStatus,
this.startTime,
this.supplier,
@ -57,7 +59,7 @@ class ActivityMaintenanceHelperModel {
final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = id;
data['workOrderId'] = workOrderId;
data['lastSituationId'] = lastSituationId;
data['activityStatusId'] = activityStatus?.id;
data['startTime'] = startTime?.toIso8601String();
data['endTime'] = endTime?.toIso8601String();
@ -71,7 +73,9 @@ class ActivityMaintenanceHelperModel {
data['supplierStartTime'] = supplierStartTime?.toIso8601String();
data['supplierEndTime'] = supplierEndTime?.toIso8601String();
data['supplierWorkingHour'] = supplierWorkingHour;
print('model i got is ${modelAssistantEmployees?.toJson()}');
if(lastSituation!=null){
data['lastSituationId'] = lastSituation?.id;
}
if (assignedEmployee != null&&assignedEmployee?.userId!=null) {
data['assistantEmployees'] = [modelAssistantEmployees?.toJson()];
}

@ -0,0 +1,36 @@
import 'dart:convert';
import 'package:http/http.dart';
import 'package:test_sa/providers/loading_list_notifier.dart';
import '../../controllers/api_routes/api_manager.dart';
import '../../controllers/api_routes/urls.dart';
import '../../models/lookup.dart';
class LastSituationProvider extends LoadingListNotifier<Lookup> {
@override
Future getDate() async {
if (loading == true) return -2;
loading = true;
notifyListeners();
loading = true;
notifyListeners();
try {
Response response = await ApiManager.instance.get(URLs.getMaintenanceSituation);
stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
// client's request was successfully received
List categoriesListJson = json.decode(response.body)["data"];
items = categoriesListJson.map((item) => Lookup.fromJson(item)).toList();
}
loading = false;
notifyListeners();
return response.statusCode;
} catch (error) {
loading = false;
stateCode = -1;
notifyListeners();
return -1;
}
}
}

@ -9,7 +9,6 @@ import '../../models/lookup.dart';
class RejectReasonProvider extends LoadingListNotifier<Lookup> {
@override
Future getDate() async {
if (loading == true) return -2;

@ -350,6 +350,7 @@ class _ActivitiesListViewState extends State<ActivitiesListView> {
workingHour: activity.activityMaintenance?.workingHours ?? 0,
travelHours: activity.activityMaintenance?.travelHours ?? 0,
repairLocation: activity.activityMaintenance?.repairLocation,
lastSituation: activity.activityMaintenance?.lastSituation,
assignedEmployee: activity.activityMaintenance?.assignedEmployee != null ? WorkOrderAssignedEmployee.fromJson(activity.activityMaintenance!.assignedEmployee!.toJson()) : null,
technicalComment: activity.activityMaintenance?.technicalComment,
assistantEmployees:

@ -14,6 +14,7 @@ import 'package:test_sa/models/service_request/service_report.dart';
import 'package:test_sa/models/service_request/service_request.dart';
import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
import 'package:test_sa/providers/service_request_providers/last_situation_provider.dart';
import 'package:test_sa/providers/work_order/activity_status_provider.dart';
import 'package:test_sa/service_request_latest/request_detail_provider.dart';
import 'package:test_sa/service_request_latest/views/components/action_button/footer_action_button.dart';
@ -52,11 +53,8 @@ class _InternalMaintenanceRequestState extends State<InternalMaintenanceRequest>
void initState() {
_activityStatusProvider = Provider.of<ActivityStatusProvider>(context, listen: false);
_requestDetailProvider = Provider.of<RequestDetailProvider>(context, listen: false);
_requestDetailProvider?.activityMaintenanceHelperModel?.lastSituationId = _requestDetailProvider?.currentWorkOrder?.data?.status?.id;
super.initState();
WidgetsBinding.instance.addPostFrameCallback((_) {
_travellingHoursController.text =
_requestDetailProvider?.activityMaintenanceHelperModel?.travelHours != null ? _requestDetailProvider!.activityMaintenanceHelperModel!.travelHours.toString() : '';
});
@ -94,6 +92,20 @@ class _InternalMaintenanceRequestState extends State<InternalMaintenanceRequest>
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
SingleItemDropDownMenu<Lookup, LastSituationProvider>(
context: context,
height: 56.toScreenHeight,
title: context.translation.lastSituationStatus,
showShadow: false,
backgroundColor: AppColor.neutral100,
showAsBottomSheet: true,
initialValue: requestDetailProvider.activityMaintenanceHelperModel?.lastSituation,
onSelect: (status) {
requestDetailProvider.activityMaintenanceHelperModel?.lastSituation = status;
setState(() {});
},
),
8.height,
SingleItemDropDownMenu<Lookup, ActivityStatusProvider>(
context: context,
height: 56.toScreenHeight,

Loading…
Cancel
Save