Enhancements

merge-requests/24/head
zaid_daoud 3 years ago
parent 048774bd8c
commit 42787e450e

@ -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<String, dynamic> toMap(int visitId) {
Map<String, dynamic> 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<PMKit> pmKits = [];
if(map['vKits'] != null){
pmKits =(map['vKits'] as List<dynamic>)
.map((e) => PMKit.fromMap(e as Map<String, dynamic>))
.toList();
if (map['vKits'] != null) {
pmKits = (map['vKits'] as List<dynamic>).map((e) => PMKit.fromMap(e as Map<String, dynamic>)).toList();
}
List<PPMCheckList> ppmCheckLists = [];
if(map['vChecklists'] != null){
ppmCheckLists =(map['vChecklists'] as List<dynamic>)
.map((e) => PPMCheckList.fromMap(e as Map<String, dynamic>))
.toList();
if (map['vChecklists'] != null) {
ppmCheckLists = (map['vChecklists'] as List<dynamic>).map((e) => PPMCheckList.fromMap(e as Map<String, dynamic>)).toList();
}
List<CalibrationTool> calibrationTools = [];
if(map['vCalibrationTools'] != null){
calibrationTools =(map['vCalibrationTools'] as List<dynamic>)
.map((e) => CalibrationTool.fromMap(e as Map<String, dynamic>))
.toList();
if (map['vCalibrationTools'] != null) {
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"]),
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);
}
}
}

@ -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<String, dynamic> 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,
);
}
}
}

Loading…
Cancel
Save