From 107d356745dd1697f37e0d779da2b548d95bc16f Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Sat, 18 Jul 2026 17:43:15 +0530 Subject: [PATCH] Added export serial numbers for production order --- .../Pages/CreateProductionOrder.php | 59 +++++++++++++++++++ .../Pages/EditProductionOrder.php | 58 ++++++++++++++++++ .../Pages/ViewProductionOrder.php | 59 +++++++++++++++++++ 3 files changed, 176 insertions(+) diff --git a/app/Filament/Resources/ProductionOrderResource/Pages/CreateProductionOrder.php b/app/Filament/Resources/ProductionOrderResource/Pages/CreateProductionOrder.php index b4afe86..d3f033d 100644 --- a/app/Filament/Resources/ProductionOrderResource/Pages/CreateProductionOrder.php +++ b/app/Filament/Resources/ProductionOrderResource/Pages/CreateProductionOrder.php @@ -3,6 +3,7 @@ namespace App\Filament\Resources\ProductionOrderResource\Pages; use App\Filament\Resources\ProductionOrderResource; +use App\Models\Item; use App\Models\Plant; use App\Models\ProductionOrder; use Filament\Facades\Filament; @@ -282,6 +283,64 @@ class CreateProductionOrder extends CreateRecord } } + public function exportSerialNo(){ + $pOrder = trim($this->form->getState()['production_order'] ?? '') ?? null; + + $plantId = trim($this->form->getState()['plant_id'] ?? '') ?? null; + + $itemId = trim($this->form->getState()['item_id'] ?? '') ?? null; + + $fromSerNo = trim($this->form->getState()['from_serial_number'] ?? '') ?? null; + + $toSerNo = trim($this->form->getState()['to_serial_number'] ?? '') ?? null; + + $plantCode = Plant::where('id', $plantId)->value('code'); + + // $itemCode = Item::where('id', $itemId)->value('code'); + + if (empty($plantId)) { + Notification::make() + ->title('Plant name cannot be empty!') + ->danger() + ->send(); + + return; + } elseif (empty($pOrder)) { + Notification::make() + ->title('Production order cannot be empty!') + ->danger() + ->send(); + return; + } + elseif (empty($fromSerNo)) { + Notification::make() + ->title('From serial number cannot be empty!') + ->danger() + ->send(); + return; + } + elseif (empty($toSerNo)) { + Notification::make() + ->title('To serial number cannot be empty!') + ->danger() + ->send(); + return; + } + + $pOrderExists = ProductionOrder::where('plant_id', $plantId)->where('production_order', $pOrder)->first(); + + if (! $pOrderExists) { + Notification::make() + ->title("Production Order '{$pOrder}' does not exist to get print!") + ->danger() + ->send(); + + return; + } else { + return redirect()->route('production-orders.exportSerial', ['production_order' => $pOrder, 'plant_code' => $plantCode, 'from_serial_no' => $fromSerNo, 'to_serial_no' => $toSerNo]); + } + } + protected function getFormActions(): array { return []; diff --git a/app/Filament/Resources/ProductionOrderResource/Pages/EditProductionOrder.php b/app/Filament/Resources/ProductionOrderResource/Pages/EditProductionOrder.php index 7af79dd..8676c91 100644 --- a/app/Filament/Resources/ProductionOrderResource/Pages/EditProductionOrder.php +++ b/app/Filament/Resources/ProductionOrderResource/Pages/EditProductionOrder.php @@ -157,6 +157,64 @@ class EditProductionOrder extends EditRecord } } + public function exportSerialNo(){ + $pOrder = trim($this->form->getState()['production_order'] ?? '') ?? null; + + $plantId = trim($this->form->getState()['plant_id'] ?? '') ?? null; + + $itemId = trim($this->form->getState()['item_id'] ?? '') ?? null; + + $fromSerNo = trim($this->form->getState()['from_serial_number'] ?? '') ?? null; + + $toSerNo = trim($this->form->getState()['to_serial_number'] ?? '') ?? null; + + $plantCode = Plant::where('id', $plantId)->value('code'); + + // $itemCode = Item::where('id', $itemId)->value('code'); + + if (empty($plantId)) { + Notification::make() + ->title('Plant name cannot be empty!') + ->danger() + ->send(); + + return; + } elseif (empty($pOrder)) { + Notification::make() + ->title('Production order cannot be empty!') + ->danger() + ->send(); + return; + } + elseif (empty($fromSerNo)) { + Notification::make() + ->title('From serial number cannot be empty!') + ->danger() + ->send(); + return; + } + elseif (empty($toSerNo)) { + Notification::make() + ->title('To serial number cannot be empty!') + ->danger() + ->send(); + return; + } + + $pOrderExists = ProductionOrder::where('plant_id', $plantId)->where('production_order', $pOrder)->first(); + + if (! $pOrderExists) { + Notification::make() + ->title("Production Order '{$pOrder}' does not exist to get print!") + ->danger() + ->send(); + + return; + } else { + return redirect()->route('production-orders.exportSerial', ['production_order' => $pOrder, 'plant_code' => $plantCode, 'from_serial_no' => $fromSerNo, 'to_serial_no' => $toSerNo]); + } + } + protected function getHeaderActions(): array { return [ diff --git a/app/Filament/Resources/ProductionOrderResource/Pages/ViewProductionOrder.php b/app/Filament/Resources/ProductionOrderResource/Pages/ViewProductionOrder.php index 18b1d19..9e21915 100644 --- a/app/Filament/Resources/ProductionOrderResource/Pages/ViewProductionOrder.php +++ b/app/Filament/Resources/ProductionOrderResource/Pages/ViewProductionOrder.php @@ -3,6 +3,7 @@ namespace App\Filament\Resources\ProductionOrderResource\Pages; use App\Filament\Resources\ProductionOrderResource; +use App\Models\Item; use App\Models\Plant; use App\Models\ProductionOrder; use Filament\Actions; @@ -159,6 +160,64 @@ class ViewProductionOrder extends ViewRecord } } + public function exportSerialNo(){ + $pOrder = trim($this->form->getState()['production_order'] ?? '') ?? null; + + $plantId = trim($this->form->getState()['plant_id'] ?? '') ?? null; + + $itemId = trim($this->form->getState()['item_id'] ?? '') ?? null; + + $fromSerNo = trim($this->form->getState()['from_serial_number'] ?? '') ?? null; + + $toSerNo = trim($this->form->getState()['to_serial_number'] ?? '') ?? null; + + $plantCode = Plant::where('id', $plantId)->value('code'); + + // $itemCode = Item::where('id', $itemId)->value('code'); + + if (empty($plantId)) { + Notification::make() + ->title('Plant name cannot be empty!') + ->danger() + ->send(); + + return; + } elseif (empty($pOrder)) { + Notification::make() + ->title('Production order cannot be empty!') + ->danger() + ->send(); + return; + } + elseif (empty($fromSerNo)) { + Notification::make() + ->title('From serial number cannot be empty!') + ->danger() + ->send(); + return; + } + elseif (empty($toSerNo)) { + Notification::make() + ->title('To serial number cannot be empty!') + ->danger() + ->send(); + return; + } + + $pOrderExists = ProductionOrder::where('plant_id', $plantId)->where('production_order', $pOrder)->first(); + + if (! $pOrderExists) { + Notification::make() + ->title("Production Order '{$pOrder}' does not exist to get print!") + ->danger() + ->send(); + + return; + } else { + return redirect()->route('production-orders.exportSerial', ['production_order' => $pOrder, 'plant_code' => $plantCode, 'from_serial_no' => $fromSerNo, 'to_serial_no' => $toSerNo]); + } + } + protected function getHeaderActions(): array { return [