fix remotely working hours auto assign fixes

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

@ -16,7 +16,7 @@ class AppBottomNavigationBar extends StatelessWidget {
@override
Widget build(BuildContext context) {
bool isEngineer = (Provider.of<UserProvider>(context, listen: false).user!.type) == UsersTypes.engineer;
bool isEngineer = (Provider.of<UserProvider>(context, listen: false).user?.type) == UsersTypes.engineer;
return Container(
height: 84.toScreenHeight,
decoration: BoxDecoration(

@ -345,7 +345,7 @@ class RequestDetailProvider extends ChangeNotifier {
}
//engineer Confirm Arrive......
Future<int> engineerConfirmArrival({required int workOrderId, required int verificationTypeId, required String photoInfo, required String otp, required String assetNo}) async {
Future<int> engineerConfirmArrival({required int workOrderId, required int verificationTypeId, required String photoInfo, required String otp, String ?assetNo}) async {
Response response;
try {
Map<String, dynamic> body = {"workOrderId": workOrderId, "verificationTypeId": verificationTypeId, "photoInfo": photoInfo, "otp": otp, "assetNumber": assetNo};

@ -32,7 +32,7 @@ import '../../../../new_views/common_widgets/app_filled_button.dart';
import '../../../../new_views/common_widgets/app_text_form_field.dart';
class ServiceRequestBottomSheet {
static buildBottomSheetParent({required BuildContext context, required Widget childWidget}) {
static buildBottomSheetParent({required BuildContext context, required Widget childWidget,bool ?isFromFixRemotely}) {
return showModalBottomSheet(
context: context,
useSafeArea: true,
@ -41,12 +41,37 @@ class ServiceRequestBottomSheet {
builder: (context) => SingleChildScrollView(
child: childWidget,
).bottomSheetContainer(context),
);
).then((value){
if(isFromFixRemotely!=null&&isFromFixRemotely){
RequestDetailProvider requestDetailProvider = Provider.of<RequestDetailProvider>(context,listen: false);
requestDetailProvider.fixRemotelyHelperModel = FixRemotelyHelperModel();
}
});
}
static Future fixRemotelyBottomSheet({required BuildContext context}) {
TextEditingController _workingHoursController = TextEditingController();
int calculateWorkingHours(DateTime? startTime, DateTime? endTime) {
if (startTime != null && endTime != null) {
Duration difference = endTime.difference(startTime);
int hours = difference.inHours;
int minutes = difference.inMinutes % 60;
return hours;
} else {
return -1;
}
}
assignWorkingHours({required RequestDetailProvider requestDetailProvider}) {
int hours = calculateWorkingHours(requestDetailProvider.fixRemotelyHelperModel?.startDate, requestDetailProvider.fixRemotelyHelperModel?.endDate);
if (hours != -1) {
_workingHoursController.text = hours.toString();
requestDetailProvider.fixRemotelyHelperModel?.workingHour = hours;
}
}
return buildBottomSheetParent(
context: context,
isFromFixRemotely: true,
childWidget: Consumer<RequestDetailProvider>(builder: (context, RequestDetailProvider requestDetailProvider, child) {
return Column(
crossAxisAlignment: CrossAxisAlignment.center,
@ -87,6 +112,7 @@ class ServiceRequestBottomSheet {
requestDetailProvider.fixRemotelyHelperModel?.startDate = selectedDateTime;
requestDetailProvider.updateFixRemotelyHelperModel(requestDetailProvider.fixRemotelyHelperModel);
assignWorkingHours(requestDetailProvider: requestDetailProvider);
// serviceRequestProvider.updateCurrentSelectedRequest(serviceRequestProvider.currentSelectedRequest);
}
});
@ -122,6 +148,8 @@ class ServiceRequestBottomSheet {
requestDetailProvider.fixRemotelyHelperModel?.endDate = selectedDateTime;
requestDetailProvider.updateFixRemotelyHelperModel(requestDetailProvider.fixRemotelyHelperModel);
assignWorkingHours(requestDetailProvider: requestDetailProvider);
// serviceRequestProvider.updateCurrentSelectedRequest(serviceRequestProvider.currentSelectedRequest);
}
});
@ -131,6 +159,8 @@ class ServiceRequestBottomSheet {
AppTextFormField(
labelText: context.translation.workingHours,
textInputType: TextInputType.number,
enable: false,
controller: _workingHoursController,
labelStyle: AppTextStyles.textFieldLabelStyle,
showWithoutDecoration: true,
backgroundColor: context.isDark ? AppColor.neutral20 : AppColor.neutral100,

@ -182,7 +182,7 @@ class _VerifyArrivalViewState extends State<VerifyArrivalView> {
verificationTypeId: 1,
photoInfo: fileObj,
otp: '',
assetNo: '');
assetNo: requestDetailProvider.currentWorkOrder!.data!.asset?.assetNumber);
print('status i got is $status');
if (status == 200) {
requestDetailProvider.getWorkOrderById(id: requestDetailProvider.currentWorkOrder!.data!.requestId!);

Loading…
Cancel
Save