From 6fe1ca3e0e08fe62105ef971763a3090d965f1ab Mon Sep 17 00:00:00 2001 From: edmondlang Date: Thu, 9 Nov 2023 10:21:04 +0800 Subject: [PATCH] update regenerate invoice --- .../RegenerateInvoiceBookingLogic.php | 11 ++++++++++- routes/web.php | 3 ++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/Classes/Modules/Bookings/ControllersLogic/RegenerateInvoiceBookingLogic.php b/app/Classes/Modules/Bookings/ControllersLogic/RegenerateInvoiceBookingLogic.php index 6af18568..5d067fd5 100644 --- a/app/Classes/Modules/Bookings/ControllersLogic/RegenerateInvoiceBookingLogic.php +++ b/app/Classes/Modules/Bookings/ControllersLogic/RegenerateInvoiceBookingLogic.php @@ -10,13 +10,14 @@ use App\Classes\Modules\Transactions\Services\DeletesTransaction; use App\Classes\Modules\Documents\Services\DeletesDocument; use App\Classes\Modules\Transactions\Processors\CreateInvoiceTransactionProcessor; use App\Classes\Modules\Transactions\Processors\CreateInvoiceTransactionWithInvoiceNoProcessor; - +use Illuminate\Support\Str; use App\Classes\ValueObjects\Constants\DocumentType; use App\Http\Resources\BookingResource; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Classes\ValueObjects\Constants\TransactionType; +use App\Models\Transaction; use Illuminate\Support\Carbon; class RegenerateInvoiceBookingLogic extends AbstractControllerLogic @@ -121,6 +122,14 @@ class RegenerateInvoiceBookingLogic extends AbstractControllerLogic $currentInvoice->bill_no = $currentInvoice->bill_no ."-deleted-" . (string)(Carbon::now()->timestamp); $currentInvoice->save(); + $transactionWithSameBillNo = Transaction::where('bill_no', $firstBillNo)->withTrashed()->get(); + if ($transactionWithSameBillNo) { + foreach ($transactionWithSameBillNo as $transaction) { + $transaction->bill_no = $transaction->bill_no . "-deleted-" . Str::random(10); + $transaction->save(); + } + } + $transaction = $booking->transactions()->whereIn('type', [TransactionType::INVOICE, TransactionType::SUPPLIER_DELIVER])->get(); foreach ($transaction as $key => $row) { $this->deletesTransaction->execute($row); diff --git a/routes/web.php b/routes/web.php index 447d0d72..ead4b3d2 100644 --- a/routes/web.php +++ b/routes/web.php @@ -802,6 +802,7 @@ Route::get('/invoice/{marking}/{started_at}/{ended_at}/fix', function($marking, Log::channel('regenerateInvoice')->info('Counter ' . $processed_invoice); dump('Counter ' . $processed_invoice); + dump('Marking ' . $booking->marking); $processed_invoice += 1; $booking->status = ApprovalStatus::APPROVED; @@ -824,7 +825,7 @@ Route::get('/invoice/{marking}/{started_at}/{ended_at}/fix', function($marking, $currentInvoice->bill_no = $currentInvoice->bill_no ."-deleted-" . Str::random(10); $currentInvoice->save(); - $transactionWithSameBillNo = Transaction::where('bill_no', $firstBillNo)->get(); + $transactionWithSameBillNo = Transaction::where('bill_no', $firstBillNo)->withTrashed()->get(); if ($transactionWithSameBillNo) { foreach ($transactionWithSameBillNo as $transaction) { $transaction->bill_no = $transaction->bill_no . "-deleted-" . Str::random(10);