diff --git a/app/Classes/Modules/Exports/Services/ExportsBookingTransactions.php b/app/Classes/Modules/Exports/Services/ExportsBookingTransactions.php
new file mode 100644
index 00000000..7da82a31
--- /dev/null
+++ b/app/Classes/Modules/Exports/Services/ExportsBookingTransactions.php
@@ -0,0 +1,74 @@
+request = $request;
+ }
+
+ public function headings(): array
+ {
+ return [
+ 'Ref No',
+ 'Creted Date',
+ 'Amount',
+ 'Rate'
+ ];
+ }
+
+ /**
+ * @return \Illuminate\Support\Collection|mixed
+ */
+ public function query()
+ {
+ $supplierIds = array_map(function($value){
+ return ['id' => $value];
+ }, json_decode($this->request->input('supplierIds')));
+
+ $dateFrom =Carbon::parse($this->request->input('startDate'))->format('Y-m-d');
+ $dateTo =Carbon::parse($this->request->input('endDate'))->format('Y-m-d');
+
+ return Transaction::where('type', 3)->whereIn('issuer', $supplierIds)->whereBetween('created_at', [$dateFrom, $dateTo]);
+ }
+
+ /**
+ * @param $transaction
+ * @return array
+ */
+ public function map($transaction): array
+ {
+ if ($transaction->owner->owner == null){
+ $refNo = $transaction->owner->marking;
+ } else {
+ $refNo = $transaction->owner->owner->marking;
+ }
+
+ $createdAt = $transaction->created_at->format('d-m-Y');
+ $amount = $transaction->amount;
+ $rate = $transaction->currency_rate;
+
+ return [
+ $refNo,
+ $createdAt,
+ $amount,
+ $rate,
+ ];
+ }
+}
\ No newline at end of file
diff --git a/app/Http/Controllers/Exports/ExportCustomersToExcelController.php b/app/Http/Controllers/Exports/ExportCustomersToExcelController.php
index 39ea3dc5..8563f78a 100644
--- a/app/Http/Controllers/Exports/ExportCustomersToExcelController.php
+++ b/app/Http/Controllers/Exports/ExportCustomersToExcelController.php
@@ -5,6 +5,7 @@ namespace App\Http\Controllers\Exports;
use App\Classes\Modules\Exports\Services\ExportsCustomers;
use App\Classes\Modules\Exports\Services\ExportsTransactions;
+use App\Classes\Modules\Exports\Services\ExportsBookingTransactions;
use App\Classes\Modules\Exports\Services\ExportsNullDebtors;
use App\Classes\Modules\Exports\Services\ExportsPaymentTransactions;
@@ -54,4 +55,10 @@ class ExportCustomersToExcelController
ob_end_clean();
return $response;
}
+
+ public function bookingTransactions(ExportsBookingTransactions $exportsBookingTransactions, Request $request){
+ $response = $exportsBookingTransactions->download('bookingTransactions.xls', Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']);
+ ob_end_clean();
+ return $response;
+ }
}
\ No newline at end of file
diff --git a/resources/assets/vue/components/bookings/forms/ExportBookingTransactionFormComponent.vue b/resources/assets/vue/components/bookings/forms/ExportBookingTransactionFormComponent.vue
new file mode 100644
index 00000000..24ad2317
--- /dev/null
+++ b/resources/assets/vue/components/bookings/forms/ExportBookingTransactionFormComponent.vue
@@ -0,0 +1,79 @@
+
+