|
|
|
|
@ -75,8 +75,8 @@ class Pentry {
|
|
|
|
|
|
|
|
|
|
Map<String, dynamic> toMap(int visitId) {
|
|
|
|
|
Map<String, dynamic> map = {};
|
|
|
|
|
map["visitStatusId"] = ppmVisitStatus?.id.toString();
|
|
|
|
|
if (status != null) map["deviceStatusId"] = status?.id.toString();
|
|
|
|
|
map["visitStatusId"] = ppmVisitStatus?.id?.toString();
|
|
|
|
|
if (status != null) map["deviceStatusId"] = status?.id?.toString();
|
|
|
|
|
if (travelingHours != null) map["travelingHours"] = travelingHours;
|
|
|
|
|
//if(imageFile != null) map["file_attachement"] = base64Encode(imageFile.readAsBytesSync());
|
|
|
|
|
map["actualDate"] = actualVisitDate.toIso8601String();
|
|
|
|
|
@ -87,7 +87,7 @@ class Pentry {
|
|
|
|
|
map["workingHours"] = (timer.durationInSecond / 60 / 60).toStringAsFixed(5);
|
|
|
|
|
}
|
|
|
|
|
if (files?.isNotEmpty ?? false) {
|
|
|
|
|
map["vAttachments"] = files.map((file) => {"attachmentName": _isLocalUrl(file.path) ? (file.path.split("/").last + "|" + base64Encode(file.readAsBytesSync())): file.path}).toList();
|
|
|
|
|
map["vAttachments"] = files.map((file) => {"attachmentName": _isLocalUrl(file.path) ? (file.path.split("/").last + "|" + base64Encode(file.readAsBytesSync())) : file.path}).toList();
|
|
|
|
|
}
|
|
|
|
|
map["travelingHours"] = travelingHours;
|
|
|
|
|
// if(contacts?.isNotEmpty == true) {
|
|
|
|
|
@ -104,10 +104,12 @@ class Pentry {
|
|
|
|
|
map["engSignature"] = signatureEngineer; //"${DateTime.now().toIso8601String()}.png|$signatureEngineer";
|
|
|
|
|
return map;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool _isLocalUrl(String url) {
|
|
|
|
|
if (url?.isEmpty != false) return false;
|
|
|
|
|
return url.startsWith("/") || url.startsWith("file://") || url.substring(1).startsWith(':\\');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
factory Pentry.fromMap(Map<String, dynamic> map) {
|
|
|
|
|
// List<Contact> contacts = [];
|
|
|
|
|
// if(map['contacts'] != null){
|
|
|
|
|
@ -136,7 +138,7 @@ class Pentry {
|
|
|
|
|
calibrationTools = (map['vCalibrationTools'] as List<dynamic>).map((e) => CalibrationTool.fromMap(e as Map<String, dynamic>)).toList();
|
|
|
|
|
}
|
|
|
|
|
return Pentry(
|
|
|
|
|
status: Lookup(id: map["taskStatusId"], name: map["taskStatusName"]),
|
|
|
|
|
status: Lookup(id: map["deviceStatusId"], name: map["deviceStatusName"]),
|
|
|
|
|
ppmVisitStatus: Lookup(id: map["visitStatusId"], name: map["visitStatusName"]),
|
|
|
|
|
actualVisitDate: DateTime.tryParse(map["actualDate"] ?? ""),
|
|
|
|
|
expectedVisitDate: DateTime.tryParse(map["expectedDate"] ?? ""),
|
|
|
|
|
|