fix remotely working hours auto assign fixes

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

@ -16,7 +16,7 @@ class AppBottomNavigationBar extends StatelessWidget {
@override @override
Widget build(BuildContext context) { 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( return Container(
height: 84.toScreenHeight, height: 84.toScreenHeight,
decoration: BoxDecoration( decoration: BoxDecoration(

@ -345,7 +345,7 @@ class RequestDetailProvider extends ChangeNotifier {
} }
//engineer Confirm Arrive...... //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; Response response;
try { try {
Map<String, dynamic> body = {"workOrderId": workOrderId, "verificationTypeId": verificationTypeId, "photoInfo": photoInfo, "otp": otp, "assetNumber": assetNo}; 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'; import '../../../../new_views/common_widgets/app_text_form_field.dart';
class ServiceRequestBottomSheet { class ServiceRequestBottomSheet {
static buildBottomSheetParent({required BuildContext context, required Widget childWidget}) { static buildBottomSheetParent({required BuildContext context, required Widget childWidget,bool ?isFromFixRemotely}) {
return showModalBottomSheet( return showModalBottomSheet(
context: context, context: context,
useSafeArea: true, useSafeArea: true,
@ -41,12 +41,37 @@ class ServiceRequestBottomSheet {
builder: (context) => SingleChildScrollView( builder: (context) => SingleChildScrollView(
child: childWidget, child: childWidget,
).bottomSheetContainer(context), ).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}) { 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( return buildBottomSheetParent(
context: context, context: context,
isFromFixRemotely: true,
childWidget: Consumer<RequestDetailProvider>(builder: (context, RequestDetailProvider requestDetailProvider, child) { childWidget: Consumer<RequestDetailProvider>(builder: (context, RequestDetailProvider requestDetailProvider, child) {
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
@ -87,6 +112,7 @@ class ServiceRequestBottomSheet {
requestDetailProvider.fixRemotelyHelperModel?.startDate = selectedDateTime; requestDetailProvider.fixRemotelyHelperModel?.startDate = selectedDateTime;
requestDetailProvider.updateFixRemotelyHelperModel(requestDetailProvider.fixRemotelyHelperModel); requestDetailProvider.updateFixRemotelyHelperModel(requestDetailProvider.fixRemotelyHelperModel);
assignWorkingHours(requestDetailProvider: requestDetailProvider);
// serviceRequestProvider.updateCurrentSelectedRequest(serviceRequestProvider.currentSelectedRequest); // serviceRequestProvider.updateCurrentSelectedRequest(serviceRequestProvider.currentSelectedRequest);
} }
}); });
@ -122,6 +148,8 @@ class ServiceRequestBottomSheet {
requestDetailProvider.fixRemotelyHelperModel?.endDate = selectedDateTime; requestDetailProvider.fixRemotelyHelperModel?.endDate = selectedDateTime;
requestDetailProvider.updateFixRemotelyHelperModel(requestDetailProvider.fixRemotelyHelperModel); requestDetailProvider.updateFixRemotelyHelperModel(requestDetailProvider.fixRemotelyHelperModel);
assignWorkingHours(requestDetailProvider: requestDetailProvider);
// serviceRequestProvider.updateCurrentSelectedRequest(serviceRequestProvider.currentSelectedRequest); // serviceRequestProvider.updateCurrentSelectedRequest(serviceRequestProvider.currentSelectedRequest);
} }
}); });
@ -131,6 +159,8 @@ class ServiceRequestBottomSheet {
AppTextFormField( AppTextFormField(
labelText: context.translation.workingHours, labelText: context.translation.workingHours,
textInputType: TextInputType.number, textInputType: TextInputType.number,
enable: false,
controller: _workingHoursController,
labelStyle: AppTextStyles.textFieldLabelStyle, labelStyle: AppTextStyles.textFieldLabelStyle,
showWithoutDecoration: true, showWithoutDecoration: true,
backgroundColor: context.isDark ? AppColor.neutral20 : AppColor.neutral100, backgroundColor: context.isDark ? AppColor.neutral20 : AppColor.neutral100,

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

Loading…
Cancel
Save