From a38fb04a01dc1fcba8aff8c745d288ed881446cd Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 19 Mar 2022 14:11:39 +0800 Subject: [PATCH 01/36] update debtors import --- .../Modules/Exports/Services/ExportsWalletTransactions.php | 2 +- app/Http/Controllers/Imports/ImportUpdateDebtorController.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/Classes/Modules/Exports/Services/ExportsWalletTransactions.php b/app/Classes/Modules/Exports/Services/ExportsWalletTransactions.php index 09b039f5..24e0ab97 100644 --- a/app/Classes/Modules/Exports/Services/ExportsWalletTransactions.php +++ b/app/Classes/Modules/Exports/Services/ExportsWalletTransactions.php @@ -101,7 +101,7 @@ class ExportsWalletTransactions implements FromQuery, WithHeadingRow, WithMappin $transaction->bill_no, '', '500-0000', - 'BUYING CREDIT REF.' . $company->reference, + 'CREDIT SALES', '', '', '', diff --git a/app/Http/Controllers/Imports/ImportUpdateDebtorController.php b/app/Http/Controllers/Imports/ImportUpdateDebtorController.php index 87cd41a2..83d1effd 100644 --- a/app/Http/Controllers/Imports/ImportUpdateDebtorController.php +++ b/app/Http/Controllers/Imports/ImportUpdateDebtorController.php @@ -18,8 +18,8 @@ class ImportUpdateDebtorController $excel_file = $request->input('excel_file'); -// $excel_file = ExcelHandel::insertExcel('debtor', $excel_file); + $excel_file = ExcelHandel::insertExcel('debtor', $excel_file); - return $import = Excel::import(new ImportsDebtor(), $excel_file); + return $import = Excel::import(new ImportsDebtor(), $excel_file[0]['file_info']['original']['file']); } } \ No newline at end of file From 739b9af57d58e60015d2962d28169d1f2e7626ea Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 19 Mar 2022 15:19:13 +0800 Subject: [PATCH 02/36] update debtors import --- .../DataTransferObjects/FileObject.php | 4 +- .../Services/ConvertsBase64ToFile.php | 2 +- .../ValueObjects/Constants/FileType.php | 3 + .../Imports/ImportUpdateDebtorController.php | 14 ++-- .../elements/UploadDebtorExcelComponent.vue | 65 +++++++++++++++++++ .../general/forms/FileUploadComponent.vue | 2 +- .../views/pages/dashboards/admin.blade.php | 5 ++ routes/api.php | 1 + routes/web.php | 2 - 9 files changed, 87 insertions(+), 11 deletions(-) create mode 100644 resources/assets/vue/components/bookings/elements/UploadDebtorExcelComponent.vue diff --git a/app/Classes/Modules/Documents/DataTransferObjects/FileObject.php b/app/Classes/Modules/Documents/DataTransferObjects/FileObject.php index ed289eac..736853fc 100644 --- a/app/Classes/Modules/Documents/DataTransferObjects/FileObject.php +++ b/app/Classes/Modules/Documents/DataTransferObjects/FileObject.php @@ -28,7 +28,7 @@ class FileObject implements DataTransferObject */ public function getData() { - return $this->getExtension() === 'pdf' ? $this->data : (new imageManager())->make($this->data); + return in_array($this->getExtension(), ['pdf', 'excel']) ? $this->data : (new imageManager())->make($this->data); } /** @@ -66,7 +66,7 @@ class FileObject implements DataTransferObject */ public function getDecodedData(): string { - return $this->getExtension() === 'pdf' ? + return in_array($this->getExtension(), ['pdf', 'excel']) ? base64_decode((explode('base64,', $this->getData()))[1]): $this->getData()->encode('data-url')->encoded; } diff --git a/app/Classes/Modules/Documents/Services/ConvertsBase64ToFile.php b/app/Classes/Modules/Documents/Services/ConvertsBase64ToFile.php index a7a5c8b6..8741b823 100644 --- a/app/Classes/Modules/Documents/Services/ConvertsBase64ToFile.php +++ b/app/Classes/Modules/Documents/Services/ConvertsBase64ToFile.php @@ -36,7 +36,7 @@ class ConvertsBase64ToFile foreach ($files as $file) { $object = new FileObject($file); - $object->getExtension() === 'pdf' ? $this->generatePDF($object) : $this->generateImage($object); + in_array($object->getExtension(), ['pdf', 'excel']) ? $this->generatePDF($object) : $this->generateImage($object); } diff --git a/app/Classes/ValueObjects/Constants/FileType.php b/app/Classes/ValueObjects/Constants/FileType.php index 8564643c..3ff989ca 100644 --- a/app/Classes/ValueObjects/Constants/FileType.php +++ b/app/Classes/ValueObjects/Constants/FileType.php @@ -14,11 +14,14 @@ class FileType public const PDF = 'application/pdf'; + public const EXCEL = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'; + public const EXTENSION = [ 'image/gif' => 'gif', 'image/png' => 'png', 'image/jpeg' => 'jpeg', 'application/pdf' => 'pdf', + 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' => 'excel', ]; } \ No newline at end of file diff --git a/app/Http/Controllers/Imports/ImportUpdateDebtorController.php b/app/Http/Controllers/Imports/ImportUpdateDebtorController.php index 83d1effd..31f8c348 100644 --- a/app/Http/Controllers/Imports/ImportUpdateDebtorController.php +++ b/app/Http/Controllers/Imports/ImportUpdateDebtorController.php @@ -2,9 +2,11 @@ namespace App\Http\Controllers\Imports; +use App\Classes\Modules\Documents\DataTransferObjects\DocumentObject; use App\Classes\Modules\Imports\Services\ImportsDebtor; use App\Classes\General\ExcelHandel; +use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; @@ -12,14 +14,16 @@ use Maatwebsite\Excel\Facades\Excel; class ImportUpdateDebtorController { + /** + * @param Request $request + * @return \Maatwebsite\Excel\Excel + * @throws \App\Classes\Exceptions\MalformedRequestException + */ public function import(Request $request) { $token = Auth::fromUser(User::find(1)); $request->headers->set('Authorization', 'Bearer '.$token); - $excel_file = $request->input('excel_file'); - - $excel_file = ExcelHandel::insertExcel('debtor', $excel_file); - - return $import = Excel::import(new ImportsDebtor(), $excel_file[0]['file_info']['original']['file']); + $object = new DocumentObject('', $request->input('files'), '', ApprovalStatus::APPROVED, 'imports'); + return $import = Excel::import(new ImportsDebtor(), $object->getFiles()[0]); } } \ No newline at end of file diff --git a/resources/assets/vue/components/bookings/elements/UploadDebtorExcelComponent.vue b/resources/assets/vue/components/bookings/elements/UploadDebtorExcelComponent.vue new file mode 100644 index 00000000..946bafe1 --- /dev/null +++ b/resources/assets/vue/components/bookings/elements/UploadDebtorExcelComponent.vue @@ -0,0 +1,65 @@ + + + \ No newline at end of file diff --git a/resources/assets/vue/components/general/forms/FileUploadComponent.vue b/resources/assets/vue/components/general/forms/FileUploadComponent.vue index 3028586d..a7eceffd 100644 --- a/resources/assets/vue/components/general/forms/FileUploadComponent.vue +++ b/resources/assets/vue/components/general/forms/FileUploadComponent.vue @@ -81,7 +81,7 @@ url: '#', autoQueue: false, processQueue: false, - acceptedFiles: 'image/*, application/pdf', + acceptedFiles: 'image/*, application/*', uploadMultiple: true, clickable: '.select-btn', previewTemplate: '
' diff --git a/resources/views/pages/dashboards/admin.blade.php b/resources/views/pages/dashboards/admin.blade.php index d998c745..2719cfec 100644 --- a/resources/views/pages/dashboards/admin.blade.php +++ b/resources/views/pages/dashboards/admin.blade.php @@ -303,6 +303,11 @@ +
+
+ +
+
diff --git a/routes/api.php b/routes/api.php index 10c0fb80..6c17a107 100644 --- a/routes/api.php +++ b/routes/api.php @@ -28,6 +28,7 @@ Route::group(['middleware' => 'api', 'prefix' => 'v1', 'as' => 'api.'], function Route::group(['middleware' => 'valid.token'], function () { Route::get('/storage/{fileName}/fetch', 'Documents\RenderDocumentController@fileStorageServe')->where(['fileName' => '.*'])->name('storage.document.file'); + Route::post('/import/update-debtor/f614e339d7058904a831aad742e24d55', 'Imports\ImportUpdateDebtorController@import')->name('debtor.import'); require __DIR__ . '/company.php'; diff --git a/routes/web.php b/routes/web.php index 656c1447..571ce9fe 100644 --- a/routes/web.php +++ b/routes/web.php @@ -147,8 +147,6 @@ Route::get('/export/null-debtor/f614e339d7058904a831aad742e24d55', 'Exports\Expo Route::get('/export/payment-transactions/f614e339d7058904a831aad742e24d55', 'Exports\ExportCustomersToExcelController@paymentTransactions'); Route::get('/export/wallet-transactions/f614e339d7058904a831aad742e24d55', 'Exports\ExportCustomersToExcelController@walletTransactions'); -Route::get('/import/update-debtor/f614e339d7058904a831aad742e24d55', 'Imports\ImportUpdateDebtorController@import'); - Route::get('/products', function (\App\Classes\Modules\Exports\Services\ExportsProducts $exportsProducts) { return $exportsProducts->download('products.csv', Excel::CSV, ['Content-Type' => 'text/csv']); })->name('products.random'); From 9c86bfcbbf120613ef803e47a0c2ecb27ec1b295 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 19 Mar 2022 15:23:48 +0800 Subject: [PATCH 03/36] update debtors import --- app/Http/Controllers/Imports/ImportUpdateDebtorController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/Imports/ImportUpdateDebtorController.php b/app/Http/Controllers/Imports/ImportUpdateDebtorController.php index 31f8c348..d9efb9ce 100644 --- a/app/Http/Controllers/Imports/ImportUpdateDebtorController.php +++ b/app/Http/Controllers/Imports/ImportUpdateDebtorController.php @@ -24,6 +24,6 @@ class ImportUpdateDebtorController $request->headers->set('Authorization', 'Bearer '.$token); $object = new DocumentObject('', $request->input('files'), '', ApprovalStatus::APPROVED, 'imports'); - return $import = Excel::import(new ImportsDebtor(), $object->getFiles()[0]); + return $import = Excel::import(new ImportsDebtor(), $object->getFiles()[0]['file_info']['original']['file']); } } \ No newline at end of file From d70fc0cdb1c7e4aaacaeca8e076b3fe3560b18ab Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 19 Mar 2022 15:26:27 +0800 Subject: [PATCH 04/36] update debtors import --- app/Http/Controllers/Imports/ImportUpdateDebtorController.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Http/Controllers/Imports/ImportUpdateDebtorController.php b/app/Http/Controllers/Imports/ImportUpdateDebtorController.php index d9efb9ce..636c3523 100644 --- a/app/Http/Controllers/Imports/ImportUpdateDebtorController.php +++ b/app/Http/Controllers/Imports/ImportUpdateDebtorController.php @@ -24,6 +24,7 @@ class ImportUpdateDebtorController $request->headers->set('Authorization', 'Bearer '.$token); $object = new DocumentObject('', $request->input('files'), '', ApprovalStatus::APPROVED, 'imports'); + dd($object->getFiles()[0]); return $import = Excel::import(new ImportsDebtor(), $object->getFiles()[0]['file_info']['original']['file']); } } \ No newline at end of file From e159537ff9207b09d4558e020ed661fee4b7bdb9 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 19 Mar 2022 15:27:21 +0800 Subject: [PATCH 05/36] update debtors import --- app/Http/Controllers/Imports/ImportUpdateDebtorController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/Imports/ImportUpdateDebtorController.php b/app/Http/Controllers/Imports/ImportUpdateDebtorController.php index 636c3523..c5e5db38 100644 --- a/app/Http/Controllers/Imports/ImportUpdateDebtorController.php +++ b/app/Http/Controllers/Imports/ImportUpdateDebtorController.php @@ -24,7 +24,7 @@ class ImportUpdateDebtorController $request->headers->set('Authorization', 'Bearer '.$token); $object = new DocumentObject('', $request->input('files'), '', ApprovalStatus::APPROVED, 'imports'); - dd($object->getFiles()[0]); + dd(json_decode($object->getFiles()[0])); return $import = Excel::import(new ImportsDebtor(), $object->getFiles()[0]['file_info']['original']['file']); } } \ No newline at end of file From 35ee839d12db615824d8bcdf1f06e172fb8d5cf5 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 19 Mar 2022 15:28:12 +0800 Subject: [PATCH 06/36] update debtors import --- app/Http/Controllers/Imports/ImportUpdateDebtorController.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/Http/Controllers/Imports/ImportUpdateDebtorController.php b/app/Http/Controllers/Imports/ImportUpdateDebtorController.php index c5e5db38..ed382283 100644 --- a/app/Http/Controllers/Imports/ImportUpdateDebtorController.php +++ b/app/Http/Controllers/Imports/ImportUpdateDebtorController.php @@ -24,7 +24,6 @@ class ImportUpdateDebtorController $request->headers->set('Authorization', 'Bearer '.$token); $object = new DocumentObject('', $request->input('files'), '', ApprovalStatus::APPROVED, 'imports'); - dd(json_decode($object->getFiles()[0])); - return $import = Excel::import(new ImportsDebtor(), $object->getFiles()[0]['file_info']['original']['file']); + return $import = Excel::import(new ImportsDebtor(), json_decode($object->getFiles()[0])->file_info->original->file); } } \ No newline at end of file From 59c944c4b41523bf7991a08287f07e82490968e3 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 19 Mar 2022 15:29:03 +0800 Subject: [PATCH 07/36] update debtors import --- app/Classes/Modules/Imports/Services/ImportsDebtor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/Imports/Services/ImportsDebtor.php b/app/Classes/Modules/Imports/Services/ImportsDebtor.php index e863fd2d..b058f38a 100644 --- a/app/Classes/Modules/Imports/Services/ImportsDebtor.php +++ b/app/Classes/Modules/Imports/Services/ImportsDebtor.php @@ -23,7 +23,7 @@ class ImportsDebtor implements ToModel, WithHeadingRow, WithBatchInserts, WithVa $company = Company::where('reference', $reference)->first(); if ($company) { - dump($debtor); + echo $debtor; // $company->debtor = $debtor; // $company->update(); } From 6dd6e9adb1f6419c46c1f8001d53577792ed4a44 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 19 Mar 2022 15:30:16 +0800 Subject: [PATCH 08/36] update debtors import --- app/Classes/Modules/Imports/Services/ImportsDebtor.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Classes/Modules/Imports/Services/ImportsDebtor.php b/app/Classes/Modules/Imports/Services/ImportsDebtor.php index b058f38a..e45b34d2 100644 --- a/app/Classes/Modules/Imports/Services/ImportsDebtor.php +++ b/app/Classes/Modules/Imports/Services/ImportsDebtor.php @@ -20,6 +20,7 @@ class ImportsDebtor implements ToModel, WithHeadingRow, WithBatchInserts, WithVa $reference = preg_split('(-|\(|\)|\/)', $row['2nd_description']); $reference = $reference[array_key_last($reference)]; $debtor = $row['code']; + dd($debtor); $company = Company::where('reference', $reference)->first(); if ($company) { From 0c1a9e8b9eba07df73cf23ea4d0e39861822c67c Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 19 Mar 2022 15:30:48 +0800 Subject: [PATCH 09/36] update debtors import --- app/Classes/Modules/Imports/Services/ImportsDebtor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/Imports/Services/ImportsDebtor.php b/app/Classes/Modules/Imports/Services/ImportsDebtor.php index e45b34d2..4c98e11f 100644 --- a/app/Classes/Modules/Imports/Services/ImportsDebtor.php +++ b/app/Classes/Modules/Imports/Services/ImportsDebtor.php @@ -20,7 +20,7 @@ class ImportsDebtor implements ToModel, WithHeadingRow, WithBatchInserts, WithVa $reference = preg_split('(-|\(|\)|\/)', $row['2nd_description']); $reference = $reference[array_key_last($reference)]; $debtor = $row['code']; - dd($debtor); + dd($reference); $company = Company::where('reference', $reference)->first(); if ($company) { From 69e7202ed3f882b829e9b995270f80790be58816 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 19 Mar 2022 15:37:21 +0800 Subject: [PATCH 10/36] update debtors import --- .../Imports/Services/ImportsDebtor.php | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/app/Classes/Modules/Imports/Services/ImportsDebtor.php b/app/Classes/Modules/Imports/Services/ImportsDebtor.php index 4c98e11f..38dbd56a 100644 --- a/app/Classes/Modules/Imports/Services/ImportsDebtor.php +++ b/app/Classes/Modules/Imports/Services/ImportsDebtor.php @@ -17,19 +17,21 @@ class ImportsDebtor implements ToModel, WithHeadingRow, WithBatchInserts, WithVa public function model($row = []) { - $reference = preg_split('(-|\(|\)|\/)', $row['2nd_description']); - $reference = $reference[array_key_last($reference)]; - $debtor = $row['code']; - dd($reference); - $company = Company::where('reference', $reference)->first(); - - if ($company) { - echo $debtor; + try { + $reference = preg_split('(-|\(|\)|\/)', $row['2nd_description']); + $reference = $reference[array_key_last($reference)]; + $debtor = $row['code']; + $company = Company::where('reference', $reference)->first(); + if (!$company) { + echo $reference.'
'; // $company->debtor = $debtor; // $company->update(); - } + } - return []; + return []; + } catch (\Exception $exception){ + return []; + } } public function batchSize(): int From fa0403b0b951b6a54901978ed99ce7f40f88dfee Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 19 Mar 2022 15:39:11 +0800 Subject: [PATCH 11/36] update debtors import --- app/Classes/Modules/Imports/Services/ImportsDebtor.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Classes/Modules/Imports/Services/ImportsDebtor.php b/app/Classes/Modules/Imports/Services/ImportsDebtor.php index 38dbd56a..ac4d8bc7 100644 --- a/app/Classes/Modules/Imports/Services/ImportsDebtor.php +++ b/app/Classes/Modules/Imports/Services/ImportsDebtor.php @@ -30,6 +30,7 @@ class ImportsDebtor implements ToModel, WithHeadingRow, WithBatchInserts, WithVa return []; } catch (\Exception $exception){ + dump($exception); return []; } } From b93a7163f190c84fe0da776c61cb1bffdb6d8698 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 19 Mar 2022 15:40:59 +0800 Subject: [PATCH 12/36] update debtors import --- app/Http/Controllers/Imports/ImportUpdateDebtorController.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Imports/ImportUpdateDebtorController.php b/app/Http/Controllers/Imports/ImportUpdateDebtorController.php index ed382283..826230bd 100644 --- a/app/Http/Controllers/Imports/ImportUpdateDebtorController.php +++ b/app/Http/Controllers/Imports/ImportUpdateDebtorController.php @@ -24,6 +24,7 @@ class ImportUpdateDebtorController $request->headers->set('Authorization', 'Bearer '.$token); $object = new DocumentObject('', $request->input('files'), '', ApprovalStatus::APPROVED, 'imports'); - return $import = Excel::import(new ImportsDebtor(), json_decode($object->getFiles()[0])->file_info->original->file); + Excel::import(new ImportsDebtor(), json_decode($object->getFiles()[0])->file_info->original->file); + return []; } } \ No newline at end of file From 646de8b66cc3373f3c3a5ec52d7c3355dd679e43 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 19 Mar 2022 15:41:16 +0800 Subject: [PATCH 13/36] update debtors import --- app/Http/Controllers/Imports/ImportUpdateDebtorController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/Imports/ImportUpdateDebtorController.php b/app/Http/Controllers/Imports/ImportUpdateDebtorController.php index 826230bd..22b4fb84 100644 --- a/app/Http/Controllers/Imports/ImportUpdateDebtorController.php +++ b/app/Http/Controllers/Imports/ImportUpdateDebtorController.php @@ -16,7 +16,7 @@ class ImportUpdateDebtorController { /** * @param Request $request - * @return \Maatwebsite\Excel\Excel + * @return array * @throws \App\Classes\Exceptions\MalformedRequestException */ public function import(Request $request) { From b1da4914f4eaed706ff1f67621ec1ebd6777f70e Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 19 Mar 2022 15:43:33 +0800 Subject: [PATCH 14/36] update debtors import --- app/Classes/Modules/Imports/Services/ImportsDebtor.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/app/Classes/Modules/Imports/Services/ImportsDebtor.php b/app/Classes/Modules/Imports/Services/ImportsDebtor.php index ac4d8bc7..fbdb9880 100644 --- a/app/Classes/Modules/Imports/Services/ImportsDebtor.php +++ b/app/Classes/Modules/Imports/Services/ImportsDebtor.php @@ -21,17 +21,15 @@ class ImportsDebtor implements ToModel, WithHeadingRow, WithBatchInserts, WithVa $reference = preg_split('(-|\(|\)|\/)', $row['2nd_description']); $reference = $reference[array_key_last($reference)]; $debtor = $row['code']; - $company = Company::where('reference', $reference)->first(); + $company = Company::where('reference', 'LIKE', '%'.$reference.'%')->first(); if (!$company) { echo $reference.'
'; // $company->debtor = $debtor; // $company->update(); } - return []; } catch (\Exception $exception){ dump($exception); - return []; } } From 2d2091c767fcb3afffe518966745485b53c9ef1e Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 19 Mar 2022 15:49:16 +0800 Subject: [PATCH 15/36] update debtors import --- app/Classes/Modules/Imports/Services/ImportsDebtor.php | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/app/Classes/Modules/Imports/Services/ImportsDebtor.php b/app/Classes/Modules/Imports/Services/ImportsDebtor.php index fbdb9880..1f321e50 100644 --- a/app/Classes/Modules/Imports/Services/ImportsDebtor.php +++ b/app/Classes/Modules/Imports/Services/ImportsDebtor.php @@ -21,16 +21,14 @@ class ImportsDebtor implements ToModel, WithHeadingRow, WithBatchInserts, WithVa $reference = preg_split('(-|\(|\)|\/)', $row['2nd_description']); $reference = $reference[array_key_last($reference)]; $debtor = $row['code']; - $company = Company::where('reference', 'LIKE', '%'.$reference.'%')->first(); + $company = Company::where('reference', $reference)->first(); if (!$company) { echo $reference.'
'; -// $company->debtor = $debtor; -// $company->update(); +// $company->debtor = $debtor; +// $company->update(); } - } catch (\Exception $exception){ - dump($exception); - } + } catch (\Exception $exception){} } public function batchSize(): int From edc8d3b3aac9e6270d8919106717f8b00f07e0c6 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 19 Mar 2022 16:00:18 +0800 Subject: [PATCH 16/36] update debtors import --- .../Modules/Imports/Services/ImportsDebtor.php | 18 ++++++++++++------ .../Imports/ImportUpdateDebtorController.php | 3 --- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/app/Classes/Modules/Imports/Services/ImportsDebtor.php b/app/Classes/Modules/Imports/Services/ImportsDebtor.php index 1f321e50..2120113a 100644 --- a/app/Classes/Modules/Imports/Services/ImportsDebtor.php +++ b/app/Classes/Modules/Imports/Services/ImportsDebtor.php @@ -18,15 +18,21 @@ class ImportsDebtor implements ToModel, WithHeadingRow, WithBatchInserts, WithVa public function model($row = []) { try { - $reference = preg_split('(-|\(|\)|\/)', $row['2nd_description']); - $reference = $reference[array_key_last($reference)]; - $debtor = $row['code']; - $company = Company::where('reference', $reference)->first(); - if (!$company) { - echo $reference.'
'; + preg_match_all('/([0-9]{3,4}[a-zA-Z]{3,4})/', 'EXC/6219THL, SRW/CIEF/2699TEK', $matches); + + foreach ($matches[0] as $match){ + $reference = $match; + $debtor = $row['code']; + $company = Company::where('reference', $reference)->first(); + if (!$company) { + echo $reference.'
'; // $company->debtor = $debtor; // $company->update(); + } + } +// $reference = preg_split('(-|\(|\)|\/)', $row['2nd_description']); +// $reference = $reference[array_key_last($reference)]; } catch (\Exception $exception){} } diff --git a/app/Http/Controllers/Imports/ImportUpdateDebtorController.php b/app/Http/Controllers/Imports/ImportUpdateDebtorController.php index 22b4fb84..72f998d4 100644 --- a/app/Http/Controllers/Imports/ImportUpdateDebtorController.php +++ b/app/Http/Controllers/Imports/ImportUpdateDebtorController.php @@ -20,9 +20,6 @@ class ImportUpdateDebtorController * @throws \App\Classes\Exceptions\MalformedRequestException */ public function import(Request $request) { - $token = Auth::fromUser(User::find(1)); - $request->headers->set('Authorization', 'Bearer '.$token); - $object = new DocumentObject('', $request->input('files'), '', ApprovalStatus::APPROVED, 'imports'); Excel::import(new ImportsDebtor(), json_decode($object->getFiles()[0])->file_info->original->file); return []; From ffdc6344b59388e85d6cee6f17e4817e4df3129b Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 19 Mar 2022 16:01:21 +0800 Subject: [PATCH 17/36] update debtors import --- app/Classes/Modules/Imports/Services/ImportsDebtor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/Imports/Services/ImportsDebtor.php b/app/Classes/Modules/Imports/Services/ImportsDebtor.php index 2120113a..525bb030 100644 --- a/app/Classes/Modules/Imports/Services/ImportsDebtor.php +++ b/app/Classes/Modules/Imports/Services/ImportsDebtor.php @@ -18,7 +18,7 @@ class ImportsDebtor implements ToModel, WithHeadingRow, WithBatchInserts, WithVa public function model($row = []) { try { - preg_match_all('/([0-9]{3,4}[a-zA-Z]{3,4})/', 'EXC/6219THL, SRW/CIEF/2699TEK', $matches); + preg_match_all('/([0-9]{3,4}[a-zA-Z]{3,4})/', $row['2nd_description'], $matches); foreach ($matches[0] as $match){ $reference = $match; From 5728095c55873fcf219db675982217c4fe24df1f Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 19 Mar 2022 16:03:29 +0800 Subject: [PATCH 18/36] update debtors import --- app/Classes/Modules/Imports/Services/ImportsDebtor.php | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/app/Classes/Modules/Imports/Services/ImportsDebtor.php b/app/Classes/Modules/Imports/Services/ImportsDebtor.php index 525bb030..6e17e35f 100644 --- a/app/Classes/Modules/Imports/Services/ImportsDebtor.php +++ b/app/Classes/Modules/Imports/Services/ImportsDebtor.php @@ -24,15 +24,13 @@ class ImportsDebtor implements ToModel, WithHeadingRow, WithBatchInserts, WithVa $reference = $match; $debtor = $row['code']; $company = Company::where('reference', $reference)->first(); - if (!$company) { - echo $reference.'
'; -// $company->debtor = $debtor; -// $company->update(); + + if ($company) { + $company->debtor = $debtor; + $company->update(); } } -// $reference = preg_split('(-|\(|\)|\/)', $row['2nd_description']); -// $reference = $reference[array_key_last($reference)]; } catch (\Exception $exception){} } From 16b088ce1d5325889d89fdf9efd9b536b158a753 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 19 Mar 2022 16:07:24 +0800 Subject: [PATCH 19/36] update debtors import --- app/Classes/Modules/Exports/Services/ExportsNullDebtors.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php b/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php index 189070ae..de2764c4 100644 --- a/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php +++ b/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php @@ -75,7 +75,7 @@ class ExportsNullDebtors implements FromQuery, WithHeadings, WithHeadingRow, Wit public function map($company): array { return [ - $company->reference, //Code + '<>', //Code $company->name, //CompanyName '', //Desc2 '', //AreaCode From f0693d2c7b4b91a645e4906afd0f13c7ac323d48 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 19 Mar 2022 16:11:51 +0800 Subject: [PATCH 20/36] update debtors import --- app/Classes/Modules/Exports/Services/ExportsNullDebtors.php | 6 ------ .../Modules/Exports/Services/ExportsPaymentTransactions.php | 4 +++- .../Modules/Exports/Services/ExportsWalletTransactions.php | 4 +++- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php b/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php index de2764c4..fa08a3f1 100644 --- a/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php +++ b/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php @@ -17,12 +17,6 @@ class ExportsNullDebtors implements FromQuery, WithHeadings, WithHeadingRow, Wit use Exportable; - public function styles(Worksheet $sheet) - { - return [ - 1 => ['font' => ['bold' => true]] - ]; - } public function headings(): array { diff --git a/app/Classes/Modules/Exports/Services/ExportsPaymentTransactions.php b/app/Classes/Modules/Exports/Services/ExportsPaymentTransactions.php index 12a1ec51..50f57c55 100644 --- a/app/Classes/Modules/Exports/Services/ExportsPaymentTransactions.php +++ b/app/Classes/Modules/Exports/Services/ExportsPaymentTransactions.php @@ -8,12 +8,14 @@ use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Models\Transaction; use Maatwebsite\Excel\Concerns\Exportable; use Maatwebsite\Excel\Concerns\FromQuery; +use Maatwebsite\Excel\Concerns\ShouldAutoSize; use Maatwebsite\Excel\Concerns\WithHeadingRow; +use Maatwebsite\Excel\Concerns\WithHeadings; use Maatwebsite\Excel\Concerns\WithMapping; use Illuminate\Http\Request; use Carbon\Carbon; -class ExportsPaymentTransactions implements FromQuery, WithHeadingRow, WithMapping +class ExportsPaymentTransactions implements FromQuery, WithHeadings, WithHeadingRow, WithMapping, ShouldAutoSize { use Exportable; diff --git a/app/Classes/Modules/Exports/Services/ExportsWalletTransactions.php b/app/Classes/Modules/Exports/Services/ExportsWalletTransactions.php index 24e0ab97..a989b8d1 100644 --- a/app/Classes/Modules/Exports/Services/ExportsWalletTransactions.php +++ b/app/Classes/Modules/Exports/Services/ExportsWalletTransactions.php @@ -8,12 +8,14 @@ use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Models\Transaction; use Maatwebsite\Excel\Concerns\Exportable; use Maatwebsite\Excel\Concerns\FromQuery; +use Maatwebsite\Excel\Concerns\ShouldAutoSize; use Maatwebsite\Excel\Concerns\WithHeadingRow; +use Maatwebsite\Excel\Concerns\WithHeadings; use Maatwebsite\Excel\Concerns\WithMapping; use Illuminate\Http\Request; use Carbon\Carbon; -class ExportsWalletTransactions implements FromQuery, WithHeadingRow, WithMapping +class ExportsWalletTransactions implements FromQuery, WithHeadings, WithHeadingRow, WithMapping, ShouldAutoSize { use Exportable; From efc62e336dca5e9600140d0cccf18d051a4839fc Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 19 Mar 2022 16:15:23 +0800 Subject: [PATCH 21/36] update debtors import --- app/Classes/Modules/Exports/Services/ExportsNullDebtors.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php b/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php index fa08a3f1..5249d6c0 100644 --- a/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php +++ b/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php @@ -2,7 +2,9 @@ namespace App\Classes\Modules\Exports\Services; +use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Classes\ValueObjects\Constants\BusinessType; +use App\Classes\ValueObjects\Constants\TransactionType; use App\Models\Company; use Maatwebsite\Excel\Concerns\Exportable; use Maatwebsite\Excel\Concerns\FromQuery; @@ -58,7 +60,9 @@ class ExportsNullDebtors implements FromQuery, WithHeadings, WithHeadingRow, Wit */ public function query() { - return Company::where('debtor', '=', null)->where('business_type', BusinessType::IMPORTER); + return Company::where('debtor', '=', null)->where('business_type', BusinessType::IMPORTER)->where('status', ApprovalStatus::APPROVED)->whereHas('transactions', function($query){ + return $query->whereIn('type', [TransactionType::PAYMENT, TransactionType::TOP_UP])->whereIn('status', [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED, ApprovalStatus::PENDING_VERIFICATION]); + }); } /** From c5b329dd41a396ec3514043ca0324c001dc88779 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 19 Mar 2022 16:17:02 +0800 Subject: [PATCH 22/36] update debtors import --- app/Classes/Modules/Exports/Services/ExportsNullDebtors.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php b/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php index 5249d6c0..6661d1d1 100644 --- a/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php +++ b/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php @@ -61,7 +61,7 @@ class ExportsNullDebtors implements FromQuery, WithHeadings, WithHeadingRow, Wit public function query() { return Company::where('debtor', '=', null)->where('business_type', BusinessType::IMPORTER)->where('status', ApprovalStatus::APPROVED)->whereHas('transactions', function($query){ - return $query->whereIn('type', [TransactionType::PAYMENT, TransactionType::TOP_UP])->whereIn('status', [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED, ApprovalStatus::PENDING_VERIFICATION]); + return $query->whereIn('type', [TransactionType::PAYMENT, TransactionType::TOP_UP])->whereIn('transactions.status', [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED, ApprovalStatus::PENDING_VERIFICATION]); }); } From 86f800fca23ca09409f0ce44008e0384522d2f37 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 19 Mar 2022 16:23:59 +0800 Subject: [PATCH 23/36] update debtors import --- app/Classes/Modules/Imports/Services/ImportsDebtor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/Imports/Services/ImportsDebtor.php b/app/Classes/Modules/Imports/Services/ImportsDebtor.php index 6e17e35f..b97aa263 100644 --- a/app/Classes/Modules/Imports/Services/ImportsDebtor.php +++ b/app/Classes/Modules/Imports/Services/ImportsDebtor.php @@ -23,7 +23,7 @@ class ImportsDebtor implements ToModel, WithHeadingRow, WithBatchInserts, WithVa foreach ($matches[0] as $match){ $reference = $match; $debtor = $row['code']; - $company = Company::where('reference', $reference)->first(); + $company = Company::where('reference', $reference)->whereNull('debtor')->first(); if ($company) { $company->debtor = $debtor; From f9d246b9f6c201a62b5c447b22b45fbb1b57efb3 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sun, 20 Mar 2022 14:27:48 +0800 Subject: [PATCH 24/36] update debtors import --- app/Classes/Modules/Exports/Services/ExportsNullDebtors.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php b/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php index 6661d1d1..544e52a4 100644 --- a/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php +++ b/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php @@ -60,7 +60,9 @@ class ExportsNullDebtors implements FromQuery, WithHeadings, WithHeadingRow, Wit */ public function query() { - return Company::where('debtor', '=', null)->where('business_type', BusinessType::IMPORTER)->where('status', ApprovalStatus::APPROVED)->whereHas('transactions', function($query){ + return Company::where(function($query){ + $query->whereNull('debtor')->orWhere('debtor', ''); + })->where('business_type', BusinessType::IMPORTER)->where('status', ApprovalStatus::APPROVED)->whereHas('transactions', function($query){ return $query->whereIn('type', [TransactionType::PAYMENT, TransactionType::TOP_UP])->whereIn('transactions.status', [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED, ApprovalStatus::PENDING_VERIFICATION]); }); } From 280cf9373104791939fd775d9c81d2aa5874a8e8 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Mon, 21 Mar 2022 10:16:07 +0800 Subject: [PATCH 25/36] update debtors import --- app/Classes/Modules/Exports/Services/ExportsNullDebtors.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php b/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php index 544e52a4..66b036ba 100644 --- a/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php +++ b/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php @@ -77,7 +77,7 @@ class ExportsNullDebtors implements FromQuery, WithHeadings, WithHeadingRow, Wit return [ '<>', //Code $company->name, //CompanyName - '', //Desc2 + $company->reference, //Desc2 '', //AreaCode '', //SalesAgent '', //DebtorType @@ -85,7 +85,7 @@ class ExportsNullDebtors implements FromQuery, WithHeadings, WithHeadingRow, Wit '', //AgingOn '', //StatementType 'MYR', //CurrencyCode - $company->reference, //RegisterNo + '', //RegisterNo '', //Address1 '', //Address2 '', //Address3 From 34df505d71b3dcc3390a177704a9d28a6c112cc6 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Mon, 21 Mar 2022 10:39:33 +0800 Subject: [PATCH 26/36] update invoice export format --- .../Services/ExportsPaymentTransactions.php | 36 +++++++------------ .../Services/ExportsWalletTransactions.php | 34 ++++++------------ 2 files changed, 23 insertions(+), 47 deletions(-) diff --git a/app/Classes/Modules/Exports/Services/ExportsPaymentTransactions.php b/app/Classes/Modules/Exports/Services/ExportsPaymentTransactions.php index 50f57c55..0ca1d730 100644 --- a/app/Classes/Modules/Exports/Services/ExportsPaymentTransactions.php +++ b/app/Classes/Modules/Exports/Services/ExportsPaymentTransactions.php @@ -32,20 +32,14 @@ class ExportsPaymentTransactions implements FromQuery, WithHeadings, WithHeading 'DocNo', 'DocDate', 'DebtorCode', - 'Ref', - 'Note', + 'DebtorName', + 'CurrencyCode', 'ShipInfo', - 'Numbering', - 'AccNo', + 'ItemCode', 'DetailDescription', - 'FutherDEscription', - 'YourPONo', - 'YourPODate', - 'ProjNo', - 'UOM', 'Qty', 'UnitPrice', - 'SubTotal' + 'AccNo' ]; } @@ -96,23 +90,17 @@ class ExportsPaymentTransactions implements FromQuery, WithHeadings, WithHeading $company = $booking->company()->first(); return [ - '<>', + '<>', $transaction->updated_at->format('d/m/Y'), - $company->debtor, - '', - '', - $booking->marking, - '', - '500-0000', + $company->debtor, + '', + 'MYR', + $booking->marking, + '', 'PLEASE REFER TO THE ATTACHED APPENDIX REF ' . $booking->marking, - '', - '', - '', - '', - '', - 1, + 1, $transaction->amount, - $transaction->amount, + '500-0000' ]; } } \ No newline at end of file diff --git a/app/Classes/Modules/Exports/Services/ExportsWalletTransactions.php b/app/Classes/Modules/Exports/Services/ExportsWalletTransactions.php index a989b8d1..5e613877 100644 --- a/app/Classes/Modules/Exports/Services/ExportsWalletTransactions.php +++ b/app/Classes/Modules/Exports/Services/ExportsWalletTransactions.php @@ -32,20 +32,14 @@ class ExportsWalletTransactions implements FromQuery, WithHeadings, WithHeadingR 'DocNo', 'DocDate', 'DebtorCode', - 'Ref', - 'Note', + 'DebtorName', + 'CurrencyCode', 'ShipInfo', - 'Numbering', - 'AccNo', + 'ItemCode', 'DetailDescription', - 'FutherDEscription', - 'YourPONo', - 'YourPODate', - 'ProjNo', - 'UOM', 'Qty', 'UnitPrice', - 'SubTotal' + 'AccNo' ]; } @@ -95,23 +89,17 @@ class ExportsWalletTransactions implements FromQuery, WithHeadings, WithHeadingR $company = $transaction->owner->owner; return [ - '<>', + '<>', $transaction->updated_at->format('d/m/Y'), - $company->debtor, - '', + $company->debtor, '', - $transaction->bill_no, - '', - '500-0000', + 'MYR', + $transaction->reference, + 'W1', 'CREDIT SALES', - '', - '', - '', - '', - '', - 1, + 1, $transaction->amount, - $transaction->amount, + '500-0000' ]; } } \ No newline at end of file From d1ee94c412efa5635b11e0c1e45532aa09844a1c Mon Sep 17 00:00:00 2001 From: omair saleh Date: Mon, 21 Mar 2022 10:41:58 +0800 Subject: [PATCH 27/36] update invoice export format --- .../Modules/Exports/Services/ExportsWalletTransactions.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/Exports/Services/ExportsWalletTransactions.php b/app/Classes/Modules/Exports/Services/ExportsWalletTransactions.php index 5e613877..af4d2d07 100644 --- a/app/Classes/Modules/Exports/Services/ExportsWalletTransactions.php +++ b/app/Classes/Modules/Exports/Services/ExportsWalletTransactions.php @@ -94,7 +94,7 @@ class ExportsWalletTransactions implements FromQuery, WithHeadings, WithHeadingR $company->debtor, '', 'MYR', - $transaction->reference, + $transaction->bill_no, 'W1', 'CREDIT SALES', 1, From 630685512d14f0c7bcbb08da66a14a83056ba362 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Mon, 21 Mar 2022 10:47:35 +0800 Subject: [PATCH 28/36] update debtor export format --- app/Classes/Modules/Exports/Services/ExportsNullDebtors.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php b/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php index 66b036ba..103797ed 100644 --- a/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php +++ b/app/Classes/Modules/Exports/Services/ExportsNullDebtors.php @@ -76,7 +76,7 @@ class ExportsNullDebtors implements FromQuery, WithHeadings, WithHeadingRow, Wit { return [ '<>', //Code - $company->name, //CompanyName + $company->name.' (PURCHASE)', //CompanyName $company->reference, //Desc2 '', //AreaCode '', //SalesAgent From 7857063a5664b7ccb99d5c55556cbb15b36052ae Mon Sep 17 00:00:00 2001 From: edmondlang Date: Mon, 21 Mar 2022 21:32:33 +0800 Subject: [PATCH 29/36] move 'UPLOAD DEBTORS' to settings - can only de seen by superAdmin --- .../bookings/elements/UploadDebtorExcelComponent.vue | 2 +- resources/views/pages/dashboards/admin.blade.php | 5 ----- resources/views/pages/settings.blade.php | 4 ++-- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/resources/assets/vue/components/bookings/elements/UploadDebtorExcelComponent.vue b/resources/assets/vue/components/bookings/elements/UploadDebtorExcelComponent.vue index 946bafe1..da0d2eae 100644 --- a/resources/assets/vue/components/bookings/elements/UploadDebtorExcelComponent.vue +++ b/resources/assets/vue/components/bookings/elements/UploadDebtorExcelComponent.vue @@ -1,6 +1,6 @@