startdate, end date & working hours fixed.

merge-requests/32/head
Sikander Saleem 2 years ago
parent 1b7c1a3692
commit ffacf3949e

@ -24,6 +24,8 @@ class DeviceTransferProvider extends ChangeNotifier {
floor = null;
department = null;
room="";
startDate = null;
endDate = null;
}
// state code of current request to defied error message
@ -177,6 +179,8 @@ class DeviceTransferProvider extends ChangeNotifier {
"senderMachineStatusId": newModel.status.id,
"senderComment": newModel.comment,
"senderWorkingHours": newModel.workingHours,
"senderStartDate": newModel.startDate?.toIso8601String(),
"senderEndDate": newModel.endDate?.toIso8601String(),
"senderTravelingHours": newModel.travelingHours,
"senderAttachmentName": "${newModel.signature}.png",
"destSiteId": oldModel.receiver.client.id,
@ -185,6 +189,8 @@ class DeviceTransferProvider extends ChangeNotifier {
"receiverMachineStatusId": oldModel.receiver.status.id ?? "",
"receiverComment": oldModel.receiver.comment,
"receiverWorkingHours": oldModel.receiver.workingHours,
"receiverStartDate": oldModel.receiver.startDate?.toIso8601String(),
"receiverEndDate": oldModel.receiver.endDate?.toIso8601String(),
"receiverTravelingHours": oldModel.receiver.travelingHours,
"receiverAttachmentName": "${oldModel.receiver.signature}.png",
});
@ -196,6 +202,8 @@ class DeviceTransferProvider extends ChangeNotifier {
"senderMachineStatusId": oldModel.sender.status.id,
"senderComment": oldModel.sender.comment,
"senderWorkingHours": oldModel.sender.workingHours,
"senderStartDate": oldModel.sender.startDate?.toIso8601String(),
"senderEndDate": oldModel.sender.endDate?.toIso8601String(),
"senderTravelingHours": oldModel.sender.travelingHours,
"senderAttachmentName": "${oldModel.sender.signature}.png",
"destSiteId": newModel.client.id,
@ -204,6 +212,8 @@ class DeviceTransferProvider extends ChangeNotifier {
"receiverMachineStatusId": newModel.status?.id ?? "",
"receiverComment": newModel.comment,
"receiverWorkingHours": newModel.workingHours,
"receiverStartDate": newModel.startDate?.toIso8601String(),
"receiverEndDate": newModel.endDate?.toIso8601String(),
"receiverTravelingHours": newModel.travelingHours,
"receiverAttachmentName": "${newModel.signature}.png",
});

