diff --git a/lib/models/pantry/pentry.dart b/lib/models/pantry/pentry.dart index 0f7e1cfa..82ef9fd6 100644 --- a/lib/models/pantry/pentry.dart +++ b/lib/models/pantry/pentry.dart @@ -9,7 +9,7 @@ import 'package:test_sa/models/pantry/pm_kit.dart'; import 'package:test_sa/models/pantry/ppm_check_list.dart'; import 'package:test_sa/models/timer_model.dart'; -class Pentry{ +class Pentry { Lookup ppmVisitStatus; Lookup status; TimerModel timer; @@ -27,55 +27,50 @@ class Pentry{ Uint8List localNurseSignature; Uint8List localEngineerSignature; - Pentry({ - this.travelingHours, - this.timer, - this.status, - this.ppmVisitStatus, - this.actualVisitDate, - this.expectedVisitDate, - this.image, - this.imageFile, - // this.contacts, - this.ppmCheckLists, - this.calibrationTools, - this.pmKits, - this.signatureNurse, - this.signatureEngineer, - this.localNurseSignature, - this.localEngineerSignature - }); + Pentry( + {this.travelingHours, + this.timer, + this.status, + this.ppmVisitStatus, + this.actualVisitDate, + this.expectedVisitDate, + this.image, + this.imageFile, + // this.contacts, + this.ppmCheckLists, + this.calibrationTools, + this.pmKits, + this.signatureNurse, + this.signatureEngineer, + this.localNurseSignature, + this.localEngineerSignature}); - bool validate(){ - if(actualVisitDate == null) return false; - if(expectedVisitDate == null) return false; - if(timer == null && timer.endAt != null) return false; - if(ppmVisitStatus == null) return false; + bool validate() { + if (actualVisitDate == null) return false; + if (expectedVisitDate == null) return false; + if (timer == null && timer.endAt != null) return false; + if (ppmVisitStatus == null) return false; //if(status == null) return false; return true; } - - Map toMap(int visitId) { Map map = {}; map["visitStatusId"] = ppmVisitStatus?.id.toString(); //if(status != null) map["visitStatusId"] = status?.id.toString(); - if(travelingHours != null) map["travelingHours"] = travelingHours; + if (travelingHours != null) map["travelingHours"] = travelingHours; //if(imageFile != null) map["file_attachement"] = base64Encode(imageFile.readAsBytesSync()); map["actualDate"] = actualVisitDate.toIso8601String(); map["expectedDate"] = expectedVisitDate.toIso8601String(); - if(timer != null){ + if (timer != null) { map["startDate"] = timer.startAt.toIso8601String(); - map["endDate"] = timer.endAt?.toIso8601String() ?? DateTime.now().toIso8601String(); + map["endDate"] = timer.endAt?.toIso8601String() ?? DateTime.now().toIso8601String(); map["workingHours"] = (timer.durationInSecond / 60 / 60).toStringAsFixed(5); } - if(imageFile !=null){ - map["vAttachments"]=[ - { - "attachmentName":(imageFile.path.split("/").last+base64Encode(imageFile.readAsBytesSync())) - } + if (imageFile != null) { + map["vAttachments"] = [ + {"attachmentName": (imageFile.path.split("/").last + base64Encode(imageFile.readAsBytesSync()))} ]; } @@ -89,8 +84,8 @@ class Pentry{ map["vChecklists"] = ppmCheckLists.map((e) => e.toMap(visitId)).toList(); map["vCalibrationTools"] = calibrationTools.map((e) => e.toMap(visitId)).toList(); map["vKits"] = pmKits.map((e) => e.toMap(visitId)).toList(); - map["nurseSignature"] = signatureNurse; - map["engSignature"] = signatureEngineer; + map["nurseSignature"] = "${DateTime.now().toIso8601String()}.png|$signatureNurse"; + map["engSignature"] = "${DateTime.now().toIso8601String()}.png|$signatureEngineer"; return map; } @@ -103,42 +98,32 @@ class Pentry{ // } List pmKits = []; - if(map['vKits'] != null){ - pmKits =(map['vKits'] as List) - .map((e) => PMKit.fromMap(e as Map)) - .toList(); + if (map['vKits'] != null) { + pmKits = (map['vKits'] as List).map((e) => PMKit.fromMap(e as Map)).toList(); } List ppmCheckLists = []; - if(map['vChecklists'] != null){ - ppmCheckLists =(map['vChecklists'] as List) - .map((e) => PPMCheckList.fromMap(e as Map)) - .toList(); + if (map['vChecklists'] != null) { + ppmCheckLists = (map['vChecklists'] as List).map((e) => PPMCheckList.fromMap(e as Map)).toList(); } List calibrationTools = []; - if(map['vCalibrationTools'] != null){ - calibrationTools =(map['vCalibrationTools'] as List) - .map((e) => CalibrationTool.fromMap(e as Map)) - .toList(); + if (map['vCalibrationTools'] != null) { + calibrationTools = (map['vCalibrationTools'] as List).map((e) => CalibrationTool.fromMap(e as Map)).toList(); } return Pentry( - status: Lookup(id: map["taskStatusId"],name: map["taskStatusName"]), - ppmVisitStatus: Lookup(id: map["visitStatusId"],name: map["visitStatusName"]), + status: Lookup(id: map["taskStatusId"], name: map["taskStatusName"]), + ppmVisitStatus: Lookup(id: map["visitStatusId"], name: map["visitStatusName"]), actualVisitDate: DateTime.tryParse(map["actualDate"] ?? ""), expectedVisitDate: DateTime.tryParse(map["expectedDate"] ?? ""), travelingHours: map["travelingHours"], - timer: TimerModel( - startAt: DateTime.tryParse(map["startDate"] ?? ""), - endAt: DateTime.tryParse(map["endDate"] ?? ""), - durationInSecond: (int.tryParse(map["workingHours"] ?? "") ?? 0) * 60 *60 - ), + timer: TimerModel(startAt: DateTime.tryParse(map["startDate"] ?? ""), endAt: DateTime.tryParse(map["endDate"] ?? ""), durationInSecond: (int.tryParse(map["workingHours"] ?? "") ?? 0) * 60 * 60), // contacts: contacts, ppmCheckLists: ppmCheckLists, calibrationTools: calibrationTools, pmKits: pmKits, - signatureNurse: URLs.getFileUrl(map["nurseSignature"]) , - signatureEngineer:URLs.getFileUrl(map["engSignature"]), + signatureNurse: URLs.getFileUrl(map["nurseSignature"]), + signatureEngineer: URLs.getFileUrl(map["engSignature"]), ); } @@ -158,19 +143,18 @@ class Pentry{ String signatureEngineer, }) { return Pentry( - ppmVisitStatus: ppmVisitStatus ?? this.ppmVisitStatus, - status: status ?? this.status, - timer: timer ?? this.timer, - actualVisitDate: actualVisitDate ?? this.actualVisitDate, - expectedVisitDate: expectedVisitDate ?? this.expectedVisitDate, - travelingHours: travelingHours ?? this.travelingHours, - image: image ?? this.image, - imageFile: imageFile ?? this.imageFile, - ppmCheckLists: ppmCheckLists ?? this.ppmCheckLists?.map((e) => e.copyWith())?.toList(), - calibrationTools: calibrationTools ?? this.calibrationTools?.map((e) => e.copyWith())?.toList(), - pmKits: pmKits ?? this.pmKits.map((e) => e.copyWith()).toList(), - signatureNurse: signatureNurse ?? this.signatureNurse, - signatureEngineer: signatureEngineer ?? this.signatureEngineer - ); + ppmVisitStatus: ppmVisitStatus ?? this.ppmVisitStatus, + status: status ?? this.status, + timer: timer ?? this.timer, + actualVisitDate: actualVisitDate ?? this.actualVisitDate, + expectedVisitDate: expectedVisitDate ?? this.expectedVisitDate, + travelingHours: travelingHours ?? this.travelingHours, + image: image ?? this.image, + imageFile: imageFile ?? this.imageFile, + ppmCheckLists: ppmCheckLists ?? this.ppmCheckLists?.map((e) => e.copyWith())?.toList(), + calibrationTools: calibrationTools ?? this.calibrationTools?.map((e) => e.copyWith())?.toList(), + pmKits: pmKits ?? this.pmKits.map((e) => e.copyWith()).toList(), + signatureNurse: signatureNurse ?? this.signatureNurse, + signatureEngineer: signatureEngineer ?? this.signatureEngineer); } -} \ No newline at end of file +} diff --git a/lib/models/pantry/ppm_check_list.dart b/lib/models/pantry/ppm_check_list.dart index 3ed03dae..23594b90 100644 --- a/lib/models/pantry/ppm_check_list.dart +++ b/lib/models/pantry/ppm_check_list.dart @@ -1,6 +1,6 @@ import 'package:test_sa/models/lookup.dart'; -class PPMCheckList{ +class PPMCheckList { int id; Lookup status; String title; @@ -19,17 +19,17 @@ class PPMCheckList{ return { 'id': id ?? 0, "visitId": visitId, - if(status != null) 'taskStatusId': status?.id.toString(), - if(title != null) 'task': title, - if(comment != null) 'taskComment': comment, - if(measuredValue != null) 'measuredValue': measuredValue, + if (status != null) 'taskStatusId': status?.id, + if (title != null) 'task': title, + if (comment != null) 'taskComment': comment, + if (measuredValue != null) 'measuredValue': measuredValue, }; } factory PPMCheckList.fromMap(Map map) { return PPMCheckList( id: map['id'] as int, - status: Lookup(id: map["taskStatusId"],name: map["taskStatusName"]), + status: Lookup(id: map["taskStatusId"], name: map["taskStatusName"]), title: map['task'] as String, comment: map['taskComment'] as String, measuredValue: map['measuredValue'] as String, @@ -51,4 +51,4 @@ class PPMCheckList{ measuredValue: measuredValue ?? this.measuredValue, ); } -} \ No newline at end of file +}