Merge pull request 'Added export serial numbers for production order' (#841) from ranjith-dev into master
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 23s

Reviewed-on: #841
This commit was merged in pull request #841.
This commit is contained in:
2026-07-18 12:13:42 +00:00
3 changed files with 176 additions and 0 deletions

View File

@@ -3,6 +3,7 @@
namespace App\Filament\Resources\ProductionOrderResource\Pages; namespace App\Filament\Resources\ProductionOrderResource\Pages;
use App\Filament\Resources\ProductionOrderResource; use App\Filament\Resources\ProductionOrderResource;
use App\Models\Item;
use App\Models\Plant; use App\Models\Plant;
use App\Models\ProductionOrder; use App\Models\ProductionOrder;
use Filament\Facades\Filament; 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 protected function getFormActions(): array
{ {
return []; return [];

View File

@@ -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 protected function getHeaderActions(): array
{ {
return [ return [

View File

@@ -3,6 +3,7 @@
namespace App\Filament\Resources\ProductionOrderResource\Pages; namespace App\Filament\Resources\ProductionOrderResource\Pages;
use App\Filament\Resources\ProductionOrderResource; use App\Filament\Resources\ProductionOrderResource;
use App\Models\Item;
use App\Models\Plant; use App\Models\Plant;
use App\Models\ProductionOrder; use App\Models\ProductionOrder;
use Filament\Actions; 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 protected function getHeaderActions(): array
{ {
return [ return [