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

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

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

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

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

@ -94,7 +94,7 @@ class _CreateServiceReportState extends State<CreateServiceReport> with TickerPr
_isLoading = true; _isLoading = true;
setState(() {}); setState(() {});
_callRequestForWorkOrder = await _serviceRequestsProvider.getCallRequestForWorkOrder(callId: widget.request.id); _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); await _assetTypeProvider.getTypes(user: _userProvider.user, host: _settingProvider.host);
_isLoading = false; _isLoading = false;
setState(() {}); setState(() {});

Loading…
Cancel
Save