diff --git a/assets/subtitles/ar_subtitle.json b/assets/subtitles/ar_subtitle.json
index ada5f900..b4294845 100644
--- a/assets/subtitles/ar_subtitle.json
+++ b/assets/subtitles/ar_subtitle.json
@@ -188,5 +188,7 @@
"alert": "تنبيه",
"duplicateAlert": "تنبيه التكرار",
"duplicateAlertMessage": "هل أنت متأكد أنك تريد تكرار الطلب؟",
- "duplicateRequest": "تكرار الطلب"
+ "duplicateRequest": "تكرار الطلب",
+ "comment" : "تعليق",
+ "updateServiceRequest" : "تعديل طلب الخدمة"
}
\ No newline at end of file
diff --git a/assets/subtitles/en_subtitle.json b/assets/subtitles/en_subtitle.json
index 2ce29fb9..3045e66e 100644
--- a/assets/subtitles/en_subtitle.json
+++ b/assets/subtitles/en_subtitle.json
@@ -188,5 +188,7 @@
"alert": "Alert",
"duplicateAlert": "Duplicate Alert",
"duplicateAlertMessage": "Are you sure you want to duplicate request?",
- "duplicateRequest": "Duplicate Request"
+ "duplicateRequest": "Duplicate Request",
+ "comment" : "Comment",
+ "updateServiceRequest" : "Update Service Request"
}
\ No newline at end of file
diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj
index a5559bc2..5116f0d6 100644
--- a/ios/Runner.xcodeproj/project.pbxproj
+++ b/ios/Runner.xcodeproj/project.pbxproj
@@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
- objectVersion = 51;
+ objectVersion = 54;
objects = {
/* Begin PBXBuildFile section */
@@ -227,6 +227,7 @@
};
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
@@ -258,6 +259,7 @@
};
9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist
index 347cd5f4..86b0405c 100644
--- a/ios/Runner/Info.plist
+++ b/ios/Runner/Info.plist
@@ -60,5 +60,7 @@
UIViewControllerBasedStatusBarAppearance
+ UIApplicationSupportsIndirectInputEvents
+
diff --git a/lib/controllers/api_routes/urls.dart b/lib/controllers/api_routes/urls.dart
index 65c8935d..36f430fd 100644
--- a/lib/controllers/api_routes/urls.dart
+++ b/lib/controllers/api_routes/urls.dart
@@ -14,7 +14,7 @@ class URLs {
static String getFileUrl(String file) => file == null || file.isEmpty ? null : "$_host/attachment/$file";
// API Routes
- static get login => "$_baseUrl/MobileAuth/Login"; // post
+ static get login => "$_baseUrl/MobileAuth/LoginIntegration"; // post
static get register => "$_baseUrl/handle/create/user"; // post
static get updateProfile => "$_baseUrl/update/user/profile"; // post
static get getHospitals => "$_baseUrl/Customer/GetCustomers"; // get
@@ -23,7 +23,10 @@ class URLs {
static get getModels => "$_baseUrl/ModelDefinition/GetModelDefinitionAsset"; // get ?client=2
// 08051
static get getServiceRequests => "$_baseUrl/CallRequest/GetCallRequests"; // get
+ static get getServiceRequestById => "$_baseUrl/CallRequest/GetCallRequestById"; // get
static get getServiceRequestThrough => "$_baseUrl/Lookups/GetLookup?lookupEnum=603"; // get
+ static get getServiceLoanAvailability => "$_baseUrl/Lookups/GetLookup?lookupEnum=4"; // get
+ static get getServiceFirstAction => "$_baseUrl/Lookups/GetLookup?lookupEnum=700"; // get
static get getServiceRequestTypes => "$_baseUrl/Lookups/GetLookup?lookupEnum=604"; // get
static get getServiceRequestStatus => "$_baseUrl/Lookups/GetLookup?lookupEnum=503";
diff --git a/lib/controllers/providers/api/service_requests_provider.dart b/lib/controllers/providers/api/service_requests_provider.dart
index 59062251..bde8b2cf 100644
--- a/lib/controllers/providers/api/service_requests_provider.dart
+++ b/lib/controllers/providers/api/service_requests_provider.dart
@@ -6,7 +6,6 @@ import 'package:test_sa/controllers/api_routes/api_manager.dart';
import 'package:test_sa/controllers/api_routes/http_status_manger.dart';
import 'package:test_sa/controllers/api_routes/urls.dart';
import 'package:test_sa/models/issue.dart';
-import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/models/service_report.dart';
import 'package:test_sa/models/service_request/service_request.dart';
import 'package:test_sa/models/service_request/service_request_search.dart';
@@ -133,17 +132,42 @@ class ServiceRequestsProvider extends ChangeNotifier {
@required ServiceRequest serviceRequest,
}) async {
var body = {
- "callCreatedBy": {"id": user.id, "name": user.userName},
+ "id": 0,
+ "calNo": "",
+ "callCreatedBy": {"id": user.id, "name": user.userName ?? ""},
"assets": serviceRequest.deviceId == null ? [] : [serviceRequest.deviceId],
"requestedDate": DateTime.now().toIso8601String(),
"requestedTime": DateTime.now().toIso8601String(),
- "client": user.hospital?.id ?? '',
+ "client": user.clientId,
"callComments": serviceRequest.maintenanceIssue,
- "attachmentsCallRequest": serviceRequest.devicePhotos.map((e) => {"name": e}).toList(),
+ if (serviceRequest.devicePhotos.isNotEmpty) "attachmentsCallRequest": serviceRequest.devicePhotos.map((e) => {"name": e}).toList(),
"priority": serviceRequest.priority.toMap(),
"defectType": serviceRequest.defectType.toMap(),
"typeofRequest": serviceRequest.type.toMap(),
"requestedThrough": serviceRequest.type.toMap(),
+ "reviewComment": null,
+ if (serviceRequest.audio != null) "voiceNote": serviceRequest.audio,
+ "callSiteContactPerson": [
+ {
+ "id": 0,
+ // "employeeCode": user.email,
+ "name": user.userName,
+ "telephone": user.phoneNumber,
+ // "job": "",
+ "email": user.email,
+ // "land": "",
+ "contactUserId": user.id,
+ },
+ ],
+ "noofFollowup": 0,
+ "status": null,
+ "callLastSituation": null,
+ "firstAction": null,
+ "loanAvailablity": null,
+ "comments": null,
+ "firstActionDate": null,
+ "visitDate": null,
+ "callReview": null,
};
if (serviceRequest.audio != null) {
body["voiceNote"] = serviceRequest.audio;
@@ -188,16 +212,50 @@ class ServiceRequestsProvider extends ChangeNotifier {
Future updateDate({
@required String host,
@required User user,
- @required String newDate,
- @required Lookup employee,
@required ServiceRequest request,
+ DateTime date,
}) async {
+ Map serviceRequest = await getServiceRequestById(requestId: request.id) ?? "";
+ final List callSiteContacts = (serviceRequest['callSiteContactPerson'] as List);
+ final Map callSiteContactPerson = callSiteContacts.isEmpty ? {} : callSiteContacts[0];
+ print(callSiteContactPerson);
Response response;
var body = {
- "callCreatedBy": {"id": user.id, "name": user.userName},
+ "id": request.id,
+ "callNo": serviceRequest['callNo'],
+ "callCreatedBy": serviceRequest['callCreatedBy'],
+ "requestedDate": date?.toIso8601String() ?? "",
+ "requestedTime": date?.toIso8601String() ?? "",
+ "priority": request.priority?.toMap(),
+ "defectType": request.defectType?.toMap(),
+ "typeofRequest": request.type?.toMap(),
+ "requestedThrough": request.requestedThrough?.toMap(),
+ "voiceNote": request.audio,
"assets": request.deviceId == null ? [] : [request.deviceId],
- "requestedDate": newDate,
- "requestedTime": newDate,
+ "attachmentsCallRequest": request.devicePhotos?.map((e) => {"name": e})?.toList(),
+ "callSiteContactPerson": [
+ {
+ "id": callSiteContactPerson['id'] ?? 0,
+ "employeeCode": callSiteContactPerson['employeeCode'],
+ "name": callSiteContactPerson['name'] ?? user.userName,
+ "telephone": callSiteContactPerson['telephone'] ?? user.phoneNumber,
+ "job": callSiteContactPerson['job'],
+ "email": callSiteContactPerson['email'] ?? user.email,
+ "land": callSiteContactPerson['land'],
+ "contactUserId": user.id,
+ },
+ ],
+ "callComments": request.maintenanceIssue,
+ "noofFollowup": 0,
+ // "status": null,
+ "callLastSituation": null,
+ "firstAction": request.firstAction?.toMap(),
+ "loanAvailablity": request.loanAvailability?.toMap(),
+ "comments": request.comment,
+ "firstActionDate": serviceRequest['firstActionDate'],
+ "visitDate": date?.toIso8601String() ?? "",
+ "callReview": null,
+ "reviewComment": null,
};
try {
response = await ApiManager.instance.put(
@@ -206,7 +264,7 @@ class ServiceRequestsProvider extends ChangeNotifier {
);
stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
- request.engineerName = employee.name;
+ // request.engineerName = employee.name;
notifyListeners();
}
return response.statusCode;
@@ -363,4 +421,29 @@ class ServiceRequestsProvider extends ChangeNotifier {
throw (HttpStatusManger.getStatusMessage(status: response.statusCode, subtitle: subtitle));
}
}
+
+ Future