Compare commits
5 Commits
renovate/l
...
3c34495048
| Author | SHA1 | Date | |
|---|---|---|---|
| 3c34495048 | |||
|
|
3788f4cd18 | ||
| b70907cb9f | |||
|
|
7dd9f43940 | ||
|
|
b089ddd75c |
@@ -39,6 +39,8 @@ class Scheduler extends Command
|
|||||||
public function handle()
|
public function handle()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
// $this->call('approval:trigger-mails');
|
||||||
|
|
||||||
// --- Production Rules ---
|
// --- Production Rules ---
|
||||||
$productionRules = AlertMailRule::where('module', 'ProductionQuantities')
|
$productionRules = AlertMailRule::where('module', 'ProductionQuantities')
|
||||||
->where('rule_name', 'ProductionMail')
|
->where('rule_name', 'ProductionMail')
|
||||||
@@ -174,7 +176,7 @@ class Scheduler extends Command
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'Daily':
|
case 'Daily':
|
||||||
if (now()->format('H:i') == '10:00') {
|
if (now()->format('H:i') == '10:30') {
|
||||||
\Artisan::call('send:invoice-data-report', [
|
\Artisan::call('send:invoice-data-report', [
|
||||||
'schedule_type' => $rule->schedule_type,
|
'schedule_type' => $rule->schedule_type,
|
||||||
'plant' => $rule->plant,
|
'plant' => $rule->plant,
|
||||||
@@ -209,7 +211,7 @@ class Scheduler extends Command
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'Daily':
|
case 'Daily':
|
||||||
if (now()->format('H:i') == '10:00') {
|
if (now()->format('H:i') == '10:45') {
|
||||||
\Artisan::call('send:invoice-transit-report', [
|
\Artisan::call('send:invoice-transit-report', [
|
||||||
'schedule_type' => $rule->schedule_type,
|
'schedule_type' => $rule->schedule_type,
|
||||||
'plant' => $rule->plant,
|
'plant' => $rule->plant,
|
||||||
|
|||||||
@@ -197,6 +197,7 @@ class ItemResource extends Resource
|
|||||||
->searchable(),
|
->searchable(),
|
||||||
Tables\Columns\TextColumn::make('category')
|
Tables\Columns\TextColumn::make('category')
|
||||||
->label('Category')
|
->label('Category')
|
||||||
|
->default('-')
|
||||||
->alignCenter()
|
->alignCenter()
|
||||||
->sortable()
|
->sortable()
|
||||||
->searchable(),
|
->searchable(),
|
||||||
@@ -217,6 +218,7 @@ class ItemResource extends Resource
|
|||||||
->sortable(),
|
->sortable(),
|
||||||
Tables\Columns\TextColumn::make('uom')
|
Tables\Columns\TextColumn::make('uom')
|
||||||
->label('Unit of Measure')
|
->label('Unit of Measure')
|
||||||
|
->default('-')
|
||||||
->alignCenter()
|
->alignCenter()
|
||||||
->sortable(),
|
->sortable(),
|
||||||
Tables\Columns\TextColumn::make('created_at')
|
Tables\Columns\TextColumn::make('created_at')
|
||||||
@@ -237,6 +239,7 @@ class ItemResource extends Resource
|
|||||||
->sortable()
|
->sortable()
|
||||||
->toggleable(isToggledHiddenByDefault: true),
|
->toggleable(isToggledHiddenByDefault: true),
|
||||||
])
|
])
|
||||||
|
->searchPlaceholder('Search Item Code')
|
||||||
->filters([
|
->filters([
|
||||||
Tables\Filters\TrashedFilter::make(),
|
Tables\Filters\TrashedFilter::make(),
|
||||||
Filter::make('advanced_filters')
|
Filter::make('advanced_filters')
|
||||||
@@ -256,7 +259,7 @@ class ItemResource extends Resource
|
|||||||
$set('operator_id', null);
|
$set('operator_id', null);
|
||||||
}),
|
}),
|
||||||
Select::make('code')
|
Select::make('code')
|
||||||
->label('Search by Item Code')
|
->label('Search by Code')
|
||||||
->nullable()
|
->nullable()
|
||||||
// ->options(function (callable $get) {
|
// ->options(function (callable $get) {
|
||||||
// $plantId = $get('Plant');
|
// $plantId = $get('Plant');
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ use Filament\Tables\Table;
|
|||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
use Illuminate\Database\Eloquent\SoftDeletingScope;
|
use Illuminate\Database\Eloquent\SoftDeletingScope;
|
||||||
use Illuminate\Support\Facades\Storage;
|
use Illuminate\Support\Facades\Storage;
|
||||||
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
// use Illuminate\Validation\Rule;
|
// use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
@@ -93,21 +94,33 @@ class StickerMasterResource extends Resource
|
|||||||
Forms\Components\Select::make('item_id')
|
Forms\Components\Select::make('item_id')
|
||||||
->label('Item Code')
|
->label('Item Code')
|
||||||
->options(function (callable $get) {
|
->options(function (callable $get) {
|
||||||
|
$plantId = $get('plant_id');
|
||||||
if (! $get('plant_id')) {
|
if (! $get('plant_id')) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
return \App\Models\Item::where('plant_id', $get('plant_id'))
|
if (! $get('id')) {
|
||||||
->pluck('code', 'id')
|
// whereHas
|
||||||
->toArray();
|
return Item::where('plant_id', $plantId)->whereDoesntHave('stickerMasters')->pluck('code', 'id');
|
||||||
|
} else {
|
||||||
|
$itemId = StickerMaster::where('id', $get('id'))->first()?->item_id;
|
||||||
|
|
||||||
|
return Item::where('plant_id', $plantId)
|
||||||
|
->where(function ($query) use ($itemId) {
|
||||||
|
$query->whereDoesntHave('stickerMasters')
|
||||||
|
->orWhere('id', $itemId);
|
||||||
|
})
|
||||||
|
->pluck('code', 'id');
|
||||||
|
}
|
||||||
|
// return Item::where('plant_id', $plantId)->pluck('code', 'id')->toArray();
|
||||||
|
})
|
||||||
|
->rule(function (callable $get) {
|
||||||
|
return Rule::unique('sticker_masters', 'item_id')
|
||||||
|
->where('plant_id', $get('plant_id'))
|
||||||
|
->ignore($get('id')); // Ignore current record during updates
|
||||||
})
|
})
|
||||||
// ->rule(function (callable $get) {
|
|
||||||
// return Rule::unique('items', 'code')
|
|
||||||
// ->where('plant_id', $get('plant_id'))
|
|
||||||
// ->ignore($get('id')); // Ignore current record during updates
|
|
||||||
// })
|
|
||||||
->required()
|
->required()
|
||||||
->nullable()
|
// ->nullable()
|
||||||
->searchable()
|
->searchable()
|
||||||
->reactive()
|
->reactive()
|
||||||
// ->disabled(fn (Get $get) => !empty($get('id')))
|
// ->disabled(fn (Get $get) => !empty($get('id')))
|
||||||
@@ -132,7 +145,7 @@ class StickerMasterResource extends Resource
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$availableItems = \App\Models\Item::where('plant_id', $plantId)->exists();
|
$availableItems = Item::where('plant_id', $plantId)->exists();
|
||||||
if (! $availableItems) {
|
if (! $availableItems) {
|
||||||
$set('item_error', null);
|
$set('item_error', null);
|
||||||
|
|
||||||
@@ -147,7 +160,7 @@ class StickerMasterResource extends Resource
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check if item exists for the selected plant
|
// Check if item exists for the selected plant
|
||||||
$item = \App\Models\Item::where('plant_id', $plantId)
|
$item = Item::where('plant_id', $plantId)
|
||||||
->where('id', $itemId)
|
->where('id', $itemId)
|
||||||
->first();
|
->first();
|
||||||
|
|
||||||
@@ -161,7 +174,8 @@ class StickerMasterResource extends Resource
|
|||||||
->where('item_id', $itemId)
|
->where('item_id', $itemId)
|
||||||
->exists();
|
->exists();
|
||||||
if (! $get('id')) {
|
if (! $get('id')) {
|
||||||
$set('item_error', $duplicateSticker ? 'Item Code already exists for the selected plant.' : null);
|
// $set('item_error', $duplicateSticker ? 'Item Code already exists for the selected plant.' : null);
|
||||||
|
$set('item_error', null);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
->extraAttributes(fn ($get) => [
|
->extraAttributes(fn ($get) => [
|
||||||
@@ -177,7 +191,7 @@ class StickerMasterResource extends Resource
|
|||||||
if ($get('id')) {
|
if ($get('id')) {
|
||||||
$itemId = StickerMaster::where('id', $get('id'))->first()?->item_id;
|
$itemId = StickerMaster::where('id', $get('id'))->first()?->item_id;
|
||||||
if ($itemId) {
|
if ($itemId) {
|
||||||
$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 {
|
||||||
@@ -525,27 +539,35 @@ class StickerMasterResource extends Resource
|
|||||||
->sortable(),
|
->sortable(),
|
||||||
Tables\Columns\TextColumn::make('part_validation1')
|
Tables\Columns\TextColumn::make('part_validation1')
|
||||||
->label('Part Validation 1')
|
->label('Part Validation 1')
|
||||||
|
->default('-')
|
||||||
->alignCenter(),
|
->alignCenter(),
|
||||||
Tables\Columns\TextColumn::make('part_validation2')
|
Tables\Columns\TextColumn::make('part_validation2')
|
||||||
->label('Part Validation 2')
|
->label('Part Validation 2')
|
||||||
|
->default('-')
|
||||||
->alignCenter(),
|
->alignCenter(),
|
||||||
Tables\Columns\TextColumn::make('part_validation3')
|
Tables\Columns\TextColumn::make('part_validation3')
|
||||||
->label('Part Validation 3')
|
->label('Part Validation 3')
|
||||||
|
->default('-')
|
||||||
->alignCenter(),
|
->alignCenter(),
|
||||||
Tables\Columns\TextColumn::make('part_validation4')
|
Tables\Columns\TextColumn::make('part_validation4')
|
||||||
->label('Part Validation 4')
|
->label('Part Validation 4')
|
||||||
|
->default('-')
|
||||||
->alignCenter(),
|
->alignCenter(),
|
||||||
Tables\Columns\TextColumn::make('part_validation5')
|
Tables\Columns\TextColumn::make('part_validation5')
|
||||||
->label('Part Validation 5')
|
->label('Part Validation 5')
|
||||||
|
->default('-')
|
||||||
->alignCenter(),
|
->alignCenter(),
|
||||||
Tables\Columns\TextColumn::make('laser_part_validation1')
|
Tables\Columns\TextColumn::make('laser_part_validation1')
|
||||||
->label('Laser Part Validation 1')
|
->label('Laser Part Validation 1')
|
||||||
|
->default('-')
|
||||||
->alignCenter(),
|
->alignCenter(),
|
||||||
Tables\Columns\TextColumn::make('laser_part_validation2')
|
Tables\Columns\TextColumn::make('laser_part_validation2')
|
||||||
->label('Laser Part Validation 2')
|
->label('Laser Part Validation 2')
|
||||||
|
->default('-')
|
||||||
->alignCenter(),
|
->alignCenter(),
|
||||||
Tables\Columns\TextColumn::make('panel_box_code')
|
Tables\Columns\TextColumn::make('panel_box_code')
|
||||||
->label('Panel Box Code')
|
->label('Panel Box Code')
|
||||||
|
->default('-')
|
||||||
->alignCenter(),
|
->alignCenter(),
|
||||||
Tables\Columns\TextColumn::make('load_rate')
|
Tables\Columns\TextColumn::make('load_rate')
|
||||||
->label('Load Rate')
|
->label('Load Rate')
|
||||||
@@ -553,6 +575,7 @@ class StickerMasterResource extends Resource
|
|||||||
->sortable(),
|
->sortable(),
|
||||||
Tables\Columns\TextColumn::make('bundle_quantity')
|
Tables\Columns\TextColumn::make('bundle_quantity')
|
||||||
->label('Bundle Quantity')
|
->label('Bundle Quantity')
|
||||||
|
->default('-')
|
||||||
->alignCenter(),
|
->alignCenter(),
|
||||||
Tables\Columns\TextColumn::make('material_type')
|
Tables\Columns\TextColumn::make('material_type')
|
||||||
->label('Material Type')
|
->label('Material Type')
|
||||||
@@ -587,9 +610,7 @@ class StickerMasterResource extends Resource
|
|||||||
->sortable()
|
->sortable()
|
||||||
->toggleable(isToggledHiddenByDefault: true),
|
->toggleable(isToggledHiddenByDefault: true),
|
||||||
])
|
])
|
||||||
// ->filters([
|
->searchPlaceholder('Search Item Code')
|
||||||
// Tables\Filters\TrashedFilter::make(),
|
|
||||||
// ])
|
|
||||||
->filters([
|
->filters([
|
||||||
Tables\Filters\TrashedFilter::make(),
|
Tables\Filters\TrashedFilter::make(),
|
||||||
Filter::make('advanced_filters')
|
Filter::make('advanced_filters')
|
||||||
@@ -635,7 +656,7 @@ class StickerMasterResource extends Resource
|
|||||||
->searchable()
|
->searchable()
|
||||||
->reactive(),
|
->reactive(),
|
||||||
Select::make('material_type')
|
Select::make('material_type')
|
||||||
->label('Material Type')
|
->label('Select Material Type')
|
||||||
->options([
|
->options([
|
||||||
1 => 'Individual',
|
1 => 'Individual',
|
||||||
2 => 'Bundle',
|
2 => 'Bundle',
|
||||||
@@ -644,7 +665,7 @@ class StickerMasterResource extends Resource
|
|||||||
->reactive(),
|
->reactive(),
|
||||||
|
|
||||||
TextInput::make('panel_box_code')
|
TextInput::make('panel_box_code')
|
||||||
->label('Panel Box Code')
|
->label('Search by Panel Box Code')
|
||||||
->placeholder(placeholder: 'Enter Panel Box Code'),
|
->placeholder(placeholder: 'Enter Panel Box Code'),
|
||||||
DateTimePicker::make(name: 'created_from')
|
DateTimePicker::make(name: 'created_from')
|
||||||
->label('Created From')
|
->label('Created From')
|
||||||
|
|||||||
Reference in New Issue
Block a user