You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cloudsolutions-atoms/lib/models/plan_preventive_visit/plan_preventive_visit_model...

981 lines
32 KiB
Dart

import 'package:flutter/widgets.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/models/service_request/supplier_details.dart';
import 'package:test_sa/models/timer_model.dart';
class PlanPreventiveVisit {
String? id;
String? visitNo;
Asset? asset;
String? planNo;
String? planName;
String? nextPMDate;
String? assetName;
String? model;
String? manufacturer;
String? supplierName;
String? siteName;
String? buildingName;
String? floorName;
String? departmentName;
String? roomName;
String? fromDate;
String? toDate;
AssignedEmployee? assignedEmployee;
String? acutalDateOfVisit;
Lookup? typeOfService;
Lookup? visitStatus;
num? travelingHours;
String? comments;
int? executionTimeFrame;
Lookup? taskStatus;
Lookup? deviceStatus;
Lookup? assetAvailability;
Lookup? safety;
String? engSignature;
String? nurseSignature;
List<PreventiveVisitAttachments>? preventiveVisitAttachments;
List<PreventiveVisitCalibrations>? preventiveVisitCalibrations;
List<PreventiveVisitChecklists>? preventiveVisitChecklists;
List<PreventiveVisitKits>? preventiveVisitKits;
List<PreventiveVisitTimers>? preventiveVisitTimers;
List<PreventiveVisitSuppliers>? preventiveVisitSuppliers;
TimerModel? tbsTimer = TimerModel();
PlanPreventiveVisit(
{this.id,
this.visitNo,
this.asset,
this.planNo,
this.planName,
this.nextPMDate,
this.assetName,
this.model,
this.manufacturer,
this.supplierName,
this.siteName,
this.buildingName,
this.floorName,
this.departmentName,
this.roomName,
this.fromDate,
this.toDate,
this.assignedEmployee,
this.acutalDateOfVisit,
this.typeOfService,
this.visitStatus,
this.travelingHours,
this.comments,
this.executionTimeFrame,
this.taskStatus,
this.deviceStatus,
this.assetAvailability,
this.safety,
this.engSignature,
this.nurseSignature,
this.preventiveVisitAttachments,
this.preventiveVisitCalibrations,
this.preventiveVisitChecklists,
this.preventiveVisitKits,
this.preventiveVisitTimers,
this.preventiveVisitSuppliers});
PlanPreventiveVisit.fromJson(Map<String, dynamic> json) {
id = json['id'];
visitNo = json['visitNo'];
asset = json['asset'] != null ? new Asset.fromJson(json['asset']) : null;
planNo = json['planNo'];
planName = json['planName'];
nextPMDate = json['nextPMDate'];
assetName = json['assetName'];
model = json['model'];
manufacturer = json['manufacturer'];
supplierName = json['supplierName'];
siteName = json['siteName'];
buildingName = json['buildingName'];
floorName = json['floorName'];
departmentName = json['departmentName'];
roomName = json['roomName'];
fromDate = json['fromDate'];
toDate = json['toDate'];
assignedEmployee = json['assignedEmployee'] != null ? new AssignedEmployee.fromJson(json['assignedEmployee']) : null;
acutalDateOfVisit = json['acutalDateOfVisit'];
typeOfService = json['typeOfService'] != null ? new Lookup.fromJson(json['typeOfService']) : null;
visitStatus = json['visitStatus'] != null ? new Lookup.fromJson(json['visitStatus']) : null;
travelingHours = json['travelingHours'];
comments = json['comments'];
executionTimeFrame = json['executionTimeFrame'];
taskStatus = json['taskStatus'] != null ? new Lookup.fromJson(json['taskStatus']) : null;
deviceStatus = json['deviceStatus'] != null ? new Lookup.fromJson(json['deviceStatus']) : null;
assetAvailability = json['assetAvailability'];
safety = json['safety'] != null ? new Lookup.fromJson(json['safety']) : null;
engSignature = json['engSignature'];
nurseSignature = json['nurseSignature'];
if (json['preventiveVisitAttachments'] != null) {
preventiveVisitAttachments = <PreventiveVisitAttachments>[];
json['preventiveVisitAttachments'].forEach((v) {
preventiveVisitAttachments!.add(new PreventiveVisitAttachments.fromJson(v));
});
}
if (json['preventiveVisitCalibrations'] != null) {
preventiveVisitCalibrations = <PreventiveVisitCalibrations>[];
json['preventiveVisitCalibrations'].forEach((v) {
preventiveVisitCalibrations!.add(new PreventiveVisitCalibrations.fromJson(v));
});
}
if (json['preventiveVisitChecklists'] != null) {
preventiveVisitChecklists = <PreventiveVisitChecklists>[];
json['preventiveVisitChecklists'].forEach((v) {
preventiveVisitChecklists!.add(new PreventiveVisitChecklists.fromJson(v));
});
}
if (json['preventiveVisitKits'] != null) {
preventiveVisitKits = <PreventiveVisitKits>[];
json['preventiveVisitKits'].forEach((v) {
preventiveVisitKits!.add(new PreventiveVisitKits.fromJson(v));
});
}
if (json['preventiveVisitTimers'] != null) {
preventiveVisitTimers = <PreventiveVisitTimers>[];
json['preventiveVisitTimers'].forEach((v) {
preventiveVisitTimers!.add(new PreventiveVisitTimers.fromJson(v));
});
}
if (json['preventiveVisitSuppliers'] != null) {
preventiveVisitSuppliers = <PreventiveVisitSuppliers>[];
json['preventiveVisitSuppliers'].forEach((v) {
preventiveVisitSuppliers!.add( PreventiveVisitSuppliers.fromJson(v));
});
}
}
Map<String, dynamic> toJson({required int status}) {
final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = id;
data['acutalDateOfVisit'] = acutalDateOfVisit;
data['statusValue'] = status;
data['typeOfServiceId'] = typeOfService?.id;
data['visitStatusValue'] = visitStatus?.value;
data['travelingHours'] = travelingHours;
data['comments'] = comments;
data['taskStatusId'] = taskStatus?.id;
data['deviceStatusId'] = deviceStatus?.id;
data['assetAvailabilityId'] = assetAvailability?.id;
data['safetyId'] = safety?.id;
data['engSignature'] = engSignature;
data['nurseSignature'] = nurseSignature;
//
// if (asset != null) {
// data['asset'] = asset!.toJson();
// }
// data['visitNo'] = visitNo;
// data['planNo'] = planNo;
// data['planName'] = planName;
// data['nextPMDate'] = nextPMDate;
// data['assetName'] = assetName;
// data['model'] = model;
// data['manufacturer'] = manufacturer;
// data['supplierName'] = supplierName;
// data['siteName'] = siteName;
// data['buildingName'] = buildingName;
// data['floorName'] = floorName;
// data['departmentName'] = departmentName;
// data['roomName'] = roomName;
// data['fromDate'] = fromDate;
// data['toDate'] = toDate;
// if (assignedEmployee != null) {
// data['assignedEmployee'] = assignedEmployee!.toJson();
// }
// data['acutalDateOfVisit'] = acutalDateOfVisit;
// if (typeOfService != null) {
// data['typeOfService'] = typeOfService!.toJson();
// }
// if (visitStatus != null) {
// data['visitStatus'] = visitStatus!.toJson();
// }
// data['travelingHours'] = travelingHours;
// data['comments'] = comments;
// data['executionTimeFrame'] = executionTimeFrame;
// if (taskStatus != null) {
// data['taskStatus'] = taskStatus!.toJson();
// }
// if (deviceStatus != null) {
// data['deviceStatus'] = deviceStatus!.toJson();
// }
// data['assetAvailability'] = assetAvailability;
// if (safety != null) {
// data['safety'] = safety!.toJson();
// }
// data['engSignature'] = engSignature;
// data['nurseSignature'] = nurseSignature;
if (preventiveVisitAttachments != null) {
data['preventiveVisitAttachments'] = preventiveVisitAttachments!.map((v) => v.toJson()).toList();
}
if (preventiveVisitCalibrations != null) {
data['preventiveVisitCalibrations'] = preventiveVisitCalibrations!.map((v) => v.toJson()).toList();
}
if (preventiveVisitChecklists != null) {
data['preventiveVisitChecklists'] = preventiveVisitChecklists!.map((v) => v.toJson()).toList();
}
if (preventiveVisitKits != null) {
data['preventiveVisitKits'] = preventiveVisitKits!.map((v) => v.toJson()).toList();
}
if (preventiveVisitTimers != null) {
data['preventiveVisitTimers'] = preventiveVisitTimers!.map((v) => v.toJson()).toList();
}
if (preventiveVisitSuppliers != null) {
data['preventiveVisitSuppliers'] = preventiveVisitSuppliers!.map((v) => v.toJson()).toList();
}
return data;
}
bool _isLocalUrl(String url) {
if (url.isEmpty != false) return false;
return url.startsWith("/") || url.startsWith("file://") || url.substring(1).startsWith(':\\');
}
Future<bool> validate(BuildContext context) async {
if (visitStatus?.id == null) {
await Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.status}");
return false;
}
if (acutalDateOfVisit == null) {
await Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.actualDate}");
return false;
}
// if (expectedDate == null) {
// await Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.visitDate}");
// return false;
// }
if (tbsTimer?.startAt == null) {
await Fluttertoast.showToast(msg: "Working Hours Required");
return false;
}
if (tbsTimer?.endAt == null) {
await Fluttertoast.showToast(msg: "Please Stop The Timer");
return false;
}
// if (externalEngineerTimer?.startAt != null && externalEngineerTimer?.endAt == null) {
// await Fluttertoast.showToast(msg: "Please Stop External Engineer Timer");
// return false;
// }
return true;
}
void removeEmptyObjects() {
// if (vCalibrationTools?.isNotEmpty ?? false) vCalibrationTools!.removeWhere((element) => element.assetId == null && element.calibrationDateOfTesters == null);
// if (vKits?.isNotEmpty ?? false) vKits!.removeWhere((element) => element.partName == null && element.partNumber == null);
}
}
// class PlanPreventiveVisit {
// String? id;
// String? visitNo;
// Asset? asset;
// String? planNo;
// String? planName;
// String? nextPMDate;
// String? assetName;
// String? model;
// String? manufacturer;
// String? supplierName;
// String? siteName;
// String? buildingName;
// String? floorName;
// String? departmentName;
// String? roomName;
// String? fromDate;
// String? toDate;
// AssignedEmployee? assignedEmployee;
// String? acutalDateOfVisit;
// TypeOfService? typeOfService;
// VisitStatus? visitStatus;
// String? travelingHours;
// String? comments;
// int? executionTimeFrame;
// Lookup? taskStatus;
// String? deviceStatus;
// Lookup? assetAvailability;
// Lookup? safety;
// String? engSignature;
// String? nurseSignature;
// List<PreventiveVisitChecklists>? preventiveVisitAttachments;
// List<PreventiveVisitChecklists>? preventiveVisitCalibrations;
// List<PreventiveVisitChecklists>? preventiveVisitChecklists;
// List<PreventiveVisitChecklists>? preventiveVisitKits;
// List<PreventiveVisitTimers>? preventiveVisitTimers;
// List<PreventiveVisitChecklists>? preventiveVisitSuppliers;
// TimerModel? tbsTimer = TimerModel();
//
// PlanPreventiveVisit(
// {this.id,
// this.visitNo,
// this.asset,
// this.planNo,
// this.planName,
// this.nextPMDate,
// this.assetName,
// this.model,
// this.manufacturer,
// this.supplierName,
// this.siteName,
// this.buildingName,
// this.floorName,
// this.departmentName,
// this.roomName,
// this.fromDate,
// this.toDate,
// this.assignedEmployee,
// this.acutalDateOfVisit,
// this.typeOfService,
// this.visitStatus,
// this.travelingHours,
// this.comments,
// this.executionTimeFrame,
// this.taskStatus,
// this.deviceStatus,
// this.assetAvailability,
// this.safety,
// this.engSignature,
// this.nurseSignature,
// this.preventiveVisitAttachments,
// this.preventiveVisitCalibrations,
// this.preventiveVisitChecklists,
// this.preventiveVisitKits,
// this.preventiveVisitTimers,
// this.preventiveVisitSuppliers});
//
// PlanPreventiveVisit.fromJson(Map<String, dynamic> json) {
// id = json['id'];
// visitNo = json['visitNo'];
// asset = json['asset'] != null ? new Asset.fromJson(json['asset']) : null;
// planNo = json['planNo'];
// planName = json['planName'];
// nextPMDate = json['nextPMDate'];
// assetName = json['assetName'];
// model = json['model'];
// manufacturer = json['manufacturer'];
// supplierName = json['supplierName'];
// siteName = json['siteName'];
// buildingName = json['buildingName'];
// floorName = json['floorName'];
// departmentName = json['departmentName'];
// roomName = json['roomName'];
// fromDate = json['fromDate'];
// toDate = json['toDate'];
// assignedEmployee = json['assignedEmployee'] != null ? new AssignedEmployee.fromJson(json['assignedEmployee']) : null;
// acutalDateOfVisit = json['acutalDateOfVisit'];
// typeOfService = json['typeOfService'] != null ? new TypeOfService.fromJson(json['typeOfService']) : null;
// visitStatus = json['visitStatus'] != null ? new VisitStatus.fromJson(json['visitStatus']) : null;
// travelingHours = json['travelingHours'];
// comments = json['comments'];
// executionTimeFrame = json['executionTimeFrame'];
// taskStatus = json['taskStatus'];
// deviceStatus = json['deviceStatus'];
// assetAvailability = json['assetAvailability'];
// safety = json['safety'];
// engSignature = json['engSignature'];
// nurseSignature = json['nurseSignature'];
// if (json['preventiveVisitAttachments'] != null) {
// preventiveVisitAttachments = <PreventiveVisitChecklists>[];
// json['preventiveVisitAttachments'].forEach((v) {
// preventiveVisitAttachments!.add(PreventiveVisitChecklists.fromJson(v));
// });
// }
// if (json['preventiveVisitCalibrations'] != null) {
// preventiveVisitCalibrations = <PreventiveVisitChecklists>[];
// json['preventiveVisitCalibrations'].forEach((v) {
// preventiveVisitCalibrations!.add(new PreventiveVisitChecklists.fromJson(v));
// });
// }
// if (json['preventiveVisitChecklists'] != null) {
// preventiveVisitChecklists = <PreventiveVisitChecklists>[];
// json['preventiveVisitChecklists'].forEach((v) {
// preventiveVisitChecklists!.add(new PreventiveVisitChecklists.fromJson(v));
// });
// }
// if (json['preventiveVisitKits'] != null) {
// preventiveVisitKits = <PreventiveVisitChecklists>[];
// json['preventiveVisitKits'].forEach((v) {
// preventiveVisitKits!.add(new PreventiveVisitChecklists.fromJson(v));
// });
// }
// if (json['preventiveVisitTimers'] != null) {
// preventiveVisitTimers = <PreventiveVisitTimers>[];
// json['preventiveVisitTimers'].forEach((v) {
// preventiveVisitTimers!.add(new PreventiveVisitTimers.fromJson(v));
// });
// }
// if (json['preventiveVisitSuppliers'] != null) {
// preventiveVisitSuppliers = <PreventiveVisitChecklists>[];
// json['preventiveVisitSuppliers'].forEach((v) {
// preventiveVisitSuppliers!.add(new PreventiveVisitChecklists.fromJson(v));
// });
// }
// }
//
// Map<String, dynamic> toJson() {
// final Map<String, dynamic> data = new Map<String, dynamic>();
// data['id'] = this.id;
// data['visitNo'] = this.visitNo;
// if (this.asset != null) {
// data['asset'] = this.asset!.toJson();
// }
// data['planNo'] = this.planNo;
// data['planName'] = this.planName;
// data['nextPMDate'] = this.nextPMDate;
// data['assetName'] = this.assetName;
// data['model'] = this.model;
// data['manufacturer'] = this.manufacturer;
// data['supplierName'] = this.supplierName;
// data['siteName'] = this.siteName;
// data['buildingName'] = this.buildingName;
// data['floorName'] = this.floorName;
// data['departmentName'] = this.departmentName;
// data['roomName'] = this.roomName;
// data['fromDate'] = this.fromDate;
// data['toDate'] = this.toDate;
// if (this.assignedEmployee != null) {
// data['assignedEmployee'] = this.assignedEmployee!.toJson();
// }
// data['acutalDateOfVisit'] = this.acutalDateOfVisit;
// if (this.typeOfService != null) {
// data['typeOfService'] = this.typeOfService!.toJson();
// }
// if (this.visitStatus != null) {
// data['visitStatus'] = this.visitStatus!.toJson();
// }
// data['travelingHours'] = this.travelingHours;
// data['comments'] = this.comments;
// data['executionTimeFrame'] = this.executionTimeFrame;
// data['taskStatus'] = this.taskStatus;
// data['deviceStatus'] = this.deviceStatus;
// data['assetAvailability'] = this.assetAvailability;
// data['safety'] = this.safety;
// data['engSignature'] = this.engSignature;
// data['nurseSignature'] = this.nurseSignature;
// if (this.preventiveVisitAttachments != null) {
// data['preventiveVisitAttachments'] = this.preventiveVisitAttachments!.map((v) => v.toJson()).toList();
// }
// if (this.preventiveVisitCalibrations != null) {
// data['preventiveVisitCalibrations'] = this.preventiveVisitCalibrations!.map((v) => v.toJson()).toList();
// }
// if (this.preventiveVisitChecklists != null) {
// data['preventiveVisitChecklists'] = this.preventiveVisitChecklists!.map((v) => v.toJson()).toList();
// }
// if (this.preventiveVisitKits != null) {
// data['preventiveVisitKits'] = this.preventiveVisitKits!.map((v) => v.toJson()).toList();
// }
// if (this.preventiveVisitTimers != null) {
// data['preventiveVisitTimers'] = this.preventiveVisitTimers!.map((v) => v.toJson()).toList();
// }
// if (this.preventiveVisitSuppliers != null) {
// data['preventiveVisitSuppliers'] = this.preventiveVisitSuppliers!.map((v) => v.toJson()).toList();
// }
// return data;
// }
//
// bool _isLocalUrl(String url) {
// if (url.isEmpty != false) return false;
// return url.startsWith("/") || url.startsWith("file://") || url.substring(1).startsWith(':\\');
// }
//
// Future<bool> validate(BuildContext context) async {
// if (visitStatus?.id == null) {
// await Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.status}");
// return false;
// }
// if (acutalDateOfVisit == null) {
// await Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.actualDate}");
// return false;
// }
// // if (expectedDate == null) {
// // await Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.visitDate}");
// // return false;
// // }
// if (tbsTimer?.startAt == null) {
// await Fluttertoast.showToast(msg: "Working Hours Required");
// return false;
// }
// if (tbsTimer?.endAt == null) {
// await Fluttertoast.showToast(msg: "Please Stop The Timer");
// return false;
// }
//
// // if (externalEngineerTimer?.startAt != null && externalEngineerTimer?.endAt == null) {
// // await Fluttertoast.showToast(msg: "Please Stop External Engineer Timer");
// // return false;
// // }
//
// return true;
// }
//
// void removeEmptyObjects() {
// // if (vCalibrationTools?.isNotEmpty ?? false) vCalibrationTools!.removeWhere((element) => element.assetId == null && element.calibrationDateOfTesters == null);
// // if (vKits?.isNotEmpty ?? false) vKits!.removeWhere((element) => element.partName == null && element.partNumber == null);
// }
// }
class Asset {
num? id;
String? assetNumber;
String? assetSerialNo;
Asset({this.id, this.assetNumber, this.assetSerialNo});
Asset.fromJson(Map<String, dynamic> json) {
id = json['id'];
assetNumber = json['assetNumber'];
assetSerialNo = json['assetSerialNo'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['assetNumber'] = this.assetNumber;
data['assetSerialNo'] = this.assetSerialNo;
return data;
}
}
class AssignedEmployee {
String? userId;
String? userName;
String? email;
String? employeeId;
int? languageId;
AssignedEmployee({this.userId, this.userName, this.email, this.employeeId, this.languageId});
AssignedEmployee.fromJson(Map<String, dynamic> json) {
userId = json['userId'];
userName = json['userName'];
email = json['email'];
employeeId = json['employeeId'];
languageId = json['languageId'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['userId'] = this.userId;
data['userName'] = this.userName;
data['email'] = this.email;
data['employeeId'] = this.employeeId;
data['languageId'] = this.languageId;
return data;
}
}
// class Lookup {
// int? id;
// String? name;
// int? value;
//
// Lookup({this.id, this.name, this.value});
//
// Lookup.fromJson(Map<String, dynamic> json) {
// id = json['id'];
// name = json['name'];
// value = json['value'];
// }
//
// Map<String, dynamic> toJson() {
// final Map<String, dynamic> data = new Map<String, dynamic>();
// data['id'] = this.id;
// data['name'] = this.name;
// data['value'] = this.value;
// return data;
// }
// }
// class VisitStatus {
// int? id;
// String? name;
// int? value;
//
// VisitStatus({this.id, this.name, this.value});
//
// VisitStatus.fromJson(Map<String, dynamic> json) {
// id = json['id'];
// name = json['name'];
// value = json['value'];
// }
//
// Map<String, dynamic> toJson() {
// final Map<String, dynamic> data = new Map<String, dynamic>();
// data['id'] = this.id;
// data['name'] = this.name;
// data['value'] = this.value;
// return data;
// }
// }
class PreventiveVisitChecklists {
int? id;
Lookup? taskStatus;
String? taskComment;
String? measuredValue;
InstructionText? instructionText;
PreventiveVisitChecklists({this.id, this.taskStatus, this.taskComment, this.measuredValue, this.instructionText});
PreventiveVisitChecklists.fromJson(Map<String, dynamic> json) {
id = json['id'];
taskStatus = json['taskStatus'] != null ? Lookup.fromJson(json['taskStatus']) : null;
taskComment = json['taskComment'];
measuredValue = json['measuredValue'];
instructionText = json['instructionText'] != null ? InstructionText.fromJson(json['instructionText']) : null;
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['taskStatus'] = this.taskStatus?.toJson();
data['taskComment'] = this.taskComment;
data['measuredValue'] = this.measuredValue;
if (this.instructionText != null) {
data['instructionText'] = this.instructionText!.toJson();
}
return data;
}
}
class InstructionText {
int? id;
String? text;
InstructionText({this.id, this.text});
InstructionText.fromJson(Map<String, dynamic> json) {
id = json['id'];
text = json['text'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['text'] = this.text;
return data;
}
}
class PreventiveVisitTimers {
int? id;
String? startDateTime;
String? endDateTime;
double? workingHours;
PreventiveVisitTimers({this.id, this.startDateTime, this.endDateTime, this.workingHours});
PreventiveVisitTimers.fromJson(Map<String, dynamic> json) {
id = json['id'];
startDateTime = json['startDateTime'];
endDateTime = json['endDateTime'];
workingHours = json['workingHours'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = id;
data['startDateTime'] = startDateTime;
data['endDateTime'] = endDateTime;
data['workingHours'] = workingHours;
return data;
}
}
class PreventiveVisitAttachments {
int? id;
String? attachmentName;
PreventiveVisitAttachments({this.id, this.attachmentName});
PreventiveVisitAttachments.fromJson(Map<String, dynamic> json) {
id = json['id'];
attachmentName = json['attachmentName'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = id;
data['attachmentName'] = attachmentName;
return data;
}
}
class PreventiveVisitCalibrations {
num? id;
Asset? asset;
String? calibrationDateOfTesters;
PreventiveVisitCalibrations({this.id, this.asset, this.calibrationDateOfTesters});
PreventiveVisitCalibrations.fromJson(Map<String, dynamic> json) {
id = json['id'];
asset = json['asset'] != null ? Asset.fromJson(json['asset']) : null;
calibrationDateOfTesters = json['calibrationDateOfTesters'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = id;
if (asset != null) {
data['asset'] = asset!.toJson();
}
data['calibrationDateOfTesters'] = calibrationDateOfTesters;
return data;
}
}
class PreventiveVisitSuppliers {
int? id;
SupplierDetails? supplier;
SuppPersons? suppPerson;
String? startDateTime;
String? endDateTime;
num? workingHours;
PreventiveVisitSuppliers({this.id, this.supplier, this.suppPerson, this.startDateTime, this.endDateTime, this.workingHours});
PreventiveVisitSuppliers.fromJson(Map<String, dynamic> json) {
id = json['id'];
supplier = json['supplier'] != null ? SupplierDetails.fromJson(json['supplier']) : null;
suppPerson = json['suppPerson'] != null ? SuppPersons.fromJson(json['suppPerson']) : null;
startDateTime = json['startDateTime'];
endDateTime = json['endDateTime'];
workingHours = json['workingHours'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = id;
if (supplier != null) {
data['supplier'] = supplier!.toJson();
}
if (suppPerson != null) {
data['suppPerson'] = suppPerson!.toJson();
}
data['startDateTime'] = startDateTime;
data['endDateTime'] = endDateTime;
data['workingHours'] = workingHours;
return data;
}
}
class Supplier {
int? id;
String? suppliername;
String? name;
String? website;
String? email;
String? code;
int? suppNo;
String? suppStatusId;
String? cityId;
String? person;
String? comment;
String? zipcode;
String? contact;
List<String>? telephones;
List<String>? faxes;
List<String>? addresses;
List<String>? attachments;
List<SuppPersons>? suppPersons;
List<String>? suppTCodes;
Supplier(
{this.id,
this.suppliername,
this.name,
this.website,
this.email,
this.code,
this.suppNo,
this.suppStatusId,
this.cityId,
this.person,
this.comment,
this.zipcode,
this.contact,
this.telephones,
this.faxes,
this.addresses,
this.attachments,
this.suppPersons,
this.suppTCodes});
Supplier.fromJson(Map<String, dynamic> json) {
id = json['id'];
suppliername = json['suppliername'];
name = json['name'];
website = json['website'];
email = json['email'];
code = json['code'];
suppNo = json['suppNo'];
suppStatusId = json['suppStatusId'];
cityId = json['cityId'];
person = json['person'];
comment = json['comment'];
zipcode = json['zipcode'];
contact = json['contact'];
if (json['telephones'] != null) {
telephones = <String>[];
json['telephones'].forEach((v) {
telephones!.add(v);
});
}
if (json['faxes'] != null) {
faxes = <String>[];
json['faxes'].forEach((v) {
faxes!.add(v);
});
}
if (json['addresses'] != null) {
addresses = <String>[];
json['addresses'].forEach((v) {
addresses!.add(v);
});
}
if (json['attachments'] != null) {
attachments = <String>[];
json['attachments'].forEach((v) {
attachments!.add(v);
});
}
if (json['suppPersons'] != null) {
suppPersons = <SuppPersons>[];
json['suppPersons'].forEach((v) {
suppPersons!.add(new SuppPersons.fromJson(v));
});
}
if (json['suppTCodes'] != null) {
suppTCodes = <String>[];
json['suppTCodes'].forEach((v) {
suppTCodes!.add(v);
});
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = id;
data['suppliername'] = suppliername;
data['name'] = name;
data['website'] = website;
data['email'] = email;
data['code'] = code;
data['suppNo'] = suppNo;
data['suppStatusId'] = suppStatusId;
data['cityId'] = cityId;
data['person'] = person;
data['comment'] = comment;
data['zipcode'] = zipcode;
data['contact'] = contact;
if (telephones != null) {
data['telephones'] = telephones!.map((v) => v).toList();
}
if (faxes != null) {
data['faxes'] = faxes!.map((v) => v).toList();
}
if (addresses != null) {
data['addresses'] = addresses!.map((v) => v).toList();
}
if (attachments != null) {
data['attachments'] = attachments!.map((v) => v).toList();
}
if (suppPersons != null) {
data['suppPersons'] = suppPersons!.map((v) => v.toJson()).toList();
}
if (suppTCodes != null) {
data['suppTCodes'] = suppTCodes!.map((v) => v).toList();
}
return data;
}
}
// class SuppPersons {
// int? id;
// int? supplierId;
// String? personName;
// int? personRoleId;
// String? contact;
// String? externalEngCode;
// String? email;
//
// SuppPersons({this.id, this.supplierId, this.personName, this.personRoleId, this.contact, this.externalEngCode, this.email});
//
// SuppPersons.fromJson(Map<String, dynamic> json) {
// id = json['id'];
// supplierId = json['supplierId'];
// personName = json['personName'];
// personRoleId = json['personRoleId'];
// contact = json['contact'];
// externalEngCode = json['externalEngCode'];
// email = json['email'];
// }
//
// Map<String, dynamic> toJson() {
// final Map<String, dynamic> data = new Map<String, dynamic>();
// data['id'] = this.id;
// data['supplierId'] = this.supplierId;
// data['personName'] = this.personName;
// data['personRoleId'] = this.personRoleId;
// data['contact'] = this.contact;
// data['externalEngCode'] = this.externalEngCode;
// data['email'] = this.email;
// return data;
// }
// }
class PreventiveVisitKits {
int? id;
PartCatalogItem? partCatalogItem;
PreventiveVisitKits({this.id, partCatalogItem});
PreventiveVisitKits.fromJson(Map<String, dynamic> json) {
id = json['id'];
partCatalogItem = json['partCatalogItem'] != null ? new PartCatalogItem.fromJson(json['partCatalogItem']) : null;
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = id;
if (partCatalogItem != null) {
data['partCatalogItem'] = partCatalogItem!.toJson();
}
return data;
}
}
class PartCatalogItem {
num? id;
String? partName;
String? partNumber;
String? oracleCode;
PartCatalogItem({this.id, this.partName, this.partNumber, this.oracleCode});
PartCatalogItem.fromJson(Map<String, dynamic> json) {
id = json['id'];
partName = json['partName'];
partNumber = json['partNumber'];
oracleCode = json['oracleCode'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = id;
data['partName'] = partName;
data['partNumber'] = partNumber;
data['oracleCode'] = oracleCode;
return data;
}
}