diff --git a/app/Classes/General/Eloquent/Filters/GroupByImportedDate.php b/app/Classes/General/Eloquent/Filters/GroupByImportedDate.php
new file mode 100644
index 00000000..25f20fa3
--- /dev/null
+++ b/app/Classes/General/Eloquent/Filters/GroupByImportedDate.php
@@ -0,0 +1,18 @@
+groupby('imported_date');
+ }
+}
\ No newline at end of file
diff --git a/app/Classes/General/Eloquent/Filters/ImportedDateFrom.php b/app/Classes/General/Eloquent/Filters/ImportedDateFrom.php
new file mode 100644
index 00000000..140bbb20
--- /dev/null
+++ b/app/Classes/General/Eloquent/Filters/ImportedDateFrom.php
@@ -0,0 +1,18 @@
+whereDate('imported_date', '>=', date('Y-m-d',strtotime($value)));
+ }
+}
\ No newline at end of file
diff --git a/app/Classes/General/Eloquent/Filters/ImportedDateTo.php b/app/Classes/General/Eloquent/Filters/ImportedDateTo.php
new file mode 100644
index 00000000..11bd3857
--- /dev/null
+++ b/app/Classes/General/Eloquent/Filters/ImportedDateTo.php
@@ -0,0 +1,18 @@
+whereDate('imported_date', '<=', date('Y-m-d',strtotime($value)));
+ }
+}
\ No newline at end of file
diff --git a/app/Classes/General/Eloquent/Filters/StatementTransactionInvoiceReference.php b/app/Classes/General/Eloquent/Filters/StatementTransactionInvoiceReference.php
new file mode 100644
index 00000000..9e3ba1e9
--- /dev/null
+++ b/app/Classes/General/Eloquent/Filters/StatementTransactionInvoiceReference.php
@@ -0,0 +1,22 @@
+whereHas('owners', function ($query) use ($value) {
+ return $query->where('Invoice_reference', $value);
+ });
+ }
+
+}
diff --git a/app/Classes/General/Eloquent/Filters/StatementTransactionOwnerReference.php b/app/Classes/General/Eloquent/Filters/StatementTransactionOwnerReference.php
new file mode 100644
index 00000000..c0a7beaf
--- /dev/null
+++ b/app/Classes/General/Eloquent/Filters/StatementTransactionOwnerReference.php
@@ -0,0 +1,22 @@
+whereHas('owners', function ($query) use ($value) {
+ return $query->where('owner_reference', $value);
+ });
+ }
+
+}
diff --git a/app/Classes/General/Eloquent/Filters/StatementTransactionReceiptReference.php b/app/Classes/General/Eloquent/Filters/StatementTransactionReceiptReference.php
new file mode 100644
index 00000000..f808f784
--- /dev/null
+++ b/app/Classes/General/Eloquent/Filters/StatementTransactionReceiptReference.php
@@ -0,0 +1,22 @@
+whereHas('owners', function ($query) use ($value) {
+ return $query->where('receipt_reference', $value);
+ });
+ }
+
+}
diff --git a/app/Classes/Modules/Accounting/ControllersLogic/HistoryImportedTransactionMappedControllerLogic.php b/app/Classes/Modules/Accounting/ControllersLogic/HistoryImportedTransactionMappedControllerLogic.php
new file mode 100644
index 00000000..2f96c613
--- /dev/null
+++ b/app/Classes/Modules/Accounting/ControllersLogic/HistoryImportedTransactionMappedControllerLogic.php
@@ -0,0 +1,49 @@
+ 'Retrieved History Imported Invoices',
+ 'message' => 'You have successfully retrieved history imported invoices'
+ ];
+ }
+
+ /** @var ListTransactionMappingLogs */
+ private $listTransactionMappingLogs;
+
+ /**
+ * UpdateAnnouncementLogic constructor.
+ * @param ListTransactionMappingLogs $listTransactionMappingLogs
+ */
+ public function __construct(
+ ListTransactionMappingLogs $listTransactionMappingLogs
+ ) {
+ $this->listTransactionMappingLogs = $listTransactionMappingLogs;
+ }
+
+ /**
+ * @param Request $request
+ * @return JsonResponse
+ */
+ public function logic(Request $request): JsonResponse
+ {
+ $query = $this->listTransactionMappingLogs->execute($this->listTransactionMappingLogs->deserializeFilters($request->input('filters')));
+
+ return $this->collectionResponse(TransactionMappingLogResource::collection($query));
+ }
+}
diff --git a/app/Classes/Modules/Accounting/Services/ListTransactionMappingLogs.php b/app/Classes/Modules/Accounting/Services/ListTransactionMappingLogs.php
new file mode 100644
index 00000000..fdeff835
--- /dev/null
+++ b/app/Classes/Modules/Accounting/Services/ListTransactionMappingLogs.php
@@ -0,0 +1,32 @@
+repository = $repository;
+ }
+
+
+ /**
+ * @return Builder
+ */
+ public function getRepository(): Builder
+ {
+ return $this->repository->newQuery();
+ }
+}
diff --git a/app/Classes/Modules/Exports/Services/ExportsImportedInvoiceMappeds.php b/app/Classes/Modules/Exports/Services/ExportsImportedInvoiceMappeds.php
index e629675f..ead22543 100644
--- a/app/Classes/Modules/Exports/Services/ExportsImportedInvoiceMappeds.php
+++ b/app/Classes/Modules/Exports/Services/ExportsImportedInvoiceMappeds.php
@@ -59,7 +59,6 @@ class ExportsImportedInvoiceMappeds implements FromQuery, WithHeadings, WithHead
*/
public function map($transaction): array
{
- // dd($transaction);
$this->count += 1;
$data = $transaction->data;
return [
diff --git a/app/Classes/Modules/Exports/Services/ExportsImportedReceiptMappeds.php b/app/Classes/Modules/Exports/Services/ExportsImportedReceiptMappeds.php
new file mode 100644
index 00000000..efe95fd3
--- /dev/null
+++ b/app/Classes/Modules/Exports/Services/ExportsImportedReceiptMappeds.php
@@ -0,0 +1,86 @@
+dateTime = $request->input('date').' '.$request->input('time');
+ $this->count = 0;
+ }
+
+ public function headings(): array
+ {
+ return [
+ 'Check',
+ 'Doc No',
+ 'Doc Date',
+ 'Debtor Code',
+ 'Company Name',
+ 'Description',
+ 'Payment Amount',
+ 'Created User',
+ 'Curr.',
+ 'To Home Rate',
+ 'Local Payment Amount',
+ 'Cancelled',
+ 'Mapped Status',
+ 'Mapped Reference No',
+ ];
+ }
+
+ /**
+ * @return \Illuminate\Support\Collection|mixed
+ */
+ public function query()
+ {
+ return TransactionMappingLog::where('imported_date', $this->dateTime);
+ }
+
+ /**
+ * @param Transaction $transaction
+ *
+ * @return array
+ */
+ public function map($transaction): array
+ {
+ $this->count += 1;
+ $data = $transaction->data;
+ return [
+ $this->count,
+ Arr::get($data,'doc_no'),
+ Arr::get($data,'doc_date'),
+ Arr::get($data,'debtor_code'),
+ Arr::get($data,'company_name'),
+ Arr::get($data,'description'),
+ Arr::get($data,'payment_amount'),
+ Arr::get($data,'created_user'),
+ Arr::get($data,'curr'),
+ Arr::get($data,'to_home_rate'),
+ Arr::get($data,'local_payment_amount'),
+ Arr::get($data,'cancelled'),
+ Arr::get($data,'2nd_doc_no'),
+ Arr::get($data,'mapped_status'),
+ Arr::get($data,'mapped_result_reference'),
+ ];
+
+ }
+}
diff --git a/app/Http/Controllers/Accounting/HistoryImportedTransactionMappedController.php b/app/Http/Controllers/Accounting/HistoryImportedTransactionMappedController.php
new file mode 100644
index 00000000..8b4a2cde
--- /dev/null
+++ b/app/Http/Controllers/Accounting/HistoryImportedTransactionMappedController.php
@@ -0,0 +1,20 @@
+execute($request);
+ }
+
+}
\ No newline at end of file
diff --git a/app/Http/Controllers/Exports/ExportCustomersToExcelController.php b/app/Http/Controllers/Exports/ExportCustomersToExcelController.php
index 733c84fa..0f351c7d 100644
--- a/app/Http/Controllers/Exports/ExportCustomersToExcelController.php
+++ b/app/Http/Controllers/Exports/ExportCustomersToExcelController.php
@@ -18,6 +18,7 @@ use Maatwebsite\Excel\Excel;
use App\Classes\Modules\Exports\Services\ExportsImportedInvoiceMappeds;
use App\Models\TransactionMappingLog;
use App\Classes\Modules\Exports\Services\ExportsReceiptTransactions;
+use App\Classes\Modules\Exports\Services\ExportsImportedReceiptMappeds;
class ExportCustomersToExcelController
{
@@ -91,4 +92,10 @@ class ExportCustomersToExcelController
ob_end_clean();
return $response;
}
+
+ public function importedReceiptMapped(ExportsImportedReceiptMappeds $exportsImportedReceiptMappeds, Request $request) {
+ $response = $exportsImportedReceiptMappeds->download($request->input('fileName').'.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/app/Http/Controllers/Imports/ImportStatementInvoiceController.php b/app/Http/Controllers/Imports/ImportStatementInvoiceController.php
index 75953f2b..e4c35eb5 100644
--- a/app/Http/Controllers/Imports/ImportStatementInvoiceController.php
+++ b/app/Http/Controllers/Imports/ImportStatementInvoiceController.php
@@ -100,6 +100,7 @@ class ImportStatementInvoiceController
TransactionMappingLog::create([
'imported_date'=>$importDate,
+ 'type' => 'invoices',
'data'=>$row,
]);
array_push($data, $row);
diff --git a/app/Http/Controllers/Imports/ImportStatementReceiptsController.php b/app/Http/Controllers/Imports/ImportStatementReceiptsController.php
index a43f2dda..6c117642 100644
--- a/app/Http/Controllers/Imports/ImportStatementReceiptsController.php
+++ b/app/Http/Controllers/Imports/ImportStatementReceiptsController.php
@@ -69,6 +69,7 @@ class ImportStatementReceiptsController
TransactionMappingLog::create([
'imported_date'=>$importDate,
+ 'type' => 'receipts',
'data'=>$row,
]);
array_push($data, $row);
diff --git a/app/Http/Resources/TransactionMappingLogResource.php b/app/Http/Resources/TransactionMappingLogResource.php
new file mode 100644
index 00000000..954294f1
--- /dev/null
+++ b/app/Http/Resources/TransactionMappingLogResource.php
@@ -0,0 +1,23 @@
+ $this->id,
+ 'imported_date' => $this->imported_date,
+ 'type' => $this->type
+ ];
+ }
+}
diff --git a/app/Models/TransactionMappingLog.php b/app/Models/TransactionMappingLog.php
index d6093f39..e9ddab33 100644
--- a/app/Models/TransactionMappingLog.php
+++ b/app/Models/TransactionMappingLog.php
@@ -7,7 +7,7 @@ use Illuminate\Database\Eloquent\Model;
class TransactionMappingLog extends Model
{
- protected $fillable = ['imported_by','data','imported_date'];
+ protected $fillable = ['imported_by','data','imported_date','type'];
protected $casts = [
'data' => 'array',
diff --git a/database/migrations/2023_12_26_152448_add_type_to_transaction_mapping_logs_table.php b/database/migrations/2023_12_26_152448_add_type_to_transaction_mapping_logs_table.php
new file mode 100644
index 00000000..3927920a
--- /dev/null
+++ b/database/migrations/2023_12_26_152448_add_type_to_transaction_mapping_logs_table.php
@@ -0,0 +1,40 @@
+string('type',50)->default('invoices')->after('imported_date');
+ });
+
+ foreach (DB::table('transaction_mapping_logs')->get() as $key => $value) {
+ $data = json_decode($value->data);
+ DB::table('transaction_mapping_logs')->where('id',$value->id)->update([
+ 'type' => (isset($data->description) ? 'receipts' : 'invoices')
+ ]);
+ }
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::table('transaction_mapping_logs', function (Blueprint $table) {
+ $table->dropColumn('type');
+ });
+ }
+}
diff --git a/resources/assets/vue/components/accounting/elements/HistoryImportedInvoices.vue b/resources/assets/vue/components/accounting/elements/HistoryImportedInvoices.vue
new file mode 100644
index 00000000..d3d68cfb
--- /dev/null
+++ b/resources/assets/vue/components/accounting/elements/HistoryImportedInvoices.vue
@@ -0,0 +1,39 @@
+
+ {{ componentTitle }}
+
+
+
+
+
+
+
+ {{ item }}
+
+
+
+ {{index+1}}
+ {{item.check }}
+ {{item.doc_no}}
+ {{item.doc_date }}}
+ {{item.debtor_code}}
+ {{item.company_name}}
+ {{item.description}}
+ {{item.payment_amount}}
+ {{item.created_user}}
+ {{item.curr}}
+ {{item.to_home_rate}}
+ {{item.local_payment_amount}}
+ {{item.cancelled}}
+ {{item.mapped_status}}
+ {{item.mapped_result_reference}}
+