add timer list in asset transfer for sender and receiver

main_design2.0
nextwo 1 year ago
parent 67854d2e8c
commit b792585810

@ -165,7 +165,7 @@ class AssetTransferProvider extends ChangeNotifier {
stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
reset();
// Fluttertoast.showToast(msg: context.translation.successfulRequestMessage);
// Fluttertoast.showToast(msg: context.translation.successfulRequestMessage);
Navigator.of(context).pop();
// oldModel.fromDeviceTransfer(
// DeviceTransfer.fromJson(
@ -176,7 +176,7 @@ class AssetTransferProvider extends ChangeNotifier {
} else {
Fluttertoast.showToast(msg: "${context.translation.failedToCompleteRequest} :${json.decode(response.body)['message']}");
}
Navigator.pop(context,true);
Navigator.pop(context, true);
return response.statusCode;
} catch (error) {
Navigator.pop(context);

@ -8,72 +8,71 @@ import 'package:test_sa/models/timer_model.dart';
import 'asset_transfer_attachment.dart';
class AssetTransfer {
AssetTransfer({
this.id,
this.transferNo,
this.transferCode,
this.assetId,
this.destSiteId,
this.destBuildingId,
this.destFloorId,
this.destDepartmentId,
this.destRoomId,
this.senderSiteId,
this.senderBuildingId,
this.senderFloorId,
this.senderDepartmentId,
this.senderRoom,
this.senderAssignedEmployeeId,
this.senderMachineStatusId,
this.senderComment,
this.comment,
this.receiverEndUserId,
this.receiverEndUserName,
this.senderStartDate,
this.senderEndDate,
this.senderWorkingHours,
this.senderTravelingHours,
this.senderEngSignature,
this.senderAttachments,
this.receiverAssignedEmployeeId,
this.receiverMachineStatusId,
this.receiverComment,
this.receiverStartDate,
this.receiverEndDate,
this.receiverWorkingHours,
this.receiverTravelingHours,
this.receiverEngSignature,
this.receiverAttachments,
this.assetNumber,
this.assetName,
this.manufacturerName,
this.modelName,
this.assetSerialNo,
this.destDepartmentName,
this.destBuildingName,
this.applied,
this.createdOn,
this.destFloorName,
this.destSiteName,
this.manufacturerId,
this.modelId,
this.modifiedOn,
this.receiverAssignedEmployeeName,
this.receiverEngSignatureUrl,
this.receiverMachineStatusName,
this.senderAssignedEmployeeName,
this.senderBuildingName,
this.senderDepartmentName,
this.senderEngSignatureUrl,
this.senderFloorName,
this.senderMachineStatusName,
this.senderSiteName,
this.supplierId,
this.supplierName,
this.senderVisitTimers,
this.receiverVisitTimers,
this.tbsTimer
});
AssetTransfer(
{this.id,
this.transferNo,
this.transferCode,
this.assetId,
this.destSiteId,
this.destBuildingId,
this.destFloorId,
this.destDepartmentId,
this.destRoomId,
this.senderSiteId,
this.senderBuildingId,
this.senderFloorId,
this.senderDepartmentId,
this.senderRoom,
this.senderAssignedEmployeeId,
this.senderMachineStatusId,
this.senderComment,
this.comment,
this.receiverEndUserId,
this.receiverEndUserName,
this.senderStartDate,
this.senderEndDate,
this.senderWorkingHours,
this.senderTravelingHours,
this.senderEngSignature,
this.senderAttachments,
this.receiverAssignedEmployeeId,
this.receiverMachineStatusId,
this.receiverComment,
this.receiverStartDate,
this.receiverEndDate,
this.receiverWorkingHours,
this.receiverTravelingHours,
this.receiverEngSignature,
this.receiverAttachments,
this.assetNumber,
this.assetName,
this.manufacturerName,
this.modelName,
this.assetSerialNo,
this.destDepartmentName,
this.destBuildingName,
this.applied,
this.createdOn,
this.destFloorName,
this.destSiteName,
this.manufacturerId,
this.modelId,
this.modifiedOn,
this.receiverAssignedEmployeeName,
this.receiverEngSignatureUrl,
this.receiverMachineStatusName,
this.senderAssignedEmployeeName,
this.senderBuildingName,
this.senderDepartmentName,
this.senderEngSignatureUrl,
this.senderFloorName,
this.senderMachineStatusName,
this.senderSiteName,
this.supplierId,
this.supplierName,
this.senderVisitTimers,
this.receiverVisitTimers,
this.tbsTimer});
AssetTransfer.fromJson(dynamic json) {
id = json['id'];
@ -123,9 +122,9 @@ class AssetTransfer {
}
receiverVisitTimers = <VisitTimers>[];
if (json['assetTransferReceiverTimers'] != null) {
json['assetTransferReceiverTimers'].forEach((v) {
receiverVisitTimers.add(VisitTimers.fromJson(v));
});
json['assetTransferReceiverTimers'].forEach((v) {
receiverVisitTimers.add(VisitTimers.fromJson(v));
});
}
tbsTimer = TimerModel();
// try {
@ -241,74 +240,72 @@ class AssetTransfer {
List<VisitTimers> receiverVisitTimers;
TimerModel tbsTimer = TimerModel();
AssetTransfer copyWith({
num id,
num transferNo,
String transferCode,
num assetId,
num destSiteId,
num destBuildingId,
num destFloorId,
num destDepartmentId,
String destRoomId,
num senderSiteId,
num senderBuildingId,
num senderFloorId,
num senderDepartmentId,
String senderRoom,
String senderAssignedEmployeeId,
num senderMachineStatusId,
String senderComment,
String comment,
String receiverEndUserId,
String receiverEndUserName,
String senderStartDate,
String senderEndDate,
String senderWorkingHours,
String senderTravelingHours,
String senderEngSignature,
List<AssetTransferAttachment> senderAttachments,
String receiverAssignedEmployeeId,
num receiverMachineStatusId,
String receiverComment,
String receiverStartDate,
String receiverEndDate,
String receiverWorkingHours,
String receiverTravelingHours,
String receiverEngSignature,
List<AssetTransferAttachment> receiverAttachments,
num supplierId,
String supplierName,
String destSiteName,
String destBuildingName,
String destFloorName,
String destDepartmentNam,
String senderSiteName,
String senderBuildingName,
String senderFloorName,
String senderDepartmentName,
String senderAssignedEmployeeName,
String senderMachineStatusName,
String senderEngSignatureUrl,
String receiverAssignedEmployeeName,
String receiverMachineStatusName,
String receiverEngSignatureUrl,
bool applied,
String createdOn,
String modifiedOn,
String assetSerialNo,
String assetNumber,
String assetName,
int modelId,
String modelName,
int manufacturerId,
String manufacturerName,
String destDepartmentName,
List<VisitTimers> senderVisitTimers,
List<VisitTimers> receiverVisitTimers,
TimerModel tbsTimer
}) =>
AssetTransfer copyWith(
{num id,
num transferNo,
String transferCode,
num assetId,
num destSiteId,
num destBuildingId,
num destFloorId,
num destDepartmentId,
String destRoomId,
num senderSiteId,
num senderBuildingId,
num senderFloorId,
num senderDepartmentId,
String senderRoom,
String senderAssignedEmployeeId,
num senderMachineStatusId,
String senderComment,
String comment,
String receiverEndUserId,
String receiverEndUserName,
String senderStartDate,
String senderEndDate,
String senderWorkingHours,
String senderTravelingHours,
String senderEngSignature,
List<AssetTransferAttachment> senderAttachments,
String receiverAssignedEmployeeId,
num receiverMachineStatusId,
String receiverComment,
String receiverStartDate,
String receiverEndDate,
String receiverWorkingHours,
String receiverTravelingHours,
String receiverEngSignature,
List<AssetTransferAttachment> receiverAttachments,
num supplierId,
String supplierName,
String destSiteName,
String destBuildingName,
String destFloorName,
String destDepartmentNam,
String senderSiteName,
String senderBuildingName,
String senderFloorName,
String senderDepartmentName,
String senderAssignedEmployeeName,
String senderMachineStatusName,
String senderEngSignatureUrl,
String receiverAssignedEmployeeName,
String receiverMachineStatusName,
String receiverEngSignatureUrl,
bool applied,
String createdOn,
String modifiedOn,
String assetSerialNo,
String assetNumber,
String assetName,
int modelId,
String modelName,
int manufacturerId,
String manufacturerName,
String destDepartmentName,
List<VisitTimers> senderVisitTimers,
List<VisitTimers> receiverVisitTimers,
TimerModel tbsTimer}) =>
AssetTransfer(
id: id ?? this.id,
transferNo: transferNo ?? this.transferNo,
@ -370,9 +367,9 @@ class AssetTransfer {
modelId: modelId ?? this.modelId,
modelName: modelName ?? this.modelName,
manufacturerId: manufacturerId ?? this.manufacturerId,
senderVisitTimers: senderVisitTimers??this.senderVisitTimers,
receiverVisitTimers: receiverVisitTimers??this.receiverVisitTimers,
tbsTimer: tbsTimer??this.tbsTimer,
senderVisitTimers: senderVisitTimers ?? this.senderVisitTimers,
receiverVisitTimers: receiverVisitTimers ?? this.receiverVisitTimers,
tbsTimer: tbsTimer ?? this.tbsTimer,
manufacturerName: manufacturerName ?? this.manufacturerName);
Map<String, dynamic> toJson() {
@ -564,8 +561,8 @@ class AssetTransfer {
modelName = assetTransfer.modelName;
manufacturerId = assetTransfer.manufacturerId;
manufacturerName = assetTransfer.manufacturerName;
senderVisitTimers=assetTransfer.senderVisitTimers;
receiverVisitTimers=assetTransfer.receiverVisitTimers;
senderVisitTimers = assetTransfer.senderVisitTimers;
receiverVisitTimers = assetTransfer.receiverVisitTimers;
}
Future<bool> validate(BuildContext context) async {
@ -584,7 +581,8 @@ class AssetTransfer {
} else if (destDepartmentId == null) {
await Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.department}");
return false;
} if (tbsTimer?.startAt == null) {
}
if (tbsTimer?.startAt == null) {
await Fluttertoast.showToast(msg: "Working Hours Required");
return false;
}

@ -59,8 +59,7 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
List<File> _files = [];
_update() async {
if(widget.isSender) {
if (widget.isSender) {
_formModel.senderVisitTimers.add(
VisitTimers(
id: 0,
@ -118,7 +117,7 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
} catch (error) {
print(error);
}
await _deviceTransferProvider.updateRequest(context, assetTransfer: _formModel, isSender:widget.isSender);
await _deviceTransferProvider.updateRequest(context, assetTransfer: _formModel, isSender: widget.isSender);
}
@override
@ -148,9 +147,9 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
_settingProvider = Provider.of<SettingProvider>(context);
_deviceTransferProvider = Provider.of<AssetTransferProvider>(context, listen: false);
double totalWorkingHours = widget.isSender?
widget.model.senderVisitTimers.fold(0.0, (sum, item) => sum + DateTime.parse(item.endDateTime).difference(DateTime.parse(item.startDateTime)).inSeconds)
: widget.model.receiverVisitTimers.fold(0.0, (sum, item) => sum + DateTime.parse(item.endDateTime).difference(DateTime.parse(item.startDateTime)).inSeconds);
double totalWorkingHours = widget.isSender
? widget.model.senderVisitTimers.fold(0.0, (sum, item) => sum + DateTime.parse(item.endDateTime).difference(DateTime.parse(item.startDateTime)).inSeconds)
: widget.model.receiverVisitTimers.fold(0.0, (sum, item) => sum + DateTime.parse(item.endDateTime).difference(DateTime.parse(item.startDateTime)).inSeconds);
bool isTimerEnable = widget.isSender
? (!(_formModel?.senderMachineStatusName?.toLowerCase()?.contains("close") ?? false) || !(_formModel?.senderMachineStatusName?.toLowerCase()?.contains("complete") ?? false))
@ -305,7 +304,7 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
context.translation.transferDetails.heading5(context),
8.height,
'${context.translation.assetName}: ${_formModel.assetName.cleanupWhitespace.capitalizeFirstOfEach}'.bodyText(context),
'${context.translation.requesterName}: ${_formModel?.receiverEndUserName?.cleanupWhitespace?.capitalizeFirstOfEach??""}'.bodyText(context),
'${context.translation.requesterName}: ${_formModel?.receiverEndUserName?.cleanupWhitespace?.capitalizeFirstOfEach ?? ""}'.bodyText(context),
],
).toShadowContainer(context);
}
@ -331,5 +330,4 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
return formattedDuration.trim();
}
}

Loading…
Cancel
Save