@ -59,6 +59,8 @@ class DeviceTransfer {
travelingHours: parsedJson["senderTravelingHours"],
comment: parsedJson["senderComment"],
workingHours: parsedJson["senderWorkingHours"],
startDate: parsedJson["senderStartDate"]==null ? null:DateTime.parse(parsedJson["senderStartDate"]),
endDate: parsedJson["senderEndDate"]==null ? null:DateTime.parse(parsedJson["senderEndDate"]),
userId: parsedJson["senderAssignedEmployeeId"],
userName: parsedJson["senderAssignedEmployeeName"],
assignedEmployeeName: parsedJson["senderAssignedEmployeeName"],
@ -78,6 +80,8 @@ class DeviceTransfer {
travelingHours: parsedJson["receiverTravelingHours"],
comment: parsedJson["receiverComment"],
workingHours: parsedJson["receiverWorkingHours"],
startDate: parsedJson["receiverStartDate"]==null ? null:DateTime.parse(parsedJson["receiverStartDate"]),
endDate: parsedJson["receiverEndDate"]==null ? null:DateTime.parse(parsedJson["receiverEndDate"]),
userId: parsedJson["receiverAssignedEmployeeId"],
userName: parsedJson["receiverAssignedEmployeeName"],
assignedEmployeeName: parsedJson["receiverAssignedEmployeeName"],

@ -8,6 +8,8 @@ class DeviceTransferInfo {
Hospital client;
Department department;
String workingHours;
DateTime startDate;
DateTime endDate;
String travelingHours;
String userName;
String signature;
@ -21,6 +23,8 @@ class DeviceTransferInfo {
this.client,
this.userName,
this.travelingHours,
this.startDate,
this.endDate,
this.workingHours,
this.signature,
this.status,
@ -33,6 +37,8 @@ class DeviceTransferInfo {
if (comment != null && comment.isNotEmpty) body["${baseKey}comment"] = comment;
if (workingHours != null && workingHours.isNotEmpty) body["${baseKey}working_hours"] = workingHours;
if (startDate != null) body["${baseKey}start_date"] = startDate?.toIso8601String();
if (endDate != null) body["${baseKey}end_date"] = endDate?.toIso8601String();
if (travelingHours != null && travelingHours.isNotEmpty) body["${baseKey}travel_hours"] = travelingHours;
if (status != null) body["${baseKey}status"] = status.id.toString();
if (signature != null && signature.isNotEmpty) body["${baseKey}image"] = signature;
@ -51,6 +57,8 @@ class DeviceTransferInfo {
client = Hospital.fromHospital(old.client);
department = Department.fromDepartment(old.department);
workingHours = old.workingHours;
startDate = old.startDate;
endDate = old.endDate;
travelingHours = old.travelingHours;
comment = old.comment;
if (withSignature) signature = old.signature;
@ -60,6 +68,8 @@ class DeviceTransferInfo {
factory DeviceTransferInfo.fromJson(Map<String, dynamic> parsedJson, String key) {
return DeviceTransferInfo(
workingHours: parsedJson["${key}working_hours"],
startDate: parsedJson["${key}start_date"],
endDate: parsedJson["${key}end_date"],
travelingHours: parsedJson["${key}travel_hours"],
userName: parsedJson["${key}name"],
signature: parsedJson["${key}image"],

@ -8,8 +8,9 @@ class Engineer {
});
factory Engineer.fromJson(Map<String, dynamic> parsedJson) {
if(parsedJson==null) return Engineer();
return Engineer(
id: parsedJson["userId"] ?? parsedJson["id"],
id: parsedJson["userId"] ?? parsedJson["id"],
name: parsedJson["userName"] ?? parsedJson["name"],
);
}

@ -25,6 +25,7 @@ import '../../widgets/date_and_time/time_picker.dart';
class UpdateDeviceTransfer extends StatefulWidget {
final DeviceTransfer model;
final bool isSender;
const UpdateDeviceTransfer({Key key, this.model, this.isSender}) : super(key: key);
@override
@ -162,12 +163,12 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
height: 8 * AppStyle.getScaleFactor(context),
),
ADateTimePicker(
date: _deviceTransferProvider.startDate,
date: _formModel.startDate,
from: DateTime.now().subtract(const Duration(days: 365)),
to: DateTime.now().add(const Duration(days: 365)),
onDateTimePicker: (date) {
_deviceTransferProvider.startDate = date;
_formModel.workingHours=((_deviceTransferProvider.endDate?.difference(_deviceTransferProvider.startDate)?.inMinutes ?? 0) / 60)?.toStringAsFixed(2)?.toString() ?? 0;
_formModel.startDate = date;
_formModel.workingHours = ((_formModel.endDate?.difference(_formModel.startDate)?.inMinutes ?? 0) / 60)?.toStringAsFixed(2)?.toString() ?? 0;
setState(() {});
},
),
@ -184,12 +185,12 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
height: 8 * AppStyle.getScaleFactor(context),
),
ADateTimePicker(
date: _deviceTransferProvider.endDate,
date: _formModel.endDate,
from: DateTime.now().subtract(const Duration(days: 365)),
to: DateTime.now().add(const Duration(days: 365)),
onDateTimePicker: (date) {
_deviceTransferProvider.endDate = date;
_formModel.workingHours=((_deviceTransferProvider.endDate?.difference(_deviceTransferProvider.startDate)?.inMinutes ?? 0) / 60)?.toStringAsFixed(2)?.toString() ?? 0;
_formModel.endDate = date;
_formModel.workingHours = ((_formModel.endDate?.difference(_formModel.startDate)?.inMinutes ?? 0) / 60)?.toStringAsFixed(2)?.toString() ?? 0;
setState(() {});
},
),
@ -198,12 +199,13 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
),
],
),
const SizedBox(height: 4),
ASubTitle(_subtitle.workingHours),
const SizedBox(height: 4),
ATextFormField(
initialValue: null,
textAlign: TextAlign.center,
hintText: _deviceTransferProvider.startDate == null
? "0"
: ((_deviceTransferProvider.endDate?.difference(_deviceTransferProvider.startDate)?.inMinutes ?? 0) / 60)?.toStringAsFixed(2)?.toString() ?? "0",
hintText: _formModel.startDate == null ? "0" : ((_formModel.endDate?.difference(_formModel.startDate)?.inMinutes ?? 0) / 60)?.toStringAsFixed(2)?.toString() ?? "0",
enable: false,
style: Theme.of(context).textTheme.subtitle1,
//validator: (value) => Validator.isNumeric(value) ? null : _subtitle.requiredWord,

@ -94,7 +94,7 @@ class _CreateServiceReportState extends State<CreateServiceReport> with TickerPr
_isLoading = true;
setState(() {});
_callRequestForWorkOrder = await _serviceRequestsProvider.getCallRequestForWorkOrder(callId: widget.request.id);
_serviceReport.engineer = Engineer.fromJson(_callRequestForWorkOrder.assignedEmployee?.toJson());
_serviceReport.engineer = Engineer.fromJson(_callRequestForWorkOrder?.assignedEmployee?.toJson());
await _assetTypeProvider.getTypes(user: _userProvider.user, host: _settingProvider.host);
_isLoading = false;
setState(() {});

Loading…
Cancel
Save