From 5348bc81eb61b2c54a1a649778e73c0f2c84fdd0 Mon Sep 17 00:00:00 2001 From: Sikander Saleem Date: Mon, 15 Jul 2024 10:37:54 +0300 Subject: [PATCH] sub work order improvements. --- android/app/build.gradle | 4 ++-- .../api/service_requests_provider.dart | 5 ++--- .../supp_engineer_work_orders.dart | 2 +- .../service_request/supplier_details.dart | 2 +- .../create_sub_workorder_page.dart | 18 ++++++++++-------- pubspec.yaml | 2 +- 6 files changed, 17 insertions(+), 16 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 8823813..f8bdb9f 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -49,8 +49,8 @@ android { // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration. minSdkVersion 21 targetSdkVersion 34 - versionCode 7 - versionName '1.2.0' + versionCode 8 + versionName '1.2.1' } signingConfigs { diff --git a/lib/controllers/providers/api/service_requests_provider.dart b/lib/controllers/providers/api/service_requests_provider.dart index c0a1b28..f80584b 100644 --- a/lib/controllers/providers/api/service_requests_provider.dart +++ b/lib/controllers/providers/api/service_requests_provider.dart @@ -372,11 +372,10 @@ class ServiceRequestsProvider extends ChangeNotifier { } } - Future createSubWorkOrder({ - @required SearchWorkOrder workOrder, - }) async { + Future createSubWorkOrder({@required SearchWorkOrder workOrder, bool makeSuppPersonsEmpty = false}) async { Response response; try { + if (makeSuppPersonsEmpty) workOrder.supplier.suppPersons = []; Map body = workOrder.toJson(); response = await ApiManager.instance.post(URLs.createServiceReport, body: body); stateCode = response.statusCode; diff --git a/lib/models/service_request/supp_engineer_work_orders.dart b/lib/models/service_request/supp_engineer_work_orders.dart index dfa20d0..ebe3e71 100644 --- a/lib/models/service_request/supp_engineer_work_orders.dart +++ b/lib/models/service_request/supp_engineer_work_orders.dart @@ -14,7 +14,7 @@ class SuppEngineerWorkOrders extends Base { SuppEngineerWorkOrders.fromJson(dynamic json) { id = json['id']; identifier = id?.toString(); - supplierContactId = json['supplierContactId']; + supplierContactId = json['supplierContactId'] ?? json["supplierId"]; personName = json['personName']; name = personName; personRoleName = json['personRoleName']; diff --git a/lib/models/service_request/supplier_details.dart b/lib/models/service_request/supplier_details.dart index 3723daa..7002d34 100644 --- a/lib/models/service_request/supplier_details.dart +++ b/lib/models/service_request/supplier_details.dart @@ -234,7 +234,7 @@ class SuppPersons extends Base { SuppPersons.fromJson(dynamic json) { id = json['id']; identifier = id?.toString(); - supplierId = json['supplierId']; + supplierId = json['supplierId'] ?? json["supplierContactId"]; personName = json['personName']; name = personName; personRoleId = json['personRoleId']; diff --git a/lib/views/pages/sub_workorder/create_sub_workorder_page.dart b/lib/views/pages/sub_workorder/create_sub_workorder_page.dart index 4f9143f..2e1ccef 100644 --- a/lib/views/pages/sub_workorder/create_sub_workorder_page.dart +++ b/lib/views/pages/sub_workorder/create_sub_workorder_page.dart @@ -341,7 +341,6 @@ class _CreateSubWorkOrderPageState extends State { print(suppPerson?.toJson()); if (suppPerson != null) { engineer = SuppEngineerWorkOrders.fromJson(suppPerson.toJson()); - // engineer = SuppEngineerWorkOrders( // id: suppPerson?.supplierId, // supplierContactId: suppPerson?.id, @@ -378,9 +377,7 @@ class _CreateSubWorkOrderPageState extends State { builder: (context) => AddSupplierEngineerBottomSheet(_subWorkOrders.supplier.id), )) as SuppEngineerWorkOrders; if (suppEngineer != null) { - if (_subWorkOrders?.supplier?.suppPersons == null) { - _subWorkOrders?.supplier?.suppPersons = []; - } + _subWorkOrders?.supplier?.suppPersons ??= []; _subWorkOrders?.supplier?.suppPersons?.add(SuppPersons.fromJson(suppEngineer.toJson())); engineer = suppEngineer; setState(() {}); @@ -553,8 +550,11 @@ class _CreateSubWorkOrderPageState extends State { label: context.translation.submitRequest, onPressed: () async { setState(() {}); - _subWorkOrders.suppEngineerWorkOrders ?? []; - if (engineer != null) _subWorkOrders.suppEngineerWorkOrders.add(engineer..id = 0); + _subWorkOrders.suppEngineerWorkOrders = []; + if (engineer != null) { + _subWorkOrders.suppEngineerWorkOrders.add(engineer); + } + // return; if (await validate()) { _subWorkOrders.attachmentsWorkOrder ??= []; for (var file in _files) { @@ -564,12 +564,14 @@ class _CreateSubWorkOrderPageState extends State { _formKey.currentState?.save(); final serviceRequestsProvider = Provider.of(context, listen: false); for (var element in (_subWorkOrders?.suppEngineerWorkOrders ?? [])) { - if (element != null) { + if (element != null && element.id != 0) { + element.supplierContactId = element.id; element.id = 0; } } + showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading()); - final status = await serviceRequestsProvider.createSubWorkOrder(workOrder: _subWorkOrders); + final status = await serviceRequestsProvider.createSubWorkOrder(workOrder: _subWorkOrders, makeSuppPersonsEmpty: true); Navigator.of(context).pop(); if (status >= 200 && status < 300) { Fluttertoast.showToast(msg: context.translation.successfulRequestMessage); diff --git a/pubspec.yaml b/pubspec.yaml index 79802f6..c20a5a3 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -112,7 +112,7 @@ flutter: - assets/rives/ - assets/translations/ fonts: - - family: Swissaq + - family: Swiss fonts: - asset: assets/fonts/Gotham_Rounded_Light.otf weight: 300