Enhancements

merge-requests/24/head
zaid_daoud 1 year ago
parent a33e4f4b7d
commit e25dc22bd0

@ -11,7 +11,7 @@ import 'package:test_sa/models/visits/visits_search.dart';
class PreventiveMaintenanceVisitsProvider extends ChangeNotifier {
// number of items call in each request
final pageItemNumber = 50;
final pageItemNumber = 10;
//reset provider data
void reset() {

@ -15,9 +15,8 @@ import 'package:test_sa/models/timer_model.dart';
import 'package:test_sa/models/user.dart';
class ServiceRequestsProvider extends ChangeNotifier {
// number of items call in each request
final pageItemNumber = 50;
final pageItemNumber = 10;
//reset provider data
void reset() {
@ -54,8 +53,7 @@ class ServiceRequestsProvider extends ChangeNotifier{
@required User user,
@required int hospitalId,
}) async {
if(isLoading == true)
return -2;
if (isLoading == true) return -2;
isLoading = true;
if (serviceRequests == null) notifyListeners();
Response response;
@ -74,8 +72,7 @@ class ServiceRequestsProvider extends ChangeNotifier{
if (response.statusCode >= 200 && response.statusCode < 300) {
// client's request was successfully received
List requestsListJson = json.decode(response.body)["data"];
List<ServiceRequest> serviceRequestsPage = requestsListJson.map(
(request) => ServiceRequest.fromJson(request)).toList();
List<ServiceRequest> serviceRequestsPage = requestsListJson.map((request) => ServiceRequest.fromJson(request)).toList();
serviceRequests ??= [];
serviceRequests.addAll(serviceRequestsPage);
if (serviceRequestsPage.length == pageItemNumber) {
@ -87,14 +84,12 @@ class ServiceRequestsProvider extends ChangeNotifier{
isLoading = false;
notifyListeners();
return response.statusCode;
} catch (error) {
isLoading = false;
stateCode = -1;
notifyListeners();
return -1;
}
}
Future<ServiceRequest> getSingleServiceRequest({
@ -111,15 +106,14 @@ class ServiceRequestsProvider extends ChangeNotifier{
Response response;
try {
response = await get(
Uri.parse(
host+URLs.getSingleServiceRequest
+'?call_nid=$requestId'
'$userData',)
);
response = await get(Uri.parse(
host +
URLs.getSingleServiceRequest +
'?call_nid=$requestId'
'$userData',
));
} catch (error) {
throw(HttpStatusManger.getStatusMessage(
status: -1, subtitle: subtitle));
throw (HttpStatusManger.getStatusMessage(status: -1, subtitle: subtitle));
}
// If the call to the server was successful, parse the JSON.
@ -129,10 +123,8 @@ class ServiceRequestsProvider extends ChangeNotifier{
List<ServiceRequest> _requests = jsonList.map((i) => ServiceRequest.fromJson(i)).toList();
return _requests[0];
} else {
throw(HttpStatusManger.getStatusMessage(
status: response.statusCode, subtitle: subtitle));
throw (HttpStatusManger.getStatusMessage(status: response.statusCode, subtitle: subtitle));
}
}
Future<int> createRequest({
@ -140,12 +132,8 @@ class ServiceRequestsProvider extends ChangeNotifier{
@required User user,
@required ServiceRequest serviceRequest,
}) async {
var body = {
"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(),
@ -162,27 +150,16 @@ class ServiceRequestsProvider extends ChangeNotifier{
}
Response response;
try {
response = await ApiManager.instance.post(
URLs.createRequest,
body: body
);
response = await ApiManager.instance.post(URLs.createRequest, body: body);
stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
if(serviceRequests != null)
serviceRequests.insert(
0,
ServiceRequest.fromJson(
json.decode(utf8.decode(response.bodyBytes))[0]
)
);
if (serviceRequests != null) serviceRequests.insert(0, ServiceRequest.fromJson(json.decode(utf8.decode(response.bodyBytes))[0]));
notifyListeners();
}
return response.statusCode;
} catch (error) {
return -1;
}
}
Future<int> createIssueReport({
@ -201,15 +178,11 @@ class ServiceRequestsProvider extends ChangeNotifier{
);
stateCode = response.statusCode;
if(response.statusCode >= 200 && response.statusCode < 300) {
}
if (response.statusCode >= 200 && response.statusCode < 300) {}
return response.statusCode;
} catch (error) {
return -1;
}
}
Future<int> updateDate({
@ -230,8 +203,7 @@ class ServiceRequestsProvider extends ChangeNotifier{
response = await post(
Uri.parse(
//host+
URLs.updateRequestDate
),
URLs.updateRequestDate),
body: body,
);
stateCode = response.statusCode;
@ -240,11 +212,9 @@ class ServiceRequestsProvider extends ChangeNotifier{
notifyListeners();
}
return response.statusCode;
} catch (error) {
return -1;
}
}
Future<int> createServiceReport({
@ -254,15 +224,12 @@ class ServiceRequestsProvider extends ChangeNotifier{
@required ServiceRequest request,
}) async {
Response response;
try {
Map<String, dynamic> body = report.toMap(request);
// body["uid"] = user.id;
// body["token"] = user.token;
response = await ApiManager.instance.post(
URLs.createServiceReport,
body: body
);
response = await ApiManager.instance.post(URLs.createServiceReport, body: body);
print(response.body);
// response = await post(
// Uri.parse(
// host+URLs.createServiceReport),
@ -275,11 +242,9 @@ class ServiceRequestsProvider extends ChangeNotifier{
notifyListeners();
}
return response.statusCode;
} catch (error) {
return -1;
}
}
Future<int> createDuplicatedReport({
@ -296,10 +261,7 @@ class ServiceRequestsProvider extends ChangeNotifier{
try {
response = await get(
Uri.parse(
host+URLs.createDuplicatedReport
+"?nid=${request.id}"
+userData),
Uri.parse(host + URLs.createDuplicatedReport + "?nid=${request.id}" + userData),
);
stateCode = response.statusCode;
@ -309,12 +271,9 @@ class ServiceRequestsProvider extends ChangeNotifier{
notifyListeners();
}
return response.statusCode;
} catch (error) {
return -1;
}
}
Future<int> updateServiceReport({
@ -333,10 +292,7 @@ class ServiceRequestsProvider extends ChangeNotifier{
Map<String, dynamic> body = report.toMap(request);
// body["uid"] = user.id;
// body["token"] = user.token;
response = await ApiManager.instance.put(
URLs.updateServiceReport,
body: body
);
response = await ApiManager.instance.put(URLs.updateServiceReport, body: body);
// response = await post(
// Uri.parse(
// host+URLs.updateServiceReport),
@ -349,11 +305,9 @@ class ServiceRequestsProvider extends ChangeNotifier{
notifyListeners();
}
return response.statusCode;
} catch (error) {
return -1;
}
}
Future<int> updateServiceReportTimer({
@ -373,8 +327,7 @@ class ServiceRequestsProvider extends ChangeNotifier{
body["report_id"] = request.reportID;
try {
response = await post(
Uri.parse(
host+URLs.updateServiceReport),
Uri.parse(host + URLs.updateServiceReport),
body: body,
);
//stateCode = response.statusCode;
@ -384,12 +337,9 @@ class ServiceRequestsProvider extends ChangeNotifier{
// notifyListeners();
}
return response.statusCode;
} catch (error) {
return -1;
}
}
Future<ServiceReport> getSingleServiceReport({
@ -398,29 +348,21 @@ class ServiceRequestsProvider extends ChangeNotifier{
@required User user,
@required Subtitle subtitle,
}) async {
Response response;
try {
response = await ApiManager.instance.get(
URLs.getServiceReport + "?workOrderId=$reportId",
);
} catch (error) {
throw(HttpStatusManger.getStatusMessage(
status: -1, subtitle: subtitle));
throw (HttpStatusManger.getStatusMessage(status: -1, subtitle: subtitle));
}
// 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.
return ServiceReport.fromJson(
json.decode(response.body)["data"],reportId);
return ServiceReport.fromJson(json.decode(response.body)["data"], reportId);
} else {
throw(HttpStatusManger.getStatusMessage(
status: response.statusCode, subtitle: subtitle));
throw (HttpStatusManger.getStatusMessage(status: response.statusCode, subtitle: subtitle));
}
}
}

@ -36,8 +36,8 @@ class ServiceReport {
Uint8List localNurseSignature;
Uint8List localEngineerSignature;
ServiceReport({
this.id,
ServiceReport(
{this.id,
this.visitDate,
this.endDate,
this.assetType,
@ -62,8 +62,7 @@ class ServiceReport {
this.signatureNurse,
this.signatureEngineer,
this.localNurseSignature,
this.localEngineerSignature
});
this.localEngineerSignature});
Map<String, dynamic> toMap(ServiceRequest request) {
Map<String, dynamic> _map = {};
@ -108,12 +107,47 @@ class ServiceReport {
//if(invoiceCode != null) _map["invoice_no"] = invoiceCode;
//if(invoiceNumber != null) _map["invoice_code"] = invoiceNumber;
if (image != null) {
_map["attachmentsWorkOrder"]=[{
"name":image
}];
_map["attachmentsWorkOrder"] = [
{"name": image}
];
}
_map["nurseSignature"] = signatureNurse;
_map["engSignature"] = signatureEngineer;
// ///TODO : zaid
// _map["supplier"] = {
// "id": 0,
// "suppliername": "string",
// "name": "string",
// "website": "string",
// "email": "string",
// "code": "string",
// "suppNo": 0,
// "suppStatusId": 0,
// "cityId": 0,
// "person": "string",
// "comment": "string",
// "zipcode": 0,
// "contact": "string",
// "telephones": [
// {"id": 0, "supplierId": 0, "telephone": "string"}
// ],
// "faxes": [
// {"id": 0, "supplierId": 0, "fax": "string"}
// ],
// "addresses": [
// {"id": 0, "supplierId": 0, "address": "string"}
// ],
// "attachments": [
// {"id": 0, "supplierId": 0, "attachmentName": "string", "attachmentURL": "string"}
// ],
// "suppPersons": [
// {"id": 0, "supplierId": 0, "personName": "string", "personRoleId": 0, "contact": "string", "externalEngCode": "string", "email": "string"}
// ],
// "suppTCodes": [
// {"id": 0, "supplierId": 0, "codeTypeId": 0, "codeValue": "string"}
// ]
// };
return _map;
}
@ -143,10 +177,8 @@ class ServiceReport {
if (parsedJson["sparePartsWorkOrders"] != null) {
if (parsedJson["sparePartsWorkOrders"][0]["id"] != null) {
List partsList = parsedJson["sparePartsWorkOrders"];
_parts = partsList.map((e) => Part.fromJson(
e["sparePart"],reportJson: e)).toList();
_parts = partsList.map((e) => Part.fromJson(e["sparePart"], reportJson: e)).toList();
}
}
return ServiceReport(
id: id,
@ -168,10 +200,7 @@ class ServiceReport {
visitDate: DateTime.tryParse(parsedJson["visitDate"]),
//workHours: parsedJson["working_hours"],
timer: TimerModel(
startAt: DateTime.tryParse(parsedJson["startofWorkTime"]),
endAt: DateTime.tryParse(parsedJson["endofWorkTime"]),
durationInSecond: ((parsedJson["workingHours"] ?? 0) * 60 *60).toInt()
),
startAt: DateTime.tryParse(parsedJson["startofWorkTime"]), endAt: DateTime.tryParse(parsedJson["endofWorkTime"]), durationInSecond: ((parsedJson["workingHours"] ?? 0) * 60 * 60).toInt()),
//workPreformed: parsedJson["work_performed"],
device: Device.fromJson(parsedJson["callRequest"]["asset"]),
signatureNurse: URLs.getFileUrl(parsedJson["nurseSignature"]),

Loading…
Cancel
Save