1688 PO Automation Project

This commit is contained in:
Dillon Ngo
2026-01-15 00:36:50 +08:00
parent 330c4d6e46
commit ef0d1e5e7f
3 changed files with 31 additions and 2 deletions
@@ -0,0 +1,28 @@
<?php
namespace App\Classes\Jobs\Commands\V2;
use App\Events\ETLPurchaseOrderTransactionCompleteEvent;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\SerializesModels;
class ETLPurchaseOrderTransactionCompleteV2CommandJob implements ShouldQueue
{
use Dispatchable, Queueable, SerializesModels;
public $update;
public $bookingId;
public function __construct(bool $update, int $bookingId)
{
$this->update = $update;
$this->bookingId = $bookingId;
}
public function handle()
{
event(new ETLPurchaseOrderTransactionCompleteEvent($this->update, $this->bookingId));
}
}
@@ -6,6 +6,7 @@ namespace App\Classes\Modules\Transactions\Processors;
use App\Classes\Modules\Anthropic\Services\UploadsClaudeFiles;
use App\Classes\Modules\Anthropic\Services\CreatesClaudeResponseWithFiles;
use App\Classes\Exceptions\ResourceNotFoundException;
use App\Classes\Jobs\Commands\V2\ETLPurchaseOrderTransactionCompleteV2CommandJob;
use App\Classes\Modules\Bookings\Services\FetchesBooking;
use App\Classes\Modules\Transactions\Services\GeneratesTransactionBillNumber;
use App\Classes\Modules\Transactions\Processors\CreatePurchaseOrderTransactionProcessor;
@@ -150,7 +151,7 @@ class ETLPDFPurchaseOrderClaudeProcessor
$this->createPurchaseOrderTransactionProcessor->execute($booking, $object, $append);
if($broadcast){
event(new ETLPurchaseOrderTransactionCompleteEvent(true, $bookingId));
ETLPurchaseOrderTransactionCompleteV2CommandJob::dispatch(true, $bookingId)->delay(now()->addSeconds($index * 5));
}
}
@@ -125,10 +125,10 @@
this.resetFileInput();
}
else{
this.$store.dispatch('reloadList', {'name': 'bookingDetailSection'});
this.isImporting = false;
this.fileInputKey += 1;
}
this.$store.dispatch('reloadList', {'name': 'bookingDetailSection'});
}
else if(this.section + 'PDFExport' === section){
try {