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/pantry/ppm_check_list.dart';
import 'package:test_sa/models/timer_model.dart'; import 'package:test_sa/models/timer_model.dart';
class Pentry{ class Pentry {
Lookup ppmVisitStatus; Lookup ppmVisitStatus;
Lookup status; Lookup status;
TimerModel timer; TimerModel timer;
@ -27,55 +27,50 @@ class Pentry{
Uint8List localNurseSignature; Uint8List localNurseSignature;
Uint8List localEngineerSignature; Uint8List localEngineerSignature;
Pentry({ Pentry(
this.travelingHours, {this.travelingHours,
this.timer, this.timer,
this.status, this.status,
this.ppmVisitStatus, this.ppmVisitStatus,
this.actualVisitDate, this.actualVisitDate,
this.expectedVisitDate, this.expectedVisitDate,
this.image, this.image,
this.imageFile, this.imageFile,
// this.contacts, // this.contacts,
this.ppmCheckLists, this.ppmCheckLists,
this.calibrationTools, this.calibrationTools,
this.pmKits, this.pmKits,
this.signatureNurse, this.signatureNurse,
this.signatureEngineer, this.signatureEngineer,
this.localNurseSignature, this.localNurseSignature,
this.localEngineerSignature this.localEngineerSignature});
});
bool validate(){ bool validate() {
if(actualVisitDate == null) return false; if (actualVisitDate == null) return false;
if(expectedVisitDate == null) return false; if (expectedVisitDate == null) return false;
if(timer == null && timer.endAt != null) return false; if (timer == null && timer.endAt != null) return false;
if(ppmVisitStatus == null) return false; if (ppmVisitStatus == null) return false;
//if(status == null) return false; //if(status == null) return false;
return true; return true;
} }
Map<String, dynamic> toMap(int visitId) { Map<String, dynamic> toMap(int visitId) {
Map<String, dynamic> map = {}; Map<String, dynamic> map = {};
map["visitStatusId"] = ppmVisitStatus?.id.toString(); map["visitStatusId"] = ppmVisitStatus?.id.toString();
//if(status != null) map["visitStatusId"] = status?.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()); //if(imageFile != null) map["file_attachement"] = base64Encode(imageFile.readAsBytesSync());
map["actualDate"] = actualVisitDate.toIso8601String(); map["actualDate"] = actualVisitDate.toIso8601String();
map["expectedDate"] = expectedVisitDate.toIso8601String(); map["expectedDate"] = expectedVisitDate.toIso8601String();
if(timer != null){ if (timer != null) {
map["startDate"] = timer.startAt.toIso8601String(); 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); map["workingHours"] = (timer.durationInSecond / 60 / 60).toStringAsFixed(5);
} }
if(imageFile !=null){ if (imageFile != null) {
map["vAttachments"]=[ map["vAttachments"] = [
{ {"attachmentName": (imageFile.path.split("/").last + base64Encode(imageFile.readAsBytesSync()))}
"attachmentName":(imageFile.path.split("/").last+base64Encode(imageFile.readAsBytesSync()))
}
]; ];
} }
@ -89,8 +84,8 @@ class Pentry{
map["vChecklists"] = ppmCheckLists.map((e) => e.toMap(visitId)).toList(); map["vChecklists"] = ppmCheckLists.map((e) => e.toMap(visitId)).toList();
map["vCalibrationTools"] = calibrationTools.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["vKits"] = pmKits.map((e) => e.toMap(visitId)).toList();
map["nurseSignature"] = signatureNurse; map["nurseSignature"] = "${DateTime.now().toIso8601String()}.png|$signatureNurse";
map["engSignature"] = signatureEngineer; map["engSignature"] = "${DateTime.now().toIso8601String()}.png|$signatureEngineer";
return map; return map;
} }
@ -103,42 +98,32 @@ class Pentry{
// } // }
List<PMKit> pmKits = []; List<PMKit> pmKits = [];
if(map['vKits'] != null){ if (map['vKits'] != null) {
pmKits =(map['vKits'] as List<dynamic>) pmKits = (map['vKits'] as List<dynamic>).map((e) => PMKit.fromMap(e as Map<String, dynamic>)).toList();
.map((e) => PMKit.fromMap(e as Map<String, dynamic>))
.toList();
} }
List<PPMCheckList> ppmCheckLists = []; List<PPMCheckList> ppmCheckLists = [];
if(map['vChecklists'] != null){ if (map['vChecklists'] != null) {
ppmCheckLists =(map['vChecklists'] as List<dynamic>) ppmCheckLists = (map['vChecklists'] as List<dynamic>).map((e) => PPMCheckList.fromMap(e as Map<String, dynamic>)).toList();
.map((e) => PPMCheckList.fromMap(e as Map<String, dynamic>))
.toList();
} }
List<CalibrationTool> calibrationTools = []; List<CalibrationTool> calibrationTools = [];
if(map['vCalibrationTools'] != null){ if (map['vCalibrationTools'] != null) {
calibrationTools =(map['vCalibrationTools'] as List<dynamic>) calibrationTools = (map['vCalibrationTools'] as List<dynamic>).map((e) => CalibrationTool.fromMap(e as Map<String, dynamic>)).toList();
.map((e) => CalibrationTool.fromMap(e as Map<String, dynamic>))
.toList();
} }
return Pentry( return Pentry(
status: Lookup(id: map["taskStatusId"],name: map["taskStatusName"]), status: Lookup(id: map["taskStatusId"], name: map["taskStatusName"]),
ppmVisitStatus: Lookup(id: map["visitStatusId"],name: map["visitStatusName"]), ppmVisitStatus: Lookup(id: map["visitStatusId"], name: map["visitStatusName"]),
actualVisitDate: DateTime.tryParse(map["actualDate"] ?? ""), actualVisitDate: DateTime.tryParse(map["actualDate"] ?? ""),
expectedVisitDate: DateTime.tryParse(map["expectedDate"] ?? ""), expectedVisitDate: DateTime.tryParse(map["expectedDate"] ?? ""),
travelingHours: map["travelingHours"], travelingHours: map["travelingHours"],
timer: TimerModel( timer: TimerModel(startAt: DateTime.tryParse(map["startDate"] ?? ""), endAt: DateTime.tryParse(map["endDate"] ?? ""), durationInSecond: (int.tryParse(map["workingHours"] ?? "") ?? 0) * 60 * 60),
startAt: DateTime.tryParse(map["startDate"] ?? ""),
endAt: DateTime.tryParse(map["endDate"] ?? ""),
durationInSecond: (int.tryParse(map["workingHours"] ?? "") ?? 0) * 60 *60
),
// contacts: contacts, // contacts: contacts,
ppmCheckLists: ppmCheckLists, ppmCheckLists: ppmCheckLists,
calibrationTools: calibrationTools, calibrationTools: calibrationTools,
pmKits: pmKits, pmKits: pmKits,
signatureNurse: URLs.getFileUrl(map["nurseSignature"]) , signatureNurse: URLs.getFileUrl(map["nurseSignature"]),
signatureEngineer:URLs.getFileUrl(map["engSignature"]), signatureEngineer: URLs.getFileUrl(map["engSignature"]),
); );
} }
@ -158,19 +143,18 @@ class Pentry{
String signatureEngineer, String signatureEngineer,
}) { }) {
return Pentry( return Pentry(
ppmVisitStatus: ppmVisitStatus ?? this.ppmVisitStatus, ppmVisitStatus: ppmVisitStatus ?? this.ppmVisitStatus,
status: status ?? this.status, status: status ?? this.status,
timer: timer ?? this.timer, timer: timer ?? this.timer,
actualVisitDate: actualVisitDate ?? this.actualVisitDate, actualVisitDate: actualVisitDate ?? this.actualVisitDate,
expectedVisitDate: expectedVisitDate ?? this.expectedVisitDate, expectedVisitDate: expectedVisitDate ?? this.expectedVisitDate,
travelingHours: travelingHours ?? this.travelingHours, travelingHours: travelingHours ?? this.travelingHours,
image: image ?? this.image, image: image ?? this.image,
imageFile: imageFile ?? this.imageFile, imageFile: imageFile ?? this.imageFile,
ppmCheckLists: ppmCheckLists ?? this.ppmCheckLists?.map((e) => e.copyWith())?.toList(), ppmCheckLists: ppmCheckLists ?? this.ppmCheckLists?.map((e) => e.copyWith())?.toList(),
calibrationTools: calibrationTools ?? this.calibrationTools?.map((e) => e.copyWith())?.toList(), calibrationTools: calibrationTools ?? this.calibrationTools?.map((e) => e.copyWith())?.toList(),
pmKits: pmKits ?? this.pmKits.map((e) => e.copyWith()).toList(), pmKits: pmKits ?? this.pmKits.map((e) => e.copyWith()).toList(),
signatureNurse: signatureNurse ?? this.signatureNurse, signatureNurse: signatureNurse ?? this.signatureNurse,
signatureEngineer: signatureEngineer ?? this.signatureEngineer signatureEngineer: signatureEngineer ?? this.signatureEngineer);
);
} }
} }

