Enhancements

merge-requests/27/head
zaid_daoud 2 years ago
parent d0f083ce22
commit 7044cc8ff0

@ -134,7 +134,7 @@ class ServiceRequestsProvider extends ChangeNotifier {
var body = { var body = {
"id": 0, "id": 0,
"calNo": "", "calNo": "",
"callCreatedBy": {"id": user.id, "name": user.userName}, "callCreatedBy": {"id": user.id, "name": user.userName ?? ""},
"assets": serviceRequest.deviceId == null ? [] : [serviceRequest.deviceId], "assets": serviceRequest.deviceId == null ? [] : [serviceRequest.deviceId],
"requestedDate": DateTime.now().toIso8601String(), "requestedDate": DateTime.now().toIso8601String(),
"requestedTime": DateTime.now().toIso8601String(), "requestedTime": DateTime.now().toIso8601String(),
@ -150,7 +150,7 @@ class ServiceRequestsProvider extends ChangeNotifier {
"callSiteContactPerson": [ "callSiteContactPerson": [
{ {
"id": 0, "id": 0,
"employeeCode": user.email, // "employeeCode": user.email,
"name": user.userName, "name": user.userName,
"telephone": user.phoneNumber, "telephone": user.phoneNumber,
// "job": "", // "job": "",
@ -215,12 +215,15 @@ class ServiceRequestsProvider extends ChangeNotifier {
@required ServiceRequest request, @required ServiceRequest request,
DateTime date, DateTime date,
}) async { }) async {
String callNo = await getServiceRequestCallNoById(requestId: request.id) ?? ""; Map<String, dynamic> serviceRequest = await getServiceRequestById(requestId: request.id) ?? "";
final List callSiteContacts = (serviceRequest['callSiteContactPerson'] as List);
final Map<String, dynamic> callSiteContactPerson = callSiteContacts.isEmpty ? {} : callSiteContacts[0];
print(callSiteContactPerson);
Response response; Response response;
var body = { var body = {
"id": request.id, "id": request.id,
"callNo": callNo, "callNo": serviceRequest['callNo'],
"callCreatedBy": {"id": user.id, "name": user.userName}, "callCreatedBy": serviceRequest['callCreatedBy'],
"requestedDate": date?.toIso8601String() ?? "", "requestedDate": date?.toIso8601String() ?? "",
"requestedTime": date?.toIso8601String() ?? "", "requestedTime": date?.toIso8601String() ?? "",
"priority": request.priority?.toMap(), "priority": request.priority?.toMap(),
@ -232,13 +235,13 @@ class ServiceRequestsProvider extends ChangeNotifier {
"attachmentsCallRequest": request.devicePhotos?.map((e) => {"name": e})?.toList(), "attachmentsCallRequest": request.devicePhotos?.map((e) => {"name": e})?.toList(),
"callSiteContactPerson": [ "callSiteContactPerson": [
{ {
"id": 0, "id": callSiteContactPerson['id'] ?? 0,
"employeeCode": user.email, "employeeCode": callSiteContactPerson['employeeCode'],
"name": user.userName, "name": callSiteContactPerson['name'] ?? user.userName,
"telephone": user.phoneNumber, "telephone": callSiteContactPerson['telephone'] ?? user.phoneNumber,
// "job": "", "job": callSiteContactPerson['job'],
"email": user.email, "email": callSiteContactPerson['email'] ?? user.email,
// "land": "", "land": callSiteContactPerson['land'],
"contactUserId": user.id, "contactUserId": user.id,
}, },
], ],
@ -249,8 +252,8 @@ class ServiceRequestsProvider extends ChangeNotifier {
"firstAction": request.firstAction?.toMap(), "firstAction": request.firstAction?.toMap(),
"loanAvailablity": request.loanAvailability?.toMap(), "loanAvailablity": request.loanAvailability?.toMap(),
"comments": request.comment, "comments": request.comment,
"firstActionDate": null, "firstActionDate": serviceRequest['firstActionDate'],
"visitDate": null, "visitDate": date?.toIso8601String() ?? "",
"callReview": null, "callReview": null,
"reviewComment": null, "reviewComment": null,
}; };
@ -419,7 +422,7 @@ class ServiceRequestsProvider extends ChangeNotifier {
} }
} }
Future<String> getServiceRequestCallNoById({@required String requestId}) async { Future<Map<String, dynamic>> getServiceRequestById({@required String requestId}) async {
Response response; Response response;
try { try {
response = await ApiManager.instance.get( response = await ApiManager.instance.get(
@ -427,16 +430,20 @@ class ServiceRequestsProvider extends ChangeNotifier {
); );
} catch (error) { } catch (error) {
print(error); print(error);
return ""; return {};
} }
// If the call to the server was successful, parse the JSON. // If the call to the server was successful, parse the JSON.
if (response.statusCode >= 200 && response.statusCode < 300) { if (response.statusCode >= 200 && response.statusCode < 300) {
// If the call to the server was successful, parse the JSON. // If the call to the server was successful, parse the JSON.
print(json.decode(response.body)["data"]); return {
return json.decode(response.body)["data"]["callNo"] as String; "callNo": json.decode(response.body)["data"]["callNo"],
"callCreatedBy": json.decode(response.body)["data"]["callCreatedBy"],
"callSiteContactPerson": json.decode(response.body)["data"]["callSiteContactPerson"],
"firstActionDate": json.decode(response.body)["data"]["firstActionDate"],
};
} else { } else {
return ""; return {};
} }
} }
} }

@ -79,7 +79,7 @@ class User {
switch (userRoles.first.name) { switch (userRoles.first.name) {
case "Engineer": case "Engineer":
return UsersTypes.engineer; return UsersTypes.engineer;
case "Nurse": case "Hospital":
return UsersTypes.normal_user; return UsersTypes.normal_user;
default: default:
return null; return null;

@ -68,6 +68,8 @@ class CreateRequestPageState extends State<CreateRequestPage> {
_serviceRequest = widget.serviceRequest; _serviceRequest = widget.serviceRequest;
_device = _serviceRequest.device; _device = _serviceRequest.device;
_deviceImages.addAll(_serviceRequest.devicePhotos.map((e) => File(e)).toList()); _deviceImages.addAll(_serviceRequest.devicePhotos.map((e) => File(e)).toList());
} else {
_serviceRequest = ServiceRequest();
} }
super.initState(); super.initState();
} }
@ -197,7 +199,7 @@ class CreateRequestPageState extends State<CreateRequestPage> {
height: 4, height: 4,
), ),
ServiceRequestedThroughMenu( ServiceRequestedThroughMenu(
initialValue: const Lookup(name: "App", value: 3), initialValue: const Lookup(name: "App", value: 375),
onSelect: (status) { onSelect: (status) {
_serviceRequest.requestedThrough = status; _serviceRequest.requestedThrough = status;
}, },
@ -211,7 +213,19 @@ class CreateRequestPageState extends State<CreateRequestPage> {
ServiceRequestedFirstAction( ServiceRequestedFirstAction(
initialValue: _serviceRequest.firstAction, initialValue: _serviceRequest.firstAction,
onSelect: (status) { onSelect: (status) {
_dateTime = null;
_serviceRequest.firstAction = status; _serviceRequest.firstAction = status;
_serviceRequestsProvider.notifyListeners();
},
),
if (_serviceRequest.firstAction != null) 12.height,
if (_serviceRequest.firstAction != null)
ADatePicker(
date: _dateTime,
from: DateTime.now(),
onDatePicker: (date) {
_dateTime = date;
setState(() {});
}, },
), ),
if (widget.serviceRequest != null) 12.height, if (widget.serviceRequest != null) 12.height,
@ -232,15 +246,6 @@ class CreateRequestPageState extends State<CreateRequestPage> {
images: _deviceImages, images: _deviceImages,
), ),
12.height, 12.height,
ADatePicker(
date: _dateTime,
from: DateTime.now(),
onDatePicker: (date) {
_dateTime = date;
setState(() {});
},
),
12.height,
SpeechToTextButton(controller: _maintenanceController), SpeechToTextButton(controller: _maintenanceController),
12.height, 12.height,
ATextFormField( ATextFormField(
@ -283,6 +288,10 @@ class CreateRequestPageState extends State<CreateRequestPage> {
Fluttertoast.showToast(msg: _subtitle.pickDevice); Fluttertoast.showToast(msg: _subtitle.pickDevice);
return; return;
} }
if (_serviceRequest.firstAction != null && _dateTime == null) {
Fluttertoast.showToast(msg: _subtitle.noDateFound);
return;
}
_formKey.currentState.save(); _formKey.currentState.save();
_serviceRequest.deviceId = _device?.id; _serviceRequest.deviceId = _device?.id;
_isLoading = true; _isLoading = true;

Loading…
Cancel
Save