13 Commits

Author SHA1 Message Date
dhanabalan
7244028d02 Added category in item resource page
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Gemini PR Review / Gemini PR Review (pull_request) Has been cancelled
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Has been cancelled
Laravel Larastan / larastan (pull_request) Has been cancelled
Laravel Pint / pint (pull_request) Has been cancelled
2026-03-21 14:38:27 +05:30
dhanabalan
8104da98d4 added production quantity in production plan resource page
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 11s
Gemini PR Review / Gemini PR Review (pull_request) Successful in 19s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 11s
Laravel Larastan / larastan (pull_request) Failing after 2m32s
Laravel Pint / pint (pull_request) Failing after 2m41s
2026-02-21 14:23:22 +05:30
dhanabalan
1d51067355 Removed production quantity in prodcution plan resource page
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 22s
Gemini PR Review / Gemini PR Review (pull_request) Successful in 28s
Laravel Larastan / larastan (pull_request) Failing after 2m36s
Laravel Pint / pint (pull_request) Failing after 3m1s
2026-02-21 10:00:47 +05:30
dhanabalan
1fd2538048 Chnaged logic in production quantity page
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Gemini PR Review / Gemini PR Review (pull_request) Has been cancelled
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Has been cancelled
Laravel Larastan / larastan (pull_request) Has been cancelled
Laravel Pint / pint (pull_request) Has been cancelled
2026-02-16 16:25:14 +05:30
dhanabalan
d8fdf02417 Changed logic in export of production plan
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Gemini PR Review / Gemini PR Review (pull_request) Has been cancelled
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Has been cancelled
Laravel Larastan / larastan (pull_request) Has been cancelled
Laravel Pint / pint (pull_request) Has been cancelled
2026-02-16 15:14:46 +05:30
dhanabalan
1031a972de Changed logic for showing data in dashboard in production quantity
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Gemini PR Review / Gemini PR Review (pull_request) Has been cancelled
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Has been cancelled
Laravel Larastan / larastan (pull_request) Has been cancelled
Laravel Pint / pint (pull_request) Has been cancelled
2026-02-16 14:17:22 +05:30
dhanabalan
f5173d9861 Changed logic in production quantity page for last scanned qr
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Gemini PR Review / Gemini PR Review (pull_request) Has been cancelled
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Has been cancelled
Laravel Larastan / larastan (pull_request) Has been cancelled
Laravel Pint / pint (pull_request) Has been cancelled
2026-02-16 13:00:55 +05:30
dhanabalan
9602be624d Changed logic in production quantity page
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Gemini PR Review / Gemini PR Review (pull_request) Has been cancelled
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Has been cancelled
Laravel Larastan / larastan (pull_request) Has been cancelled
Laravel Pint / pint (pull_request) Has been cancelled
2026-02-16 12:29:02 +05:30
dhanabalan
85c7a3e286 Added line_id and line_capacity in item model file
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Gemini PR Review / Gemini PR Review (pull_request) Has been cancelled
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Has been cancelled
Laravel Larastan / larastan (pull_request) Has been cancelled
Laravel Pint / pint (pull_request) Has been cancelled
2026-02-16 11:50:24 +05:30
dhanabalan
6071c8b898 Added machine id column in production quantity model file
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Gemini PR Review / Gemini PR Review (pull_request) Has been cancelled
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Has been cancelled
Laravel Larastan / larastan (pull_request) Has been cancelled
Laravel Pint / pint (pull_request) Has been cancelled
2026-02-16 11:48:33 +05:30
dhanabalan
9bf5337383 Added block_id column in line model file
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Gemini PR Review / Gemini PR Review (pull_request) Has been cancelled
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Has been cancelled
Laravel Larastan / larastan (pull_request) Has been cancelled
Laravel Pint / pint (pull_request) Has been cancelled
2026-02-16 11:47:01 +05:30
dhanabalan
621cf13565 Added columns in production plan model file
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Gemini PR Review / Gemini PR Review (pull_request) Has been cancelled
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Has been cancelled
Laravel Larastan / larastan (pull_request) Has been cancelled
Laravel Pint / pint (pull_request) Has been cancelled
2026-02-16 11:44:53 +05:30
dhanabalan
6c334359b2 Added Block in line resource page
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Gemini PR Review / Gemini PR Review (pull_request) Has been cancelled
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Has been cancelled
Laravel Larastan / larastan (pull_request) Has been cancelled
Laravel Pint / pint (pull_request) Has been cancelled
2026-02-16 11:41:34 +05:30
10 changed files with 1183 additions and 954 deletions

