Enhancements

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

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

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

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

Loading…
Cancel
Save