@ -1,6 +1,6 @@
import 'package:test_sa/models/lookup.dart'; import 'package:test_sa/models/lookup.dart';
class PPMCheckList{ class PPMCheckList {
int id; int id;
Lookup status; Lookup status;
String title; String title;
@ -19,17 +19,17 @@ class PPMCheckList{
return { return {
'id': id ?? 0, 'id': id ?? 0,
"visitId": visitId, "visitId": visitId,
if(status != null) 'taskStatusId': status?.id.toString(), if (status != null) 'taskStatusId': status?.id,
if(title != null) 'task': title, if (title != null) 'task': title,
if(comment != null) 'taskComment': comment, if (comment != null) 'taskComment': comment,
if(measuredValue != null) 'measuredValue': measuredValue, if (measuredValue != null) 'measuredValue': measuredValue,
}; };
} }
factory PPMCheckList.fromMap(Map<String, dynamic> map) { factory PPMCheckList.fromMap(Map<String, dynamic> map) {
return PPMCheckList( return PPMCheckList(
id: map['id'] as int, 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, title: map['task'] as String,
comment: map['taskComment'] as String, comment: map['taskComment'] as String,
measuredValue: map['measuredValue'] as String, measuredValue: map['measuredValue'] as String,
@ -51,4 +51,4 @@ class PPMCheckList{
measuredValue: measuredValue ?? this.measuredValue, measuredValue: measuredValue ?? this.measuredValue,
); );
} }
} }

Loading…
Cancel
Save