View File

@@ -51,7 +51,8 @@ class ProductionPlanExport implements FromArray, WithHeadings, WithMapping
// Add daily target and produced quantity for each date
foreach ($this->dates as $date) {
$mapped[] = $row['daily_target'] ?? 0;
// $mapped[] = $row['daily_target_dynamic'] ?? 0;
$mapped[] = $row['daily_target_dynamic'][$date] ?? '-';
$mapped[] = $row['produced_quantity'][$date] ?? 0;
}

File diff suppressed because it is too large Load Diff

View File

@@ -82,6 +82,9 @@ class ItemResource extends Resource
Forms\Components\TextInput::make('category')
->label('Category')
->placeholder('Scan the Category'),
Forms\Components\TextInput::make('category')
->label('Category')
->placeholder('Scan the Category'),
Forms\Components\TextInput::make('code')
->required()
->placeholder('Scan the valid code')

View File

@@ -5,23 +5,23 @@ namespace App\Filament\Resources;
use App\Filament\Exports\LineExporter;
use App\Filament\Imports\LineImporter;
use App\Filament\Resources\LineResource\Pages;
use App\Filament\Resources\LineResource\RelationManagers;
use App\Models\Block;
use App\Models\Line;
use App\Models\Plant;
use App\Models\WorkGroupMaster;
use Filament\Facades\Filament;
use Filament\Forms;
use Filament\Forms\Components\Section;
use Filament\Forms\Form;
use Filament\Forms\Get;
use Filament\Forms\Set;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Actions\ExportAction;
use Filament\Tables\Actions\ImportAction;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Forms\Components\Section;
use Filament\Forms\Set;
use Filament\Tables\Actions\ExportAction;
use Illuminate\Validation\Rule;
use Illuminate\Validation\Rules\Unique;
@@ -48,22 +48,22 @@ class LineResource extends Resource
->reactive()
->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();
return ($userHas && strlen($userHas) > 0) ? Plant::where('id', $userHas)->pluck('name', 'id')->toArray() : Plant::orderBy('code')->pluck('name', 'id')->toArray();
})
->default(function () {
return optional(Line::latest()->first())->plant_id;
})
->disabled(fn (Get $get) => !empty($get('id')))
->disabled(fn (Get $get) => ! empty($get('id')))
// ->afterStateUpdated(fn ($set) => $set('block_id', null) & $set('name', null) & $set('start_time', null) & $set('duration', null) & $set('end_time', null))
->afterStateUpdated(function ($state, callable $set, callable $get) {
$plantId = $get('plant_id');
// Ensure `linestop_id` is not cleared
if (!$plantId) {
if (! $plantId) {
$set('lPlantError', 'Please select a plant first.');
return;
}
else
{
} else {
$set('lPlantError', null);
}
})
@@ -72,6 +72,39 @@ class LineResource extends Resource
])
->hint(fn ($get) => $get('lPlantError') ? $get('lPlantError') : null)
->hintColor('danger'),
Forms\Components\Select::make('block_id')
->label('Block')
->relationship('block', 'name')
->required()
// ->nullable(),
->reactive()
->options(function (callable $get) {
if (! $get('plant_id')) {
return [];
}
return Block::where('plant_id', $get('plant_id'))
->pluck('name', 'id')
->toArray();
})
->default(function () {
return optional(Block::latest()->first())->plant_id;
})
->afterStateUpdated(function ($state, callable $set, callable $get) {
$blockId = $get('block_id');
if (! $blockId) {
$set('lblockError', 'Please select a Block first.');
return;
} else {
$set('lblockError', null);
}
})
->extraAttributes(fn ($get) => [
'class' => $get('lblockError') ? 'border-red-500' : '',
])
->hint(fn ($get) => $get('lblockError') ? $get('lblockError') : null)
->hintColor('danger'),
Forms\Components\TextInput::make('name')
->required()
->placeholder('Scan the valid name')
@@ -97,12 +130,11 @@ class LineResource extends Resource
->afterStateUpdated(function ($state, callable $set, callable $get) {
$lineNam = $get('name');
// Ensure `linestop_id` is not cleared
if (!$lineNam) {
if (! $lineNam) {
$set('lNameError', 'Scan the valid name.');
return;
}
else
{
} else {
// $exists = Line::where('name', $lineNam)
// ->where('plant_id', $get('plant_id'))
// ->exists();
@@ -156,6 +188,9 @@ class LineResource extends Resource
'Base FG Line' => 'Base FG Line',
'SFG Line' => 'SFG Line',
'FG Line' => 'FG Line',
'Process Base FG Line' => 'Process Base FG Line',
'Process SFG Line' => 'Process SFG Line',
'Process FG Line' => 'Process FG Line',
'Machining Cell' => 'Machining Cell',
'Blanking Cell' => 'Blanking Cell',
'Forming Cell' => 'Forming Cell',
@@ -168,12 +203,11 @@ class LineResource extends Resource
->afterStateUpdated(function ($state, callable $set, callable $get) {
$lineTyp = $get('type');
// Ensure `linestop_id` is not cleared
if (!$lineTyp) {
if (! $lineTyp) {
$set('lTypeError', 'Scan the valid type.');
return;
}
else
{
} else {
$set('lTypeError', null);
}
})
@@ -198,13 +232,13 @@ class LineResource extends Resource
];
foreach ($partValidationColumns as $column) {
$set($column . '_visible', false);
$set($column.'_visible', false);
$set($column, null);
}
$partValidDispColumns = [
'work_group1_actual_id', 'work_group2_actual_id', 'work_group3_actual_id', 'work_group4_actual_id', 'work_group5_actual_id',
'work_group6_actual_id', 'work_group7_actual_id', 'work_group8_actual_id', 'work_group9_actual_id', 'work_group10_actual_id'
'work_group6_actual_id', 'work_group7_actual_id', 'work_group8_actual_id', 'work_group9_actual_id', 'work_group10_actual_id',
];
foreach ($partValidDispColumns as $column) {
@@ -234,11 +268,11 @@ class LineResource extends Resource
// }
// }
// }),
//->required(fn (callable $get) => $get('no_of_operation') >= 1),
// ->required(fn (callable $get) => $get('no_of_operation') >= 1),
Forms\Components\TextInput::make('work_group1_actual_id')
->label('Work Group Center 1')
->hidden(fn (callable $get) => !$get('work_group1_id_visible'))
->hidden(fn (callable $get) => ! $get('work_group1_id_visible'))
->default('')
->reactive()
->required()
@@ -255,14 +289,16 @@ class LineResource extends Resource
if ($state == null || trim($state) == '') {
$set('work_group1_id_error', null);
$set('work_group1_id', null);
return;
}
$set('work_group1_id_error', null);
$set('work_group1_id', null);
if (!$plantId) {
if (! $plantId) {
$set('work_group1_id_error', 'Invalid plant name.');
return;
}
@@ -270,8 +306,9 @@ class LineResource extends Resource
->where('name', $state)
->first();
if (!$workGroupRecord) {
if (! $workGroupRecord) {
$set('work_group1_id_error', 'Work group does not exist for this plant in master.');
return;
}
@@ -297,10 +334,9 @@ class LineResource extends Resource
->send();
$set('work_group1_actual_id', '');
$set('work_group1_id', null);
return;
}
else
{
} else {
$set('work_group1_id_error', null);
$set('work_group1_id', $workGroupRecord->id);
}
@@ -315,7 +351,7 @@ class LineResource extends Resource
Forms\Components\TextInput::make('work_group2_actual_id')
->label('Work Group Center 2')
->hidden(fn (callable $get) => !$get('work_group2_id_visible'))
->hidden(fn (callable $get) => ! $get('work_group2_id_visible'))
->default('')
->required()
->reactive()
@@ -332,14 +368,16 @@ class LineResource extends Resource
if ($state == null || trim($state) == '') {
$set('work_group2_id_error', null);
$set('work_group2_id', null);
return;
}
$set('work_group2_id_error', null);
$set('work_group2_id', null);
if (!$plantId) {
if (! $plantId) {
$set('work_group2_id_error', 'Invalid plant name.');
return;
}
@@ -347,8 +385,9 @@ class LineResource extends Resource
->where('name', $state)
->first();
if (!$workGroupRecord) {
if (! $workGroupRecord) {
$set('work_group2_id_error', 'Work group does not exist for this plant in master.');
return;
}
@@ -369,10 +408,9 @@ class LineResource extends Resource
->send();
$set('work_group2_actual_id', '');
$set('work_group2_id', null);
return;
}
else
{
} else {
$set('work_group2_id_error', null);
$set('work_group2_id', $workGroupRecord->id);
}
@@ -387,7 +425,7 @@ class LineResource extends Resource
Forms\Components\TextInput::make('work_group3_actual_id')
->label('Work Group Center 3')
->hidden(fn (callable $get) => !$get('work_group3_id_visible'))
->hidden(fn (callable $get) => ! $get('work_group3_id_visible'))
->default('')
->required()
->reactive()
@@ -404,14 +442,16 @@ class LineResource extends Resource
if ($state == null || trim($state) == '') {
$set('work_group3_id_error', null);
$set('work_group3_id', null);
return;
}
$set('work_group3_id_error', null);
$set('work_group3_id', null);
if (!$plantId) {
if (! $plantId) {
$set('work_group3_id_error', 'Invalid plant name.');
return;
}
@@ -419,8 +459,9 @@ class LineResource extends Resource
->where('name', $state)
->first();
if (!$workGroupRecord) {
if (! $workGroupRecord) {
$set('work_group3_id_error', 'Work group does not exist for this plant in master.');
return;
}
@@ -441,10 +482,9 @@ class LineResource extends Resource
->send();
$set('work_group3_actual_id', '');
$set('work_group3_id', null);
return;
}
else
{
} else {
$set('work_group3_id_error', null);
$set('work_group3_id', $workGroupRecord->id);
}
@@ -459,7 +499,7 @@ class LineResource extends Resource
Forms\Components\TextInput::make('work_group4_actual_id')
->label('Work Group Center 4')
->hidden(fn (callable $get) => !$get('work_group4_id_visible'))
->hidden(fn (callable $get) => ! $get('work_group4_id_visible'))
->default('')
->required()
->reactive()
@@ -476,14 +516,16 @@ class LineResource extends Resource
if ($state == null || trim($state) == '') {
$set('work_group4_id_error', null);
$set('work_group4_id', null);
return;
}
$set('work_group4_id_error', null);
$set('work_group4_id', null);
if (!$plantId) {
if (! $plantId) {
$set('work_group4_id_error', 'Invalid plant name.');
return;
}
@@ -491,8 +533,9 @@ class LineResource extends Resource
->where('name', $state)
->first();
if (!$workGroupRecord) {
if (! $workGroupRecord) {
$set('work_group4_id_error', 'Work group does not exist for this plant in master.');
return;
}
@@ -513,10 +556,9 @@ class LineResource extends Resource
->send();
$set('work_group4_actual_id', '');
$set('work_group4_id', null);
return;
}
else
{
} else {
$set('work_group4_id_error', null);
$set('work_group4_id', $workGroupRecord->id);
}
@@ -531,7 +573,7 @@ class LineResource extends Resource
Forms\Components\TextInput::make('work_group5_actual_id')
->label('Work Group Center 5')
->hidden(fn (callable $get) => !$get('work_group5_id_visible'))
->hidden(fn (callable $get) => ! $get('work_group5_id_visible'))
->default('')
->required()
->reactive()
@@ -548,14 +590,16 @@ class LineResource extends Resource
if ($state == null || trim($state) == '') {
$set('work_group5_id_error', null);
$set('work_group5_id', null);
return;
}
$set('work_group5_id_error', null);
$set('work_group5_id', null);
if (!$plantId) {
if (! $plantId) {
$set('work_group5_id_error', 'Invalid plant name.');
return;
}
@@ -563,8 +607,9 @@ class LineResource extends Resource
->where('name', $state)
->first();
if (!$workGroupRecord) {
if (! $workGroupRecord) {
$set('work_group5_id_error', 'Work group does not exist for this plant in master.');
return;
}
@@ -585,10 +630,9 @@ class LineResource extends Resource
->send();
$set('work_group5_actual_id', '');
$set('work_group5_id', null);
return;
}
else
{
} else {
$set('work_group5_id_error', null);
$set('work_group5_id', $workGroupRecord->id);
}
@@ -603,7 +647,7 @@ class LineResource extends Resource
Forms\Components\TextInput::make('work_group6_actual_id')
->label('Work Group Center 6')
->hidden(fn (callable $get) => !$get('work_group6_id_visible'))
->hidden(fn (callable $get) => ! $get('work_group6_id_visible'))
->default('')
->required()
->reactive()
@@ -620,14 +664,16 @@ class LineResource extends Resource
if ($state == null || trim($state) == '') {
$set('work_group6_id_error', null);
$set('work_group6_id', null);
return;
}
$set('work_group6_id_error', null);
$set('work_group6_id', null);
if (!$plantId) {
if (! $plantId) {
$set('work_group6_id_error', 'Invalid plant name.');
return;
}
@@ -635,8 +681,9 @@ class LineResource extends Resource
->where('name', $state)
->first();
if (!$workGroupRecord) {
if (! $workGroupRecord) {
$set('work_group6_id_error', 'Work group does not exist for this plant in master.');
return;
}
@@ -657,10 +704,9 @@ class LineResource extends Resource
->send();
$set('work_group6_actual_id', '');
$set('work_group6_id', null);
return;
}
else
{
} else {
$set('work_group6_id_error', null);
$set('work_group6_id', $workGroupRecord->id);
}
@@ -675,7 +721,7 @@ class LineResource extends Resource
Forms\Components\TextInput::make('work_group7_actual_id')
->label('Work Group Center 7')
->hidden(fn (callable $get) => !$get('work_group7_id_visible'))
->hidden(fn (callable $get) => ! $get('work_group7_id_visible'))
->default('')
->required()
->reactive()
@@ -692,14 +738,16 @@ class LineResource extends Resource
if ($state == null || trim($state) == '') {
$set('work_group7_id_error', null);
$set('work_group7_id', null);
return;
}
$set('work_group7_id_error', null);
$set('work_group7_id', null);
if (!$plantId) {
if (! $plantId) {
$set('work_group7_id_error', 'Invalid plant name.');
return;
}
@@ -707,8 +755,9 @@ class LineResource extends Resource
->where('name', $state)
->first();
if (!$workGroupRecord) {
if (! $workGroupRecord) {
$set('work_group7_id_error', 'Work group does not exist for this plant in master.');
return;
}
@@ -729,10 +778,9 @@ class LineResource extends Resource
->send();
$set('work_group7_actual_id', '');
$set('work_group7_id', null);
return;
}
else
{
} else {
$set('work_group7_id_error', null);
$set('work_group7_id', $workGroupRecord->id);
}
@@ -747,7 +795,7 @@ class LineResource extends Resource
Forms\Components\TextInput::make('work_group8_actual_id')
->label('Work Group Center 8')
->hidden(fn (callable $get) => !$get('work_group8_id_visible'))
->hidden(fn (callable $get) => ! $get('work_group8_id_visible'))
->default('')
->required()
->reactive()
@@ -764,14 +812,16 @@ class LineResource extends Resource
if ($state == null || trim($state) == '') {
$set('work_group8_id_error', null);
$set('work_group8_id', null);
return;
}
$set('work_group8_id_error', null);
$set('work_group8_id', null);
if (!$plantId) {
if (! $plantId) {
$set('work_group8_id_error', 'Invalid plant name.');
return;
}
@@ -779,8 +829,9 @@ class LineResource extends Resource
->where('name', $state)
->first();
if (!$workGroupRecord) {
if (! $workGroupRecord) {
$set('work_group8_id_error', 'Work group does not exist for this plant in master.');
return;
}
@@ -801,10 +852,9 @@ class LineResource extends Resource
->send();
$set('work_group8_actual_id', '');
$set('work_group8_id', null);
return;
}
else
{
} else {
$set('work_group8_id_error', null);
$set('work_group8_id', $workGroupRecord->id);
}
@@ -819,7 +869,7 @@ class LineResource extends Resource
Forms\Components\TextInput::make('work_group9_actual_id')
->label('Work Group Center 9')
->hidden(fn (callable $get) => !$get('work_group9_id_visible'))
->hidden(fn (callable $get) => ! $get('work_group9_id_visible'))
->default('')
->required()
->reactive()
@@ -836,14 +886,16 @@ class LineResource extends Resource
if ($state == null || trim($state) == '') {
$set('work_group9_id_error', null);
$set('work_group9_id', null);
return;
}
$set('work_group9_id_error', null);
$set('work_group9_id', null);
if (!$plantId) {
if (! $plantId) {
$set('work_group9_id_error', 'Invalid plant name.');
return;
}
@@ -851,8 +903,9 @@ class LineResource extends Resource
->where('name', $state)
->first();
if (!$workGroupRecord) {
if (! $workGroupRecord) {
$set('work_group9_id_error', 'Work group does not exist for this plant in master.');
return;
}
@@ -873,10 +926,9 @@ class LineResource extends Resource
->send();
$set('work_group9_actual_id', '');
$set('work_group9_id', null);
return;
}
else
{
} else {
$set('work_group9_id_error', null);
$set('work_group9_id', $workGroupRecord->id);
}
@@ -891,7 +943,7 @@ class LineResource extends Resource
Forms\Components\TextInput::make('work_group10_actual_id')
->label('Work Group Center 10')
->hidden(fn (callable $get) => !$get('work_group10_id_visible'))
->hidden(fn (callable $get) => ! $get('work_group10_id_visible'))
->default('')
->required()
->reactive()
@@ -908,14 +960,16 @@ class LineResource extends Resource
if ($state == null || trim($state) == '') {
$set('work_group10_id_error', null);
$set('work_group10_id', null);
return;
}
$set('work_group10_id_error', null);
$set('work_group10_id', null);
if (!$plantId) {
if (! $plantId) {
$set('work_group10_id_error', 'Invalid plant name.');
return;
}
@@ -923,8 +977,9 @@ class LineResource extends Resource
->where('name', $state)
->first();
if (!$workGroupRecord) {
if (! $workGroupRecord) {
$set('work_group10_id_error', 'Work group does not exist for this plant in master.');
return;
}
@@ -945,10 +1000,9 @@ class LineResource extends Resource
->send();
$set('work_group10_actual_id', '');
$set('work_group10_id', null);
return;
}
else
{
} else {
$set('work_group10_id_error', null);
$set('work_group10_id', $workGroupRecord->id);
}
@@ -984,6 +1038,7 @@ class LineResource 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')
@@ -991,6 +1046,11 @@ class LineResource extends Resource
->alignCenter()
->sortable()
->searchable(),
Tables\Columns\TextColumn::make('block.name')
->label('Block')
->alignCenter()
->sortable()
->searchable(),
Tables\Columns\TextColumn::make('name')
->label('Line')
->alignCenter()
@@ -1142,14 +1202,14 @@ class LineResource extends Resource
->label('Import Lines')
->color('warning')
->importer(LineImporter::class)
->visible(function() {
->visible(function () {
return Filament::auth()->user()->can('view import line');
}),
ExportAction::make()
->label('Export Lines')
->color('warning')
->exporter(LineExporter::class)
->visible(function() {
->visible(function () {
return Filament::auth()->user()->can('view export line');
}),
]);

View File

@@ -606,6 +606,7 @@ class ProductionPlanResource extends Resource
$query->where('shift_id', $data['Shift']);
}
if (! empty($data['Line'])) {// if ($line = $data['Line'] ?? null) {
$query->where('line_id', $data['Line']);
}

View File

@@ -12,11 +12,13 @@ class Item extends Model
protected $fillable = [
'plant_id',
'line_id',
'category',
'code',
'description',
'hourly_quantity',
'uom',
'line_capacity',
];
public function plant(): BelongsTo
@@ -24,6 +26,11 @@ class Item extends Model
return $this->belongsTo(Plant::class);
}
public function line(): BelongsTo
{
return $this->belongsTo(Line::class);
}
public function stickerMasters()
{
return $this->hasMany(StickerMaster::class, 'item_id', 'id');

View File

@@ -13,6 +13,7 @@ class Line extends Model
protected $fillable = [
"plant_id",
"block_id",
"name",
"type",
"group_work_center",
@@ -34,6 +35,11 @@ class Line extends Model
return $this->belongsTo(Plant::class);
}
public function block(): BelongsTo
{
return $this->belongsTo(Block::class);
}
public function testingPanelReadings()
{
return $this->hasMany(TestingPanelReading::class);

View File

@@ -12,12 +12,15 @@ class ProductionPlan extends Model
protected $fillable = [
"plant_id",
"item_id",
"shift_id",
"created_at",
"line_id",
"plan_quantity",
"production_quantity",
"operator_id",
"working_days",
"leave_dates",
];
public function plant(): BelongsTo
@@ -34,4 +37,9 @@ class ProductionPlan extends Model
{
return $this->belongsTo(Line::class);
}
public function item(): BelongsTo
{
return $this->belongsTo(Item::class);
}
}

View File

@@ -16,6 +16,7 @@ class ProductionQuantity extends Model
protected $fillable = [
"plant_id",
"machine_id",
"shift_id",
"line_id",
"item_id",
@@ -50,6 +51,11 @@ class ProductionQuantity extends Model
return $this->belongsTo(Item::class);
}
public function machine(): BelongsTo
{
return $this->belongsTo(Machine::class);
}
protected static function booted()
{
static::created(function ($productionQuantity) {

View File

@@ -45,7 +45,7 @@
</div> --}}
<div class="flex gap-6 -mt-6">
<!-- Scan QR Code -->
<div class="w-1/2">
<div class="w-full">
<label for="qr-scan-input" class="block text-sm font-medium text-gray-700 mb-2">
SCAN QR CODE
</label>
@@ -60,7 +60,7 @@
</div>
<!-- Last Scanned QR -->
<div class="w-1/2">
{{-- <div class="w-1/2">
<label for="recent-qr-input" class="block text-sm font-medium text-gray-700 mb-2">
LAST SCANNED QR
</label>
@@ -71,7 +71,7 @@
readonly
wire:model="recent_qr"
/>
</div>
</div> --}}
</div>