ready for initial testing

design_3.0_latest
muhammad.abbasi 1 year ago
parent 0dd4a0f254
commit 044eadaacc

@ -71,6 +71,7 @@ class ActivityMaintenanceHelperModel {
data['supplierStartTime'] = supplierStartTime?.toIso8601String();
data['supplierEndTime'] = supplierEndTime?.toIso8601String();
data['supplierWorkingHour'] = supplierWorkingHour;
print('model i got is ${modelAssistantEmployees?.toJson()}');
if (assignedEmployee != null&&assignedEmployee?.userId!=null) {
data['assistantEmployees'] = [modelAssistantEmployees?.toJson()];
}

@ -30,8 +30,7 @@ class WorkOrderDetail {
);
}
Map<String, dynamic> toJson() =>
{
Map<String, dynamic> toJson() => {
"data": data?.toJson(),
"message": message,
"title": title,
@ -88,47 +87,47 @@ class WorkOrderData {
});
int? requestId;
String? workOrderNo;
WorkOrderAssignedEmployee? workOrderCreatedBy;
DateTime? requestedDate;
String? workOrderNo;
WorkOrderAssignedEmployee? workOrderCreatedBy;
DateTime? requestedDate;
WorkOrderAsset? asset;
Lookup? assetGroup;
Lookup? manufacturer;
Lookup? model;
Lookup? assetNdModel;
Site? site;
Lookup? building;
Lookup? floor;
AssetGroup? department;
int? room;
Lookup? assetType;
WorkOrderAssignedEmployee? assignedEmployee;
String? lastActivityStatus;
Lookup? status;
Lookup? nextStep;
int? assetVerificationType;
List<WorkOrderContactPerson> workOrderContactPerson;
Lookup? equipmentStatus;
Lookup? priority;
Lookup? requestedThrough;
Lookup? typeofRequest;
Lookup? loanAvailablity;
Lookup? assetLoan;
Lookup? safety;
Lookup? problemDescription;
String? comments;
String? voiceNote;
List<WorkOrderAttachments> workOrderAttachments;
String? returnToService;
Lookup? serviceType;
Lookup? failureReasone;
Lookup? solution;
String? totalWorkingHours;
Lookup? assetGroup;
Lookup? manufacturer;
Lookup? model;
Lookup? assetNdModel;
Site? site;
Lookup? building;
Lookup? floor;
AssetGroup? department;
int? room;
Lookup? assetType;
WorkOrderAssignedEmployee? assignedEmployee;
String? lastActivityStatus;
Lookup? status;
Lookup? nextStep;
int? assetVerificationType;
List<WorkOrderContactPerson> workOrderContactPerson;
Lookup? equipmentStatus;
Lookup? priority;
Lookup? requestedThrough;
Lookup? typeofRequest;
Lookup? loanAvailablity;
Lookup? assetLoan;
Lookup? safety;
Lookup? problemDescription;
String? comments;
String? voiceNote;
List<WorkOrderAttachments> workOrderAttachments;
String? returnToService;
Lookup? serviceType;
Lookup? failureReasone;
Lookup? solution;
String? totalWorkingHours;
DateTime? needAVisitDateTime;
String?needAVisitComment;
List<WorkOrderHistory> workOrderHistory;
List<Activities> activities;
List<dynamic> activityAssetToBeRetireds;
String? needAVisitComment;
List<WorkOrderHistory> workOrderHistory;
List<Activities> activities;
List<dynamic> activityAssetToBeRetireds;
factory WorkOrderData.fromJson(Map<String, dynamic> json) {
return WorkOrderData(
@ -163,7 +162,7 @@ class WorkOrderData {
problemDescription: json["problemDescription"] == null ? null : Lookup.fromJson(json["problemDescription"]),
comments: json["comments"],
voiceNote: json["voiceNote"],
workOrderAttachments: json["workOrderAttachments"] == null ? [] : List.from(json['workOrderAttachments']).map((e)=>WorkOrderAttachments.fromJson(e)).toList(),
workOrderAttachments: json["workOrderAttachments"] == null ? [] : List.from(json['workOrderAttachments']).map((e) => WorkOrderAttachments.fromJson(e)).toList(),
returnToService: json["returnToService"],
serviceType: json["serviceType"] == null ? null : Lookup.fromJson(json["serviceType"]),
failureReasone: json["failureReasone"] == null ? null : Lookup.fromJson(json["failureReasone"]),
@ -177,8 +176,7 @@ class WorkOrderData {
);
}
Map<String, dynamic> toJson() =>
{
Map<String, dynamic> toJson() => {
"id": requestId,
"workOrderNo": workOrderNo,
"workOrderCreatedBy": workOrderCreatedBy?.toJson(),
@ -211,7 +209,7 @@ class WorkOrderData {
"problemDescription": problemDescription?.toJson(),
"comments": comments,
"voiceNote": voiceNote,
"workOrderAttachments": workOrderAttachments.map((e)=>e.toJson()).toList(),
"workOrderAttachments": workOrderAttachments.map((e) => e.toJson()).toList(),
"returnToService": returnToService,
"serviceType": serviceType?.toJson(),
"failureReasone": failureReasone?.toJson(),
@ -221,22 +219,33 @@ class WorkOrderData {
"activities": activities.map((x) => x.toJson()).toList(),
"activityAssetToBeRetireds": activityAssetToBeRetireds.map((x) => x).toList(),
};
Map<String, dynamic> toFixRemotelyJson() {
return {'workOrderId': workOrderNo, 'startDate': workOrderHistory.isNotEmpty? workOrderHistory[0].fixRemotlyStartTime:'', 'endDate': workOrderHistory.isNotEmpty? workOrderHistory[0].fixRemotlyEndTime:'', 'workingHour':'', 'comment': comments};
return {
'workOrderId': workOrderNo,
'startDate': workOrderHistory.isNotEmpty ? workOrderHistory[0].fixRemotlyStartTime : '',
'endDate': workOrderHistory.isNotEmpty ? workOrderHistory[0].fixRemotlyEndTime : '',
'workingHour': '',
'comment': comments
};
}
//TODO feedback not defined...
Map<String, dynamic> toMarkAsFixedJson() {
return {'workOrderId': workOrderNo, 'feedback': comments};
}
Map<String, dynamic> toNeedVisitJson() {
return {'workOrderId': workOrderNo, 'visitDate': workOrderHistory.isNotEmpty? workOrderHistory[0].needAVisitDateTime:'', 'comment': comments};
return {'workOrderId': workOrderNo, 'visitDate': workOrderHistory.isNotEmpty ? workOrderHistory[0].needAVisitDateTime : '', 'comment': comments};
}
//TODO signatureNurse not defined...
Map<String, dynamic> toNurseActionJson() {
return {'workOrderId': workOrderNo, 'feedback': '', 'signatureNurse': 'signatureNurse'};
}
Map<String, dynamic> toWorkOrderJson() {
final Map<String, dynamic> data = <String, dynamic>{};
final Map<String, dynamic> data = <String, dynamic>{};
data['workOrderId'] = requestId;
data['equipmentStatusId'] = equipmentStatus?.id;
data['returnToService'] = returnToService;
@ -256,8 +265,8 @@ class WorkOrderAsset {
required this.assetNumber,
});
int? id;
String? assetNumber;
int? id;
String? assetNumber;
factory WorkOrderAsset.fromJson(Map<String, dynamic> json) {
return WorkOrderAsset(
@ -266,8 +275,7 @@ class WorkOrderAsset {
);
}
Map<String, dynamic> toJson() =>
{
Map<String, dynamic> toJson() => {
"id": id,
"assetNumber": assetNumber,
};
@ -279,8 +287,8 @@ class AssetGroup {
required this.name,
});
int? id;
String? name;
int? id;
String? name;
factory AssetGroup.fromJson(Map<String, dynamic> json) {
return AssetGroup(
@ -289,8 +297,7 @@ class AssetGroup {
);
}
Map<String, dynamic> toJson() =>
{
Map<String, dynamic> toJson() => {
"id": id,
"name": name,
};
@ -304,10 +311,10 @@ class WorkOrderAssignedEmployee {
required this.languageId,
});
dynamic userId;
String? userName;
String? email;
int? languageId;
dynamic userId;
String? userName;
String? email;
int? languageId;
factory WorkOrderAssignedEmployee.fromJson(Map<String, dynamic> json) {
return WorkOrderAssignedEmployee(
@ -318,14 +325,14 @@ class WorkOrderAssignedEmployee {
);
}
Map<String, dynamic> toJson() =>
{
Map<String, dynamic> toJson() => {
"userId": userId,
"userName": userName,
"email": email,
"languageId": languageId,
};
}
class Activities {
int? id;
int? orderNo;
@ -334,32 +341,20 @@ class Activities {
ActivitySparePart? activitySparePart;
String? activityType;
Activities(
{this.id,
this.orderNo,
this.activityStatus,
this.activityMaintenance,
this.activityType,
this.activitySparePart});
Activities({this.id, this.orderNo, this.activityStatus, this.activityMaintenance, this.activityType, this.activitySparePart});
Activities.fromJson(Map<String, dynamic> json) {
id = json['id'];
orderNo = json['orderNo'];
activityStatus = json['activityStatus'] != null
? Lookup.fromJson(json['activityStatus'])
: null;
activityMaintenance = json['activityMaintenance'] != null
? ActivityMaintenance.fromJson(json['activityMaintenance'])
: null;
if(activityMaintenance!=null){
activityType='Maintenance Request';
activityStatus = json['activityStatus'] != null ? Lookup.fromJson(json['activityStatus']) : null;
activityMaintenance = json['activityMaintenance'] != null ? ActivityMaintenance.fromJson(json['activityMaintenance']) : null;
if (activityMaintenance != null) {
activityType = 'Maintenance Request';
}
activitySparePart = json['activitySparePart'] != null
? ActivitySparePart.fromJson(json['activitySparePart'])
: null;
if(activitySparePart!=null){
activityType='Spare Part Request';
activitySparePart = json['activitySparePart'] != null ? ActivitySparePart.fromJson(json['activitySparePart']) : null;
if (activitySparePart != null) {
activityType = 'Spare Part Request';
}
}
@ -409,18 +404,11 @@ class ActivitySparePart {
String? comment;
List<SparePartAttachments>? acitiySparePartAttachments;
ActivitySparePart(
{this.id,
this.partCatalogItem,
this.quantity,
this.comment,
this.acitiySparePartAttachments});
ActivitySparePart({this.id, this.partCatalogItem, this.quantity, this.comment, this.acitiySparePartAttachments});
ActivitySparePart.fromJson(Map<String, dynamic> json) {
id = json['id'];
partCatalogItem = json['partCatalogItem'] != null
? new PartCatalogItem.fromJson(json['partCatalogItem'])
: null;
partCatalogItem = json['partCatalogItem'] != null ? new PartCatalogItem.fromJson(json['partCatalogItem']) : null;
quantity = json['quantity'];
comment = json['comment'];
if (json['acitiySparePartAttachments'] != null) {
@ -440,8 +428,7 @@ class ActivitySparePart {
data['quantity'] = quantity;
data['comment'] = comment;
if (acitiySparePartAttachments != null) {
data['acitiySparePartAttachments'] =
acitiySparePartAttachments!.map((v) => v.toJson()).toList();
data['acitiySparePartAttachments'] = acitiySparePartAttachments!.map((v) => v.toJson()).toList();
}
return data;
}
@ -451,13 +438,15 @@ class PartCatalogItem {
int? id;
String? partName;
String? partNumber;
String? oracleCode;
PartCatalogItem({this.id, this.partName, this.partNumber});
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() {
@ -469,15 +458,14 @@ class PartCatalogItem {
}
}
class Site {
Site({
required this.id,
required this.siteName,
});
int? id;
String? siteName;
int? id;
String? siteName;
factory Site.fromJson(Map<String, dynamic> json) {
return Site(
@ -486,8 +474,7 @@ class Site {
);
}
Map<String, dynamic> toJson() =>
{
Map<String, dynamic> toJson() => {
"id": id,
"siteName": siteName,
};
@ -505,14 +492,14 @@ class WorkOrderContactPerson {
required this.contactUser,
});
int? id;
String? name;
String? employeeId;
String? position;
dynamic extension;
String? email;
dynamic mobilePhone;
WorkOrderAssignedEmployee? contactUser;
int? id;
String? name;
String? employeeId;
String? position;
dynamic extension;
String? email;
dynamic mobilePhone;
WorkOrderAssignedEmployee? contactUser;
factory WorkOrderContactPerson.fromJson(Map<String, dynamic> json) {
return WorkOrderContactPerson(
@ -527,8 +514,7 @@ class WorkOrderContactPerson {
);
}
Map<String, dynamic> toJson() =>
{
Map<String, dynamic> toJson() => {
"id": id,
"name": name,
"employeeId": employeeId,
@ -555,17 +541,17 @@ class WorkOrderHistory {
required this.needAVisitDateTime,
});
int? id;
Lookup? workorderStatus;
dynamic activityStatus;
DateTime? date;
WorkOrderAssignedEmployee? user;
Lookup? step;
DateTime? fixRemotlyStartTime;
DateTime? fixRemotlyEndTime;
num? fixRemotlyWorkingHours;
String? comments;
DateTime? needAVisitDateTime;
int? id;
Lookup? workorderStatus;
dynamic activityStatus;
DateTime? date;
WorkOrderAssignedEmployee? user;
Lookup? step;
DateTime? fixRemotlyStartTime;
DateTime? fixRemotlyEndTime;
num? fixRemotlyWorkingHours;
String? comments;
DateTime? needAVisitDateTime;
factory WorkOrderHistory.fromJson(Map<String, dynamic> json) {
return WorkOrderHistory(
@ -583,8 +569,7 @@ class WorkOrderHistory {
);
}
Map<String, dynamic> toJson() =>
{
Map<String, dynamic> toJson() => {
"id": id,
"workorderStatus": workorderStatus?.toJson(),
"activityStatus": activityStatus,
@ -598,6 +583,7 @@ class WorkOrderHistory {
"needAVisitDateTime": needAVisitDateTime?.toIso8601String(),
};
}
class ActivityMaintenance {
int? id;
ActivityStatus? activityStatus;
@ -635,22 +621,16 @@ class ActivityMaintenance {
this.assistantEmployees});
ActivityMaintenance.fromJson(Map<String, dynamic> json) {
print('activity status i got is ${json['activityStatus']}');
print('activity status i got is ${json['activityStatus']}');
id = json['id'];
activityStatus = json['activityStatus'] != null
? ActivityStatus.fromJson(json['activityStatus'])
: null;
activityStatus = json['activityStatus'] != null ? ActivityStatus.fromJson(json['activityStatus']) : null;
startTime = json['startTime'];
endTime = json['endTime'];
workingHours = json['workingHours'];
travelHours = json['travelHours'];
lastSituation = json['lastSituation'] != null ? Lookup.fromJson(json['lastSituation']) : null;
repairLocation = json['repairLocation'] != null
? Lookup.fromJson(json['repairLocation'])
: null;
assignedEmployee = json['assignedEmployee'] != null
? AssignedEmployee.fromJson(json['assignedEmployee'])
: null;
lastSituation = json['lastSituation'] != null ? Lookup.fromJson(json['lastSituation']) : null;
repairLocation = json['repairLocation'] != null ? Lookup.fromJson(json['repairLocation']) : null;
assignedEmployee = json['assignedEmployee'] != null ? AssignedEmployee.fromJson(json['assignedEmployee']) : null;
technicalComment = json['technicalComment'];
//json["supplier"] == null ? null : Lookup.fromJson(json["supplier"]),
supplier = json["supplier"] == null ? null : Lookup.fromJson(json["supplier"]);
@ -662,7 +642,7 @@ class ActivityMaintenance {
if (json['assistantEmployees'] != null) {
assistantEmployees = <ActivityMaintenanceAssistantEmployees>[];
json['assistantEmployees'].forEach((v) {
assistantEmployees!.add( ActivityMaintenanceAssistantEmployees.fromJson(v));
assistantEmployees!.add(ActivityMaintenanceAssistantEmployees.fromJson(v));
});
}
}
@ -688,8 +668,7 @@ class ActivityMaintenance {
data['supplierEndTime'] = supplierEndTime;
data['supplierWorkingHours'] = supplierWorkingHours;
if (assistantEmployees != null) {
data['assistantEmployees'] =
assistantEmployees!.map((v) => v.toJson()).toList();
data['assistantEmployees'] = assistantEmployees!.map((v) => v.toJson()).toList();
}
return data;
}
@ -749,22 +728,14 @@ class ActivityMaintenanceAssistantEmployees {
String? technicalComment;
AssignedEmployee? user;
ActivityMaintenanceAssistantEmployees(
{this.startDate,
this.endDate,
this.workingHours,
this.technicalComment,
this.user});
ActivityMaintenanceAssistantEmployees({this.startDate, this.endDate, this.workingHours, this.technicalComment, this.user});
ActivityMaintenanceAssistantEmployees.fromJson(Map<String, dynamic> json) {
startDate = json['startDate']!=null?DateTime.parse(json['startDate']):null;
endDate = json['endDate']!=null?DateTime.parse(json['endDate']):null;
startDate = json['startDate'] != null ? DateTime.parse(json['startDate']) : null;
endDate = json['endDate'] != null ? DateTime.parse(json['endDate']) : null;
workingHours = json['workingHours'];
technicalComment = json['technicalComment'];
user = json['user'] != null
? AssignedEmployee.fromJson(json['user'])
: null;
user = json['user'] != null ? AssignedEmployee.fromJson(json['user']) : null;
}
Map<String, dynamic> toJson() {
@ -779,4 +750,3 @@ class ActivityMaintenanceAssistantEmployees {
return data;
}
}

@ -167,7 +167,8 @@ class _ActivitiesListViewState extends State<ActivitiesListView> {
sparePart: SparePart(
id: activity.activitySparePart?.partCatalogItem?.id,
partName: activity.activitySparePart?.partCatalogItem?.partName,
partNo: activity.activitySparePart?.partCatalogItem?.partNumber),
partNo: activity.activitySparePart?.partCatalogItem?.partNumber,
oracleCode: activity.activitySparePart?.partCatalogItem?.oracleCode),
quantity: activity.activitySparePart?.quantity,
activityStatusId: activity.activityStatus?.id,
//TODO commets are missing in api response..
@ -260,7 +261,7 @@ class _ActivitiesListViewState extends State<ActivitiesListView> {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
"edit_icon".toSvgAsset(height: 21, width: 21).onPress(() {
onEditPress(context: context, requestDetailProvider: requestDetailProvider, activity: activity);
onEditMaintenanceRequestPress(context: context, requestDetailProvider: requestDetailProvider, activity: activity);
}),
24.width,
"delete_icon".toSvgAsset(height: 21, width: 21).onPress(() async {
@ -322,7 +323,7 @@ class _ActivitiesListViewState extends State<ActivitiesListView> {
});
}
void onEditPress({required BuildContext context, required RequestDetailProvider requestDetailProvider, required Activities activity}) async {
void onEditMaintenanceRequestPress({required BuildContext context, required RequestDetailProvider requestDetailProvider, required Activities activity}) async {
Map<String, dynamic> assistEmpData = {};
try {
if (activity.activityMaintenance?.assistantEmployees != null && activity.activityMaintenance!.assistantEmployees!.isNotEmpty) {

@ -90,7 +90,7 @@ class _AssistantEmployeeCardState extends State<AssistantEmployeeCard> {
requestDetailProvider.activityMaintenanceHelperModel?.assistantEmployees = [];
} else {
requestDetailProvider.activityMaintenanceHelperModel?.assistantEmployees = [employee.copyWith(id: 0)];
requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees?.user?.userId=employee.user?.id;
requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees?.user= AssignedEmployee(userId: employee.user?.id,userName:employee.user?.name );
}
},

@ -247,7 +247,7 @@ class _ExternalMaintenanceRequestState extends State<ExternalMaintenanceRequest>
int hours = calculateWorkingHours(requestDetailProvider.activityMaintenanceHelperModel!.supplierStartTime, requestDetailProvider.activityMaintenanceHelperModel!.supplierEndTime);
if (hours != -1) {
_workingHoursController.text = hours.toString();
requestDetailProvider.activityMaintenanceHelperModel!.workingHour = hours;
requestDetailProvider.activityMaintenanceHelperModel!.supplierWorkingHour = hours;
}
}
}

@ -187,12 +187,6 @@ class _SparePartRequestState extends State<SparePartRequest> with TickerProvider
files: _files,
buttonIcon: 'quotation_icon'.toSvgAsset(),
buttonColor: AppColor.primary10,
onChange: (List<MultiFilesPickerModel> list) {
for (var element in list) {
print('path is ${element.file.path}');
}
},
),
],
).paddingAll(16),
@ -225,8 +219,12 @@ class _SparePartRequestState extends State<SparePartRequest> with TickerProvider
//this is for hide the dialoge...
Navigator.pop(context);
Navigator.pop(context);
ServiceRequestBottomSheet.addAnotherSpareRequestBottomSheet(context: context);
SizedBox().flushBar(context: context, title: context.translation.sparePartActivitySuccess, message: '');
//show this only for add form..
if(_requestDetailProvider?.sparePartHelperModel?.id==0){
ServiceRequestBottomSheet.addAnotherSpareRequestBottomSheet(context: context);
SizedBox().flushBar(context: context, title: context.translation.sparePartActivitySuccess, message: '');
}
} else {
Navigator.pop(context);
}

Loading…
Cancel
Save