Added uom in process order resource page
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 9s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 9s
Gemini PR Review / review (pull_request) Failing after 26s
Laravel Pint / pint (pull_request) Successful in 2m24s
Laravel Larastan / larastan (pull_request) Failing after 3m28s
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 9s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 9s
Gemini PR Review / review (pull_request) Failing after 26s
Laravel Pint / pint (pull_request) Successful in 2m24s
Laravel Larastan / larastan (pull_request) Failing after 3m28s
This commit is contained in:
@@ -30,6 +30,8 @@ use Filament\Forms\Components\Select;
|
|||||||
use App\Models\Line;
|
use App\Models\Line;
|
||||||
use Filament\Forms\Components\TextInput;
|
use Filament\Forms\Components\TextInput;
|
||||||
use App\Models\Item;
|
use App\Models\Item;
|
||||||
|
// use App\Models\PalletValidation;
|
||||||
|
// use Dom\Text;
|
||||||
|
|
||||||
class ProcessOrderResource extends Resource
|
class ProcessOrderResource extends Resource
|
||||||
{
|
{
|
||||||
@@ -81,7 +83,7 @@ class ProcessOrderResource extends Resource
|
|||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
return \App\Models\Item::where('plant_id', $plantId)->pluck('code', 'id');
|
return Item::where('plant_id', $plantId)->pluck('code', 'id');
|
||||||
})
|
})
|
||||||
->afterStateUpdated(function (callable $set, callable $get, ?string $state) {
|
->afterStateUpdated(function (callable $set, callable $get, ?string $state) {
|
||||||
$plantId = $get('plant_id');
|
$plantId = $get('plant_id');
|
||||||
@@ -90,20 +92,23 @@ class ProcessOrderResource extends Resource
|
|||||||
|
|
||||||
if ($plantId && $itemId) {
|
if ($plantId && $itemId) {
|
||||||
// Get the item code using item_id
|
// Get the item code using item_id
|
||||||
$itemCode = \App\Models\Item::where('id', $itemId)->value('code');
|
$itemCode = Item::where('id', $itemId)->value('code');
|
||||||
|
|
||||||
if ($itemCode) {
|
if ($itemCode) {
|
||||||
// Now get the item description using plant_id + code
|
// Now get the item description using plant_id + code
|
||||||
$item = \App\Models\Item::where('plant_id', $plantId)
|
$item = Item::where('plant_id', $plantId)
|
||||||
->where('code', $itemCode)
|
->where('code', $itemCode)
|
||||||
->first();
|
->first();
|
||||||
|
|
||||||
$set('item_description', $item?->description);
|
$set('item_description', $item?->description);
|
||||||
|
$set('item_uom', $item?->uom);
|
||||||
} else {
|
} else {
|
||||||
$set('item_description', null);
|
$set('item_description', null);
|
||||||
|
$set('item_uom', null);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$set('item_description', null);
|
$set('item_description', null);
|
||||||
|
$set('item_uom', null);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
->required(),
|
->required(),
|
||||||
@@ -115,7 +120,7 @@ class ProcessOrderResource extends Resource
|
|||||||
->afterStateHydrated(function ($component, $state, Get $get, Set $set) {
|
->afterStateHydrated(function ($component, $state, Get $get, Set $set) {
|
||||||
$itemId = $get('item_id');
|
$itemId = $get('item_id');
|
||||||
if ($get('id')) {
|
if ($get('id')) {
|
||||||
$item = \App\Models\Item::where('id', $itemId)->first()?->description;
|
$item = Item::where('id', $itemId)->first()?->description;
|
||||||
if ($item) {
|
if ($item) {
|
||||||
$set('item_description', $item);
|
$set('item_description', $item);
|
||||||
} else {
|
} else {
|
||||||
@@ -124,6 +129,22 @@ class ProcessOrderResource extends Resource
|
|||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
|
|
||||||
|
Forms\Components\TextInput::make('item_uom')
|
||||||
|
->label('UOM')
|
||||||
|
->required()
|
||||||
|
->reactive()
|
||||||
|
->afterStateHydrated(function ($component, $state, Get $get, Set $set) {
|
||||||
|
$itemId = $get('item_id');
|
||||||
|
if ($get('id')) {
|
||||||
|
$item = Item::where('id', $itemId)->first()?->uom;
|
||||||
|
if ($item) {
|
||||||
|
$set('item_uom', $item);
|
||||||
|
} else {
|
||||||
|
$set('item_uom', null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
Forms\Components\TextInput::make('id')
|
Forms\Components\TextInput::make('id')
|
||||||
->hidden()
|
->hidden()
|
||||||
->readOnly(),
|
->readOnly(),
|
||||||
@@ -450,7 +471,6 @@ class ProcessOrderResource extends Resource
|
|||||||
$paginator = $livewire->getTableRecords();
|
$paginator = $livewire->getTableRecords();
|
||||||
$perPage = method_exists($paginator, 'perPage') ? $paginator->perPage() : 10;
|
$perPage = method_exists($paginator, 'perPage') ? $paginator->perPage() : 10;
|
||||||
$currentPage = method_exists($paginator, 'currentPage') ? $paginator->currentPage() : 1;
|
$currentPage = method_exists($paginator, 'currentPage') ? $paginator->currentPage() : 1;
|
||||||
|
|
||||||
return ($currentPage - 1) * $perPage + $rowLoop->iteration;
|
return ($currentPage - 1) * $perPage + $rowLoop->iteration;
|
||||||
}),
|
}),
|
||||||
Tables\Columns\TextColumn::make('plant.name')
|
Tables\Columns\TextColumn::make('plant.name')
|
||||||
@@ -529,7 +549,6 @@ class ProcessOrderResource extends Resource
|
|||||||
// Tables\Filters\TrashedFilter::make(),
|
// Tables\Filters\TrashedFilter::make(),
|
||||||
// ])
|
// ])
|
||||||
->filters([
|
->filters([
|
||||||
|
|
||||||
Tables\Filters\TrashedFilter::make(),
|
Tables\Filters\TrashedFilter::make(),
|
||||||
Filter::make('advanced_filters')
|
Filter::make('advanced_filters')
|
||||||
->label('Advanced Filters')
|
->label('Advanced Filters')
|
||||||
@@ -548,10 +567,17 @@ class ProcessOrderResource extends Resource
|
|||||||
Select::make('Item')
|
Select::make('Item')
|
||||||
->label('Item Code')
|
->label('Item Code')
|
||||||
->nullable()
|
->nullable()
|
||||||
|
->searchable()
|
||||||
->options(function (callable $get) {
|
->options(function (callable $get) {
|
||||||
$plantId = $get('Plant');
|
$plantId = $get('Plant');
|
||||||
|
|
||||||
return $plantId ? Item::where('plant_id', $plantId)->pluck('code', 'id') : [];
|
if(empty($plantId)) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
return Item::where('plant_id', $plantId)->pluck('code', 'id');
|
||||||
|
|
||||||
|
//return $plantId ? Item::where('plant_id', $plantId)->pluck('code', 'id') : [];
|
||||||
})
|
})
|
||||||
->reactive()
|
->reactive()
|
||||||
->afterStateUpdated(function ($state, callable $set, callable $get) {
|
->afterStateUpdated(function ($state, callable $set, callable $get) {
|
||||||
@@ -611,8 +637,6 @@ class ProcessOrderResource extends Resource
|
|||||||
if (!empty($data['created_to'])) {
|
if (!empty($data['created_to'])) {
|
||||||
$query->where('created_at', '<=', $data['created_to']);
|
$query->where('created_at', '<=', $data['created_to']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//$query->orderBy('created_at', 'asc');
|
//$query->orderBy('created_at', 'asc');
|
||||||
})
|
})
|
||||||
->indicateUsing(function (array $data) {
|
->indicateUsing(function (array $data) {
|
||||||
@@ -662,6 +686,130 @@ class ProcessOrderResource extends Resource
|
|||||||
]),
|
]),
|
||||||
])
|
])
|
||||||
->headerActions([
|
->headerActions([
|
||||||
|
Tables\Actions\Action::make('reprint_process')
|
||||||
|
->label('Re-Print Process Order')
|
||||||
|
->form([
|
||||||
|
Forms\Components\Section::make()
|
||||||
|
->schema([
|
||||||
|
Forms\Components\Select::make('plant')
|
||||||
|
->label('Select Plant')
|
||||||
|
// ->options(Plant::pluck('name', 'id')->toArray())
|
||||||
|
->options(function (callable $get) {
|
||||||
|
$userHas = Filament::auth()->user()->plant_id;
|
||||||
|
|
||||||
|
return ($userHas && strlen($userHas) > 0) ? Plant::where('id', $userHas)->pluck('name', 'id')->toArray() : Plant::pluck('name', 'id')->toArray();
|
||||||
|
})
|
||||||
|
->required()
|
||||||
|
->reactive()
|
||||||
|
->afterStateUpdated(function ($state, callable $set, callable $get) {
|
||||||
|
$set('Item', null);
|
||||||
|
$set('process_order', null);
|
||||||
|
$set('coil_number', null);
|
||||||
|
$set('received_quantity', null);
|
||||||
|
$set('machine_name', null);
|
||||||
|
}),
|
||||||
|
Select::make('Item')
|
||||||
|
->label('Item Code')
|
||||||
|
->nullable()
|
||||||
|
->required()
|
||||||
|
->searchable()
|
||||||
|
->options(function (callable $get) {
|
||||||
|
$plantId = $get('plant');
|
||||||
|
|
||||||
|
if(empty($plantId)) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
return Item::where('plant_id', $plantId)->pluck('code', 'id');
|
||||||
|
|
||||||
|
//return $plantId ? Item::where('plant_id', $plantId)->pluck('code', 'id') : [];
|
||||||
|
})
|
||||||
|
->reactive()
|
||||||
|
->afterStateUpdated(function ($state, callable $set, callable $get) {
|
||||||
|
$set('process_order', null);
|
||||||
|
$set('coil_number', null);
|
||||||
|
$set('received_quantity', null);
|
||||||
|
$set('machine_name', null);
|
||||||
|
}),
|
||||||
|
TextInput::make('process_order')
|
||||||
|
->label('Process Order')
|
||||||
|
->required()
|
||||||
|
->placeholder('Enter Process Order')
|
||||||
|
->reactive()
|
||||||
|
->afterStateUpdated(function ($state, callable $set, callable $get) {
|
||||||
|
$set('coil_number', null);
|
||||||
|
$set('received_quantity', null);
|
||||||
|
$set('machine_name', null);
|
||||||
|
}),
|
||||||
|
Select::make('coil_number')
|
||||||
|
->label('Coil Number')
|
||||||
|
->nullable()
|
||||||
|
->required()
|
||||||
|
->searchable()
|
||||||
|
->options(function (callable $get) {
|
||||||
|
$plantId = $get('plant');
|
||||||
|
$itemId = $get('Item');
|
||||||
|
$processOrder = $get('process_order');
|
||||||
|
|
||||||
|
if(empty($plantId) || empty($itemId) || empty($processOrder)) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
return ProcessOrder::where('plant_id', $plantId)
|
||||||
|
->where('item_id', $itemId)
|
||||||
|
->where('process_order', $processOrder)
|
||||||
|
->pluck('coil_number', 'coil_number');
|
||||||
|
|
||||||
|
//return $plantId ? Item::where('plant_id', $plantId)->pluck('code', 'id') : [];
|
||||||
|
})
|
||||||
|
->reactive()
|
||||||
|
->afterStateUpdated(function ($state, callable $set, callable $get) {
|
||||||
|
$plantId = $get('plant');
|
||||||
|
$itemId = $get('Item');
|
||||||
|
$processOrder = $get('process_order');
|
||||||
|
|
||||||
|
if(!$plantId || !$itemId || !$processOrder || !$state) {
|
||||||
|
$set('received_quantity', null);
|
||||||
|
$set('machine_name', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$processOrderData = ProcessOrder::where('plant_id', $plantId)
|
||||||
|
->where('item_id', $itemId)
|
||||||
|
->where('process_order', $processOrder)
|
||||||
|
->where('coil_number', $state)
|
||||||
|
->first();
|
||||||
|
|
||||||
|
$set('received_quantity', $processOrderData?->received_quantity);
|
||||||
|
$set('machine_name', $processOrderData?->machine_name);
|
||||||
|
}),
|
||||||
|
TextInput::make('received_quantity')
|
||||||
|
->label('Received Quantity')
|
||||||
|
->readOnly(),
|
||||||
|
|
||||||
|
TextInput::make('machine_name')
|
||||||
|
->label('Machine ID')
|
||||||
|
->readOnly(),
|
||||||
|
])
|
||||||
|
->columns(['default' => 1, 'sm' => 3]),
|
||||||
|
])
|
||||||
|
// ->action(function (array $data) {
|
||||||
|
// $selectedPalletNumber = $data['pallet_list'];
|
||||||
|
// return redirect()->route('download-reprint-qr-pdf', ['palletNo' => $selectedPalletNumber]);
|
||||||
|
// })
|
||||||
|
->action(function (array $data) {
|
||||||
|
$username = Filament::auth()->user()->name;
|
||||||
|
return redirect()->route('download-reprint-process-pdf', [
|
||||||
|
'plant' => $data['plant'],
|
||||||
|
'item' => $data['Item'],
|
||||||
|
'process_order' => $data['process_order'],
|
||||||
|
'coil_number' => $data['coil_number'],
|
||||||
|
'name' => $username,
|
||||||
|
]);
|
||||||
|
})
|
||||||
|
->visible(function () {
|
||||||
|
return Filament::auth()->user()->can('view reprint process order');
|
||||||
|
}),
|
||||||
ImportAction::make()
|
ImportAction::make()
|
||||||
->label('Import Process Order')
|
->label('Import Process Order')
|
||||||
->color('warning')
|
->color('warning')
|
||||||
|
|||||||
Reference in New Issue
Block a user