Enhancements

merge-requests/24/head
zaid_daoud 3 years ago
parent a33e4f4b7d
commit e25dc22bd0

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

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

@ -36,8 +36,8 @@ class ServiceReport {
Uint8List localNurseSignature; Uint8List localNurseSignature;
Uint8List localEngineerSignature; Uint8List localEngineerSignature;
ServiceReport({ ServiceReport(
this.id, {this.id,
this.visitDate, this.visitDate,
this.endDate, this.endDate,
this.assetType, this.assetType,
@ -62,8 +62,7 @@ class ServiceReport {
this.signatureNurse, this.signatureNurse,
this.signatureEngineer, this.signatureEngineer,
this.localNurseSignature, this.localNurseSignature,
this.localEngineerSignature this.localEngineerSignature});
});
Map<String, dynamic> toMap(ServiceRequest request) { Map<String, dynamic> toMap(ServiceRequest request) {
Map<String, dynamic> _map = {}; Map<String, dynamic> _map = {};
@ -108,12 +107,47 @@ class ServiceReport {
//if(invoiceCode != null) _map["invoice_no"] = invoiceCode; //if(invoiceCode != null) _map["invoice_no"] = invoiceCode;
//if(invoiceNumber != null) _map["invoice_code"] = invoiceNumber; //if(invoiceNumber != null) _map["invoice_code"] = invoiceNumber;
if (image != null) { if (image != null) {
_map["attachmentsWorkOrder"]=[{ _map["attachmentsWorkOrder"] = [
"name":image {"name": image}
}]; ];
} }
_map["nurseSignature"] = signatureNurse; _map["nurseSignature"] = signatureNurse;
_map["engSignature"] = signatureEngineer; _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; return _map;
} }
@ -143,10 +177,8 @@ class ServiceReport {
if (parsedJson["sparePartsWorkOrders"] != null) { if (parsedJson["sparePartsWorkOrders"] != null) {
if (parsedJson["sparePartsWorkOrders"][0]["id"] != null) { if (parsedJson["sparePartsWorkOrders"][0]["id"] != null) {
List partsList = parsedJson["sparePartsWorkOrders"]; List partsList = parsedJson["sparePartsWorkOrders"];
_parts = partsList.map((e) => Part.fromJson( _parts = partsList.map((e) => Part.fromJson(e["sparePart"], reportJson: e)).toList();
e["sparePart"],reportJson: e)).toList();
} }
} }
return ServiceReport( return ServiceReport(
id: id, id: id,
@ -168,10 +200,7 @@ class ServiceReport {
visitDate: DateTime.tryParse(parsedJson["visitDate"]), visitDate: DateTime.tryParse(parsedJson["visitDate"]),
//workHours: parsedJson["working_hours"], //workHours: parsedJson["working_hours"],
timer: TimerModel( timer: TimerModel(
startAt: DateTime.tryParse(parsedJson["startofWorkTime"]), startAt: DateTime.tryParse(parsedJson["startofWorkTime"]), endAt: DateTime.tryParse(parsedJson["endofWorkTime"]), durationInSecond: ((parsedJson["workingHours"] ?? 0) * 60 * 60).toInt()),
endAt: DateTime.tryParse(parsedJson["endofWorkTime"]),
durationInSecond: ((parsedJson["workingHours"] ?? 0) * 60 *60).toInt()
),
//workPreformed: parsedJson["work_performed"], //workPreformed: parsedJson["work_performed"],
device: Device.fromJson(parsedJson["callRequest"]["asset"]), device: Device.fromJson(parsedJson["callRequest"]["asset"]),
signatureNurse: URLs.getFileUrl(parsedJson["nurseSignature"]), signatureNurse: URLs.getFileUrl(parsedJson["nurseSignature"]),

Loading…
Cancel
Save