From 039e7be5599ef1564806d08ccfc87e3da3e50441 Mon Sep 17 00:00:00 2001 From: Priya Chetiwal Date: Fri, 7 Feb 2025 15:01:41 +0530 Subject: [PATCH] generate pagination done --- .../view/sub_views/generate_fright_bill.dart | 400 +++++++++--------- .../view/sub_views/pending_generation.dart | 14 +- .../transporter/view/transport_view.dart | 50 ++- .../view_model/transport_controller.dart | 125 ++++-- lib/services/network/ApiUrls.dart | 4 +- lib/services/network/post_request.dart | 57 +-- 6 files changed, 359 insertions(+), 291 deletions(-) diff --git a/lib/feature/presentation/screens/transporter/view/sub_views/generate_fright_bill.dart b/lib/feature/presentation/screens/transporter/view/sub_views/generate_fright_bill.dart index 991d742..e727876 100644 --- a/lib/feature/presentation/screens/transporter/view/sub_views/generate_fright_bill.dart +++ b/lib/feature/presentation/screens/transporter/view/sub_views/generate_fright_bill.dart @@ -333,10 +333,6 @@ class GenerateFrightBill extends StatelessWidget { child: Center(child: Text(controller.errorMessage.value))); } if (controller.grnDetails.isEmpty) { - - - - return SizedBox( height: controller.isFilterVisibleGenerateFreight.value ? MediaQuery.sizeOf(context).height * 0.4 @@ -348,206 +344,226 @@ class GenerateFrightBill extends StatelessWidget { ); } return Column( - mainAxisAlignment: MainAxisAlignment.end, - crossAxisAlignment: CrossAxisAlignment.end, children: [ - Container( - padding: EdgeInsets.symmetric(horizontal: 10), - margin: EdgeInsets.only(top: 16), - height: 45, - color: AppColors.primaryClr, - child: Row( + SizedBox( + width: MediaQuery.sizeOf(context).width, + height: controller.isFilterVisibleGenerateFreight.value == true + ? MediaQuery.of(context).size.height * 0.3 + : MediaQuery.of(context).size.height * 0.64, + child: Column( children: [ - TextView( - text: AppStrings.viewGrnDetails, - style: 14.txtBoldWhite), - Spacer(), - CommonBtn( - width: 150, - bkClr: AppColors.white, - borderClr: AppColors.primaryClr, - style: 12.txtBoldBlue, - text: "Generate Freight Bill", - clickAction: () { - bool hasSelectedRows = controller.grnDetails - .any((element) => element.isSelected); - if (!hasSelectedRows) { - showPopup( - context: context, - onClick: () { - Get.back(); - }); - } else { - CommonAlertDialog.showDialog( - dismissable: false, - message: "Are you sure want to\nsave this?", - positiveText: "Save", - negativeText: "Cancel", - positiveBtCallback: () { - Get.back(); - controller.addFreightBill(); - showFreightBill(context); - }, - negativeBtCallback: () { - Get.back(); - }); - } - }), - ], - ), - ), - Container( - margin: EdgeInsets.only(bottom: 16, top: 16), - height: - controller.isFilterVisibleGenerateFreight.value == true - ? MediaQuery.of(context).size.height * 0.3 - : MediaQuery.of(context).size.height * 0.64, - child: RawScrollbar( - thumbColor: AppColors.clrD9, - radius: Radius.circular(2), - trackVisibility: true, - thumbVisibility: true, - thickness: 14, - controller: controller.verticalScrollController, - child: SingleChildScrollView( - controller: controller.verticalScrollController, - child: RawScrollbar( - thumbColor: AppColors.clrD9, - radius: Radius.circular(2), - thickness: 14, - trackVisibility: true, - thumbVisibility: true, - controller: controller.horizontalScrollController, - child: SingleChildScrollView( - scrollDirection: Axis.horizontal, - controller: controller.horizontalScrollController, - child: Container( - margin: EdgeInsets.only(bottom: 24), - decoration: BoxDecoration( - border: Border.all( - color: Colors.grey.shade400, - width: 1.0, - ), - ), - child: DataTable( - dataRowHeight: 40, - headingRowHeight: 40, - headingRowColor: - WidgetStateProperty.all(AppColors.clrF2), - border: TableBorder( - horizontalInside: - BorderSide(color: AppColors.clrGrey), - verticalInside: - BorderSide(color: AppColors.clrGrey), - bottom: BorderSide(color: AppColors.clrGrey), - left: BorderSide(color: AppColors.clrGrey), - right: BorderSide(color: AppColors.clrGrey), - top: BorderSide(color: AppColors.clrGrey), - ), - columns: [ - DataColumn( - label: Transform.scale( - scale: 0.80, - child: Checkbox( - value: controller.selectAllField.value, - onChanged: (value) { - controller.selectAll(value ?? false); - }, - activeColor: AppColors.primaryClr, - checkColor: Colors.white, - materialTapTargetSize: MaterialTapTargetSize - .shrinkWrap, + Container( + padding: EdgeInsets.symmetric(horizontal: 10), + margin: EdgeInsets.only(top: 16), + height: 45, + color: AppColors.primaryClr, + child: Row( + children: [ + TextView( + text: AppStrings.viewGrnDetails, + style: 14.txtBoldWhite), + Spacer(), + CommonBtn( + width: 150, + bkClr: AppColors.white, + borderClr: AppColors.primaryClr, + style: 12.txtBoldBlue, + text: "Generate Freight Bill", + clickAction: () { + bool hasSelectedRows = controller.grnDetails + .any((element) => element.isSelected); + if (!hasSelectedRows) { + showPopup( + context: context, + onClick: () { + Get.back(); + }); + } else { + CommonAlertDialog.showDialog( + dismissable: false, + message: + "Are you sure want to\nsave this?", + positiveText: "Save", + negativeText: "Cancel", + positiveBtCallback: () { + Get.back(); + controller.addFreightBill(); + showFreightBill(context); + }, + negativeBtCallback: () { + Get.back(); + }); + } + }), + ], + ), + ), + Container( + margin: EdgeInsets.only(bottom: 16, top: 16), + child: RawScrollbar( + thumbColor: AppColors.clrD9, + radius: Radius.circular(2), + trackVisibility: true, + thumbVisibility: true, + thickness: 14, + controller: controller.verticalScrollController, + child: SingleChildScrollView( + controller: controller.verticalScrollController, + child: RawScrollbar( + thumbColor: AppColors.clrD9, + radius: Radius.circular(2), + thickness: 14, + trackVisibility: true, + thumbVisibility: true, + controller: controller.horizontalScrollController, + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + controller: controller.horizontalScrollController, + child: Container( + margin: EdgeInsets.only(bottom: 24), + decoration: BoxDecoration( + border: Border.all( + color: Colors.grey.shade400, + width: 1.0, ), ), - ), - // dataColumn(AppStrings.srNo), - dataColumn(AppStrings.mrnNo), - dataColumn(AppStrings.plantNo), - dataColumn(AppStrings.product), - dataColumn(AppStrings.date), - dataColumn(AppStrings.fromLocation), - dataColumn(AppStrings.vehicleNo), - dataColumn(AppStrings.transporterLrNo), - dataColumn(AppStrings.transporterLrNoDate), - dataColumn(AppStrings.dispQty), - dataColumn(AppStrings.netQty), - dataColumn(AppStrings.billingQty), - dataColumn(AppStrings.uom), - dataColumn(AppStrings.freightRate), - dataColumn(AppStrings.freightAmount), - ], - rows: List.generate( - controller.grnDetails.length, (index) { - final stoppage = controller.grnDetails[index]; - return DataRow( - selected: stoppage.isSelected, - cells: [ - DataCell( - Transform.scale( - scale: 0.80, - child: Checkbox( - value: stoppage.isSelected, - onChanged: (value) { - controller.toggleSelection( - index, value ?? false); - }, - activeColor: AppColors.primaryClr, - checkColor: Colors.white, - materialTapTargetSize: - MaterialTapTargetSize.shrinkWrap, + child: DataTable( + dataRowHeight: 40, + headingRowHeight: 40, + headingRowColor: + WidgetStateProperty.all(AppColors.clrF2), + border: TableBorder( + horizontalInside: + BorderSide(color: AppColors.clrGrey), + verticalInside: + BorderSide(color: AppColors.clrGrey), + bottom: + BorderSide(color: AppColors.clrGrey), + left: BorderSide(color: AppColors.clrGrey), + right: BorderSide(color: AppColors.clrGrey), + top: BorderSide(color: AppColors.clrGrey), + ), + columns: [ + DataColumn( + label: Transform.scale( + scale: 0.80, + child: Checkbox( + value: + controller.selectAllField.value, + onChanged: (value) { + controller + .selectAll(value ?? false); + }, + activeColor: AppColors.primaryClr, + checkColor: Colors.white, + materialTapTargetSize: + MaterialTapTargetSize.shrinkWrap, + ), ), ), - ), - // editableCell(index, "0${index + 1}"), - editableCell(index, stoppage.grnNo ?? ""), - editableCell( - index, stoppage.plantCode ?? ""), - editableCell( - index, stoppage.materialCode ?? ""), - editableCell( - index, - DateFormat('yyyy-MM-dd').format( - stoppage.grnDate ?? - DateTime.now())), - editableCell( - index, stoppage.fromLocation ?? ""), - editableCell( - index, stoppage.vehicleNo ?? ""), - editableCell(index, stoppage.lrNo ?? ""), - editableCell( - index, - DateFormat('yyyy-MM-dd').format( - stoppage.lrDate ?? DateTime.now())), - editableCell(index, - stoppage.dispQty?.toString() ?? ""), - editableCell(index, - stoppage.netQty?.toString() ?? ""), - editableCell(index, - stoppage.billingQty?.toString() ?? ""), - editableCell(index, "-"), - editableCell(index, - stoppage.freightRate?.toString() ?? ""), - editableCell( - index, - stoppage.shipmentCost?.toString() ?? - ""), - ], - ); - }), + // dataColumn(AppStrings.srNo), + dataColumn(AppStrings.mrnNo), + dataColumn(AppStrings.plantNo), + dataColumn(AppStrings.product), + dataColumn(AppStrings.date), + dataColumn(AppStrings.fromLocation), + dataColumn(AppStrings.vehicleNo), + dataColumn(AppStrings.transporterLrNo), + dataColumn(AppStrings.transporterLrNoDate), + dataColumn(AppStrings.dispQty), + dataColumn(AppStrings.netQty), + dataColumn(AppStrings.billingQty), + dataColumn(AppStrings.uom), + dataColumn(AppStrings.freightRate), + dataColumn(AppStrings.freightAmount), + ], + rows: List.generate( + controller.grnDetails.length, (index) { + final stoppage = + controller.grnDetails[index]; + return DataRow( + selected: stoppage.isSelected, + cells: [ + DataCell( + Transform.scale( + scale: 0.80, + child: Checkbox( + value: stoppage.isSelected, + onChanged: (value) { + controller.toggleSelection( + index, value ?? false); + }, + activeColor: AppColors.primaryClr, + checkColor: Colors.white, + materialTapTargetSize: + MaterialTapTargetSize + .shrinkWrap, + ), + ), + ), + // editableCell(index, "0${index + 1}"), + editableCell( + index, stoppage.grnNo ?? ""), + editableCell( + index, stoppage.plantCode ?? ""), + editableCell( + index, stoppage.materialCode ?? ""), + editableCell( + index, + DateFormat('yyyy-MM-dd').format( + stoppage.grnDate ?? + DateTime.now())), + editableCell( + index, stoppage.fromLocation ?? ""), + editableCell( + index, stoppage.vehicleNo ?? ""), + editableCell( + index, stoppage.lrNo ?? ""), + editableCell( + index, + DateFormat('yyyy-MM-dd').format( + stoppage.lrDate ?? + DateTime.now())), + editableCell(index, + stoppage.dispQty?.toString() ?? ""), + editableCell(index, + stoppage.netQty?.toString() ?? ""), + editableCell( + index, + stoppage.billingQty?.toString() ?? + ""), + editableCell(index, "-"), + editableCell( + index, + stoppage.freightRate?.toString() ?? + ""), + editableCell( + index, + stoppage.shipmentCost?.toString() ?? + ""), + ], + ); + }), + ), + ), + ), ), ), ), ), - ), + ], ), ), - CustomPagination( - currentPage: controller.currentPageViewFreight.value + 1, - totalPages: controller.totalPagesViewFreight.value, - onPageChanged: (page) { - controller.viewFreightView(page: page - 1); - }, - ), + Padding( + padding: EdgeInsets.only(bottom: 4), + child: CustomPagination( + currentPage: controller.currentPageGenerateFreight.value + 1, + totalPages: controller.totalPagesGenerateFreight.value, + onPageChanged: (page) { + controller.postData(page: page - 1); + }, + ), + ) ], ); }), diff --git a/lib/feature/presentation/screens/transporter/view/sub_views/pending_generation.dart b/lib/feature/presentation/screens/transporter/view/sub_views/pending_generation.dart index 9756129..1cc5970 100644 --- a/lib/feature/presentation/screens/transporter/view/sub_views/pending_generation.dart +++ b/lib/feature/presentation/screens/transporter/view/sub_views/pending_generation.dart @@ -524,13 +524,13 @@ class PendingGeneration extends StatelessWidget { ], ); }), - // CustomPagination( - // currentPage: controller.currentPage.value, - // totalPages: controller.totalPages.value, - // onPageChanged: (int page) { - // // controller.onPageChanged(page); - // }, - // ), + CustomPagination( + currentPage: controller.currentPagePendingFreight.value, + totalPages: controller.totalPagesPendingFreight.value, + onPageChanged: (int page) { + controller.grnPending(page: page -1); + }, + ), ], ); } diff --git a/lib/feature/presentation/screens/transporter/view/transport_view.dart b/lib/feature/presentation/screens/transporter/view/transport_view.dart index 17ba993..651b574 100644 --- a/lib/feature/presentation/screens/transporter/view/transport_view.dart +++ b/lib/feature/presentation/screens/transporter/view/transport_view.dart @@ -161,8 +161,7 @@ class _TransportViewState extends State { child: Column( children: [ Container( - color: Colors.white, - padding: EdgeInsets.only(bottom: 16), + // padding: EdgeInsets.only(bottom: 16), margin: EdgeInsets.all(16), child: Column( children: [ @@ -258,26 +257,35 @@ class _TransportViewState extends State { ), ), Obx( - () => SimpleDropdown( - - onSelected: (newValue) { - ctrl.selectedDropdownItemViewFreight.value = newValue; - ctrl.viewFreightView(); - }, - items: ctrl.selectElementSize, - selectedItem: ctrl.selectedDropdownItemViewFreight.value, - ), + () => ctrl.selectedUser.value == 0 + ? SimpleDropdown( + onSelected: (newValue) { + ctrl.selectedDropdownItemGenerateFreight.value = + newValue; + ctrl.postData(); + }, + items: ctrl.selectElementSize, + selectedItem: + ctrl.selectedDropdownItemGenerateFreight.value, + ) + : ctrl.selectedUser.value == 1 + ? SimpleDropdown( + onSelected: (newValue) { + ctrl.selectedDropdownItemViewFreight + .value = newValue; + ctrl.viewFreightView(); + }, + items: ctrl.selectElementSize, + selectedItem: ctrl + .selectedDropdownItemViewFreight.value, + ) + : ctrl.selectedUser.value == 2 + ? Text('data') + : Text('data'), + ), + SizedBox( + width: 10, ), - // Obx(() => SimpleDropdown( - // items: [1, 2, 3, 4], - // selectedItem: ctrl. selectedDropdownItem.value, // Bind external state - // onSelected: (val) => ctrl. selectedDropdownItem.value = val, - // width: 150, - // borderClr: Colors.blue, - // )), - - SizedBox(width: 10,), - ], ), ), diff --git a/lib/feature/presentation/screens/transporter/view_model/transport_controller.dart b/lib/feature/presentation/screens/transporter/view_model/transport_controller.dart index 5143e6e..0ab4326 100644 --- a/lib/feature/presentation/screens/transporter/view_model/transport_controller.dart +++ b/lib/feature/presentation/screens/transporter/view_model/transport_controller.dart @@ -153,9 +153,10 @@ class TransportController extends GetxController { getInvoiceView(); super.onInit(); } + Rxn selectedDropdownItemViewFreight = Rxn(); - - + Rxn selectedDropdownItemPendingFreight = Rxn(); + Rxn selectedDropdownItemGenerateFreight = Rxn(); refreshApis() { getFreightBills(); @@ -164,6 +165,8 @@ class TransportController extends GetxController { getSubFreightBillsView(); postData(); selectedDropdownItemViewFreight.value = null; + selectedDropdownItemPendingFreight.value = null; + selectedDropdownItemGenerateFreight.value = null; } getInvoiceView() async { @@ -220,7 +223,12 @@ class TransportController extends GetxController { var grnPendingLoader = false.obs; var errorMessage = ''.obs; - postData() async { +// for Generate + var totalElementsGenerateFreight = 0.obs; + RxInt currentPageGenerateFreight = 1.obs; + RxInt totalPagesGenerateFreight = 3.obs; + + postData({int page = 0}) async { try { isLoading.value = true; Map requestBody = { @@ -231,18 +239,24 @@ class TransportController extends GetxController { "grnFromDate": "", "grnToDate": "" }; - var response = await PostRequests.addFreightBill(requestBody); + var response = await PostRequests.addFreightBill( + page: page, + size: selectedDropdownItemGenerateFreight.value ?? 1, + requestBody: requestBody); if (response != null) { List flattenedContent = response.content!.expand((list) => list).toList(); grnDetails.assignAll(flattenedContent); + totalPagesGenerateFreight.value = response.totalPages ?? 0; + totalElementsGenerateFreight.value = response.totalElements ?? 0; + currentPageGenerateFreight.value = page; } } finally { isLoading.value = false; } } - void displayFilteredData() async { + void displayFilteredData({int page = 0}) async { try { isLoading.value = true; Map requestBody = { @@ -254,7 +268,10 @@ class TransportController extends GetxController { "grnToDate": "" }; - var response = await PostRequests.addFreightBill(requestBody); + var response = await PostRequests.addFreightBill( + page: page, + size: selectedDropdownItemGenerateFreight.value ?? 4, + requestBody: requestBody); if (response != null) { List flattenedContent = response.content!.expand((list) => list).toList(); @@ -272,12 +289,14 @@ class TransportController extends GetxController { selectTransactionTypeFreight.value.toUpperCase()); }).toList(); - print("Filtered Data: ${filteredData.length}"); - - grnDetails.assignAll(filteredData); - - print("✅ Filtered Data: ${filteredData.length} items displayed."); - print("✅ Filtered Data: ${grnDetails.length} items displayed."); + if (page == 0) { + grnDetails.assignAll(flattenedContent); + } else { + grnDetails.addAll(flattenedContent); + } + totalPagesGenerateFreight.value = response.totalPages ?? 0; + totalElementsGenerateFreight.value = response.totalElements ?? 0; + currentPageGenerateFreight.value = page; } else { print("❌ No response from API."); } @@ -411,13 +430,6 @@ class TransportController extends GetxController { } RxString selectedPlant = "".obs; - List plantList = [ - "Plant 1", - "Plant 2", - "Plant 3", - "Plant 4", - "Plant 5", - ]; RxString selectedFreight = "".obs; addFreightBill() async { @@ -457,23 +469,36 @@ class TransportController extends GetxController { ////////////////////////////////////////// PRIYA /////////////////////////////////////////////// var freightBillData = [].obs; - var totalElementsViewFreight = 0.obs; var pageSize = 2.obs; var sortField = "grn_date".obs; var sortDirection = "desc".obs; + // view freight + var totalElementsViewFreight = 0.obs; RxInt currentPageViewFreight = 1.obs; RxInt totalPagesViewFreight = 3.obs; - final int limit = 10; - RxList selectElementSize = [ - 4, - 8, - 12, - 16, - 20, - ].obs; - viewFreightView({int page = 0}) async { +// for pending + var totalElementsPendingFreight = 0.obs; + RxInt currentPagePendingFreight = 1.obs; + RxInt totalPagesPendingFreight = 3.obs; + + final int limit = 10; + // RxList selectElementSize = [ + // 4, + // 8, + // 12, + // 16, + // 20, + // ].obs; + RxList selectElementSize = [ + 1, + 2, + 3, + 4, + 5, + ].obs; + viewFreightView({int page = 0}) async { try { freightViewLoader.value = true; @@ -488,7 +513,9 @@ class TransportController extends GetxController { }; var response = await PostRequests.viewFreightBill( - page: page, size: selectedDropdownItemViewFreight.value ?? 4, requestBody: requestBody); + page: page, + size: selectedDropdownItemViewFreight.value ?? 4, + requestBody: requestBody); if (response != null) { List flattenedContent = @@ -514,7 +541,7 @@ class TransportController extends GetxController { var grnPendingData = [].obs; - grnPending() async { + grnPending({int page = 0}) async { try { grnPendingLoader.value = true; @@ -528,12 +555,17 @@ class TransportController extends GetxController { }; var response = await PostRequests.grnPending( - requestBody, + page: page, + size: selectedDropdownItemPendingFreight.value ?? 4, + requestBody: requestBody, ); if (response != null) { List flattenedContent = response.content!.expand((list) => list).toList(); grnPendingData.assignAll(flattenedContent); + totalPagesPendingFreight.value = response.totalPages ?? 0; + totalElementsPendingFreight.value = response.totalElements ?? 0; + currentPagePendingFreight.value = page; print( 'response from pending tab${response.first.toString()} and ${flattenedContent.length} and ${grnPendingData.value[0].codeValue} and ${grnPendingData.value[0].plantCode} and ${grnPendingData.value[0].materialCode}'); } @@ -542,7 +574,7 @@ class TransportController extends GetxController { } } - void displayFilteredDataFromViewFreight({int page = 0, int size = 4}) async { + void displayFilteredDataFromViewFreight({int page = 0}) async { try { freightViewLoader.value = true; @@ -556,12 +588,10 @@ class TransportController extends GetxController { "grnToDate": "", }; - print( - "🔎 Filter Request - Page: $page, Size: $size, Plant: ${selectPlantViewFreight.value}, " - "Product: ${selectProductViewFreight.value}, Freight Bill: ${selectFreightBillValidate.value}"); - var response = await PostRequests.viewFreightBill( - page: page, size: size, requestBody: requestBody); // Pass pagination + page: page, + size: selectedDropdownItemViewFreight.value ?? 4, + requestBody: requestBody); // Pass pagination if (response != null && response.content != null) { List flattenedContent = @@ -594,7 +624,7 @@ class TransportController extends GetxController { } } - void displayFilteredDataFromPending() async { + void displayFilteredDataFromPending({int page = 0}) async { try { isLoading.value = true; Map requestBody = { @@ -606,7 +636,11 @@ class TransportController extends GetxController { "grnToDate": "" }; - var response = await PostRequests.grnPending(requestBody); + var response = await PostRequests.grnPending( + page: page, + size: selectedDropdownItemPendingFreight.value ?? 4, + requestBody: requestBody, + ); if (response != null) { List flattenedContent = response.content!.expand((list) => list).toList(); @@ -621,9 +655,16 @@ class TransportController extends GetxController { selectTransactionTypeFreight.value.toUpperCase()); }).toList(); - print("pending Data grnPendingData: ${filteredData.length}"); + if (page == 0) { + grnPendingData.assignAll(flattenedContent); + } else { + grnPendingData.addAll(flattenedContent); + } - grnPendingData.assignAll(filteredData); + // Update pagination details + totalPagesPendingFreight.value = response.totalPages ?? 0; + totalElementsPendingFreight.value = response.totalElements ?? 0; + currentPagePendingFreight.value = page; print( "✅ pending Data: ${filteredData.length} items displayed pending."); diff --git a/lib/services/network/ApiUrls.dart b/lib/services/network/ApiUrls.dart index b81a163..1d7275b 100644 --- a/lib/services/network/ApiUrls.dart +++ b/lib/services/network/ApiUrls.dart @@ -2,7 +2,7 @@ class ApiUrls { ApiUrls._(); static const String baseUrl = "http://46.28.44.130:9092/"; static const addFreightBill = - 'bill/grndetails?page=0&size=20&sort=grn_date,desc'; + 'bill/grndetails'; static const getFreightBills = 'bill/dropdown'; static const getAllPayments = "http://46.28.44.130:9092/invoice/getPayments"; static const generateFreightBill = @@ -32,7 +32,7 @@ class ApiUrls { static const userTypeDetails = "http://46.28.44.130:9093/api/user-types/usertypedetails?page=0&size=15&sort=last_updated_on,desc"; static const grnPendingDetails = - "http://46.28.44.130:9092/bill/grndetailsPanding?page=0&size=20&sort=grn_date,desc"; + "http://46.28.44.130:9092/bill/grndetailsPanding?page="; static const viewSubDetailsOfViewFreightBill = "http://46.28.44.130:9092/bill/grndetailsByFreightBill?freightBillCode="; static const getInvoiceDetails = "http://46.28.44.130:9092/invoice/getInvoice"; } diff --git a/lib/services/network/post_request.dart b/lib/services/network/post_request.dart index 9394727..5335c6f 100644 --- a/lib/services/network/post_request.dart +++ b/lib/services/network/post_request.dart @@ -20,12 +20,17 @@ import 'ApiUrls.dart'; class PostRequests { PostRequests._(); - static Future addFreightBill( + static Future addFreightBill({ + int page = 0, + int size = 15, + String sort = 'last_updated_on,desc', + Map? requestBody, - - Map requestBody) async { +} + ) async { var apiResponse = - await RemoteService.simplePost(requestBody, ApiUrls.addFreightBill); + await RemoteService.simplePost(requestBody ?? {},'${ApiUrls.addFreightBill}?page=$page&size=$size&sort=$sort' + ); if (apiResponse != null) { return generateFreightBillsFromJson(apiResponse.response!); @@ -34,8 +39,6 @@ class PostRequests { } } - - static Future freightBill( List> requestBody) async { var apiResponse = @@ -75,7 +78,7 @@ class PostRequests { static Future getAllPayments( Map requestBody) async { var apiResponse = - await RemoteService.postUser(requestBody, ApiUrls.getAllPayments); + await RemoteService.postUser(requestBody, ApiUrls.getAllPayments); if (apiResponse != null) { return paymentResModelFromJson(apiResponse.response!); @@ -83,6 +86,7 @@ class PostRequests { return null; } } + static Future editUser( Map requestBody, String id) async { var apiResponse = @@ -96,23 +100,13 @@ class PostRequests { } } - static Future viewFreightBillF( - Map requestBody, - ) async { - var apiResponse = await RemoteService.postUser(requestBody, - '${ApiUrls.viewFreightBill}'); - if (apiResponse != null) { - return viewFreightBillResModelFromJson(apiResponse.response!); - } else { - return null; - } - } + static Future viewFreightBill({ int page = 0, int size = 15, String sort = 'last_updated_on,desc', - Map? requestBody, + Map? requestBody, }) async { // Construct dynamic URL with query parameters String url = 'http://46.28.44.130:9092/bill/freightbill' @@ -120,9 +114,8 @@ class PostRequests { try { var apiResponse = await RemoteService.postUser( - requestBody ?? {}, // Use empty map if no request body - url - ); + requestBody ?? {}, // Use empty map if no request body + url); if (apiResponse == null) return null; if (apiResponse.response == null || apiResponse.response!.isEmpty) { @@ -224,20 +217,30 @@ class PostRequests { } } - static Future grnPending( - Map requestBody) async { - var apiResponse = - await RemoteService.postUser(requestBody, ApiUrls.grnPendingDetails); + static Future grnPending({ + int page = 0, + int size = 15, + String sort = 'last_updated_on,desc', + Map? requestBody, + }) async { + String url = 'http://46.28.44.130:9092/bill/grndetailsPanding' + '?page=$page&size=$size&sort=$sort'; + + var apiResponse = await RemoteService.postUser( + requestBody ?? {}, url + ); + print('response from pending ${apiResponse?.response.toString()} and ${requestBody.toString()}'); if (apiResponse != null) { return grnPendingBillsResModelFromJson(apiResponse.response!); } else { return null; } } + static Future getInvoice( Map requestBody) async { var apiResponse = - await RemoteService.postUser(requestBody, ApiUrls.getInvoiceDetails); + await RemoteService.postUser(requestBody, ApiUrls.getInvoiceDetails); print('response data from invoice ${apiResponse.toString()}'); if (apiResponse != null) { return getInvoiceResponseFromJson(apiResponse.response!);