Merge pull request 'Added uom in process order resource page' (#119) from ranjith-dev into master
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Reviewed-on: #119
This commit was merged in pull request #119.
This commit is contained in:
@@ -30,6 +30,8 @@ use Filament\Forms\Components\Select;
|
||||
use App\Models\Line;
|
||||
use Filament\Forms\Components\TextInput;
|
||||
use App\Models\Item;
|
||||
// use App\Models\PalletValidation;
|
||||
// use Dom\Text;
|
||||
|
||||
class ProcessOrderResource extends Resource
|
||||
{
|
||||
@@ -81,7 +83,7 @@ class ProcessOrderResource extends Resource
|
||||
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) {
|
||||
$plantId = $get('plant_id');
|
||||
@@ -90,20 +92,23 @@ class ProcessOrderResource extends Resource
|
||||
|
||||
if ($plantId && $itemId) {
|
||||
// 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) {
|
||||
// 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)
|
||||
->first();
|
||||
|
||||
$set('item_description', $item?->description);
|
||||
$set('item_uom', $item?->uom);
|
||||
} else {
|
||||
$set('item_description', null);
|
||||
$set('item_uom', null);
|
||||
}
|
||||
} else {
|
||||
$set('item_description', null);
|
||||
$set('item_uom', null);
|
||||
}
|
||||
})
|
||||
->required(),
|
||||
@@ -115,7 +120,7 @@ class ProcessOrderResource extends Resource
|
||||
->afterStateHydrated(function ($component, $state, Get $get, Set $set) {
|
||||
$itemId = $get('item_id');
|
||||
if ($get('id')) {
|
||||
$item = \App\Models\Item::where('id', $itemId)->first()?->description;
|
||||
$item = Item::where('id', $itemId)->first()?->description;
|
||||
if ($item) {
|
||||
$set('item_description', $item);
|
||||
} 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')
|
||||
->hidden()
|
||||
->readOnly(),
|
||||
@@ -450,7 +471,6 @@ class ProcessOrderResource extends Resource
|
||||
$paginator = $livewire->getTableRecords();
|
||||
$perPage = method_exists($paginator, 'perPage') ? $paginator->perPage() : 10;
|
||||
$currentPage = method_exists($paginator, 'currentPage') ? $paginator->currentPage() : 1;
|
||||
|
||||
return ($currentPage - 1) * $perPage + $rowLoop->iteration;
|
||||
}),
|
||||
Tables\Columns\TextColumn::make('plant.name')
|
||||
@@ -528,8 +548,7 @@ class ProcessOrderResource extends Resource
|
||||
// ->filters([
|
||||
// Tables\Filters\TrashedFilter::make(),
|
||||
// ])
|
||||
->filters([
|
||||
|
||||
->filters([
|
||||
Tables\Filters\TrashedFilter::make(),
|
||||
Filter::make('advanced_filters')
|
||||
->label('Advanced Filters')
|
||||
@@ -548,10 +567,17 @@ class ProcessOrderResource extends Resource
|
||||
Select::make('Item')
|
||||
->label('Item Code')
|
||||
->nullable()
|
||||
->searchable()
|
||||
->options(function (callable $get) {
|
||||
$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()
|
||||
->afterStateUpdated(function ($state, callable $set, callable $get) {
|
||||
@@ -611,8 +637,6 @@ class ProcessOrderResource extends Resource
|
||||
if (!empty($data['created_to'])) {
|
||||
$query->where('created_at', '<=', $data['created_to']);
|
||||
}
|
||||
|
||||
|
||||
//$query->orderBy('created_at', 'asc');
|
||||
})
|
||||
->indicateUsing(function (array $data) {
|
||||
@@ -662,6 +686,130 @@ class ProcessOrderResource extends Resource
|
||||
]),
|
||||
])
|
||||
->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()
|
||||
->label('Import Process Order')
|
||||
->color('warning')
|
||||
|
||||
Reference in New Issue
Block a user