diff --git a/app/Filament/Exports/StockDataMasterExporter.php b/app/Filament/Exports/StockDataMasterExporter.php
index 70453d2..a299253 100644
--- a/app/Filament/Exports/StockDataMasterExporter.php
+++ b/app/Filament/Exports/StockDataMasterExporter.php
@@ -14,6 +14,7 @@ class StockDataMasterExporter extends Exporter
public static function getColumns(): array
{
static $rowNumber = 0;
+
return [
ExportColumn::make('no')
->label('NO')
@@ -29,7 +30,7 @@ class StockDataMasterExporter extends Exporter
->label('TYPE')
->formatStateUsing(fn ($state) => match ($state) {
'0' => 'FG',
- '1' => 'SFG',
+ '1' => 'NON-FG',
default => '-',
}),
ExportColumn::make('location')
@@ -93,7 +94,7 @@ class StockDataMasterExporter extends Exporter
$scanned = $record->scanned_quantity ?? 0;
return $scanned + $duplicate + $notInStock;
- }),
+ }),
ExportColumn::make('stock_difference')
->label('STOCK DIFFERENCE COUNT')
@@ -114,7 +115,7 @@ class StockDataMasterExporter extends Exporter
$difference = $physicalStock - $systemStock;
return max($difference, 0);
- }),
+ }),
ExportColumn::make('created_at')
->label('CREATED AT'),
ExportColumn::make('updated_at')
@@ -131,10 +132,10 @@ class StockDataMasterExporter extends Exporter
public static function getCompletedNotificationBody(Export $export): string
{
- $body = 'Your stock data master export has completed and ' . number_format($export->successful_rows) . ' ' . str('row')->plural($export->successful_rows) . ' exported.';
+ $body = 'Your stock data master export has completed and '.number_format($export->successful_rows).' '.str('row')->plural($export->successful_rows).' exported.';
if ($failedRowsCount = $export->getFailedRowsCount()) {
- $body .= ' ' . number_format($failedRowsCount) . ' ' . str('row')->plural($failedRowsCount) . ' failed to export.';
+ $body .= ' '.number_format($failedRowsCount).' '.str('row')->plural($failedRowsCount).' failed to export.';
}
return $body;
diff --git a/app/Filament/Imports/StockDataMasterImporter.php b/app/Filament/Imports/StockDataMasterImporter.php
index ed5bcfb..af31f0b 100644
--- a/app/Filament/Imports/StockDataMasterImporter.php
+++ b/app/Filament/Imports/StockDataMasterImporter.php
@@ -6,12 +6,12 @@ use App\Models\Item;
use App\Models\Plant;
use App\Models\StickerMaster;
use App\Models\StockDataMaster;
+use Filament\Actions\Imports\Exceptions\RowImportFailedException;
use Filament\Actions\Imports\ImportColumn;
use Filament\Actions\Imports\Importer;
use Filament\Actions\Imports\Models\Import;
use Filament\Facades\Filament;
use Str;
-use Filament\Actions\Imports\Exceptions\RowImportFailedException;
class StockDataMasterImporter extends Importer
{
@@ -23,46 +23,46 @@ class StockDataMasterImporter extends Importer
ImportColumn::make('plant')
->requiredMapping()
->exampleHeader('PLANT CODE')
- ->example('1000')
+ ->examples(['1000', '1000'])
->label('PLANT CODE')
->relationship(resolveUsing: 'code')
->rules(['required']),
ImportColumn::make('type')
->requiredMapping()
->exampleHeader('TYPE')
- ->example('FG/SFG')
+ ->examples(['FG', 'NON-FG'])
->label('TYPE'),
ImportColumn::make('location')
->requiredMapping()
->exampleHeader('LOCATION')
- ->example('2001')
+ ->examples(['2001', '2002'])
->label('LOCATION')
->rules(['required']),
- ImportColumn::make('item_reference')// stickerMaster
+ ImportColumn::make('item_reference')
->requiredMapping()
->exampleHeader('ITEM CODE')
- ->example('123456')
+ ->examples(['123456', '246118'])
->label('ITEM CODE')
->rules(['required']),
ImportColumn::make('serial_number')
->requiredMapping()
->exampleHeader('SERIAL NUMBER')
- ->example('200235236622')
+ ->examples(['200235236622', '200235236623'])
->label('SERIAL NUMBER'),
ImportColumn::make('batch')
->requiredMapping()
->exampleHeader('BATCH')
- ->example('20102')
+ ->examples(['20102', '20103'])
->label('BATCH'),
ImportColumn::make('quantity')
->requiredMapping()
->exampleHeader('QUANTITY')
- ->example('1')
+ ->examples(['1', '1'])
->label('QUANTITY'),
ImportColumn::make('doc_no')
->requiredMapping()
->exampleHeader('DOCUMENT NUMBER')
- ->example('156566')
+ ->examples(['82128', '21222'])
->label('DOCUMENT NUMBER'),
];
}
@@ -86,26 +86,21 @@ class StockDataMasterImporter extends Importer
$operatorName = $user->name;
-
if ($plantCod == null || $plantCod == '') {
$warnMsg[] = "Plant code can't be empty!";
- }
- else if ($typeValue == null || $typeValue == '') {
+ } elseif ($typeValue == null || $typeValue == '') {
$warnMsg[] = "Type can't be empty!";
- }
- else if ($iCode == null || $iCode == '') {
+ } elseif ($iCode == null || $iCode == '') {
$warnMsg[] = "Item code can't be empty!";
- }
- else if ($location == null || $location == '') {
+ } elseif ($location == null || $location == '') {
$warnMsg[] = "Location can't be empty!";
- }
- else if ($serialNumber == null || $serialNumber == '') {
+ } elseif ($serialNumber == null || $serialNumber == '') {
$warnMsg[] = "Serial number can't be empty!";
}
// else if ($batch == null || $batch == '') {
// $warnMsg[] = "Batch can't be empty!";
// }
- else if ($quantity == null || $quantity == '') {
+ elseif ($quantity == null || $quantity == '') {
$warnMsg[] = "Quantity can't be empty!";
}
// else if ($docNo == null || $docNo == '') {
@@ -152,33 +147,27 @@ class StockDataMasterImporter extends Importer
$typeValue = strtoupper($typeValue);
- if (! in_array($typeValue, ['FG', 'SFG'])) {
- $warnMsg[] = 'Invalid type found! It should be either FG or SFG and fg/sfg.';
- }
- else if (Str::length($location) < 4) {
+ if (! in_array($typeValue, ['FG', 'NON-FG'])) {
+ $warnMsg[] = 'Invalid type found! It should be either FG or NON-FG.';
+ } elseif (Str::length($location) < 4) {
$warnMsg[] = 'Location should contain minimum 4 digits!';
- }
- else if (! ctype_digit((string) $location)) {
+ } elseif (! ctype_digit((string) $location)) {
$warnMsg[] = 'Location must be an integer!';
- }
- else if (Str::length($serialNumber) < 9) {
+ } elseif (Str::length($serialNumber) < 9) {
$warnMsg[] = 'Serial number should contain minimum 9 digits!';
- }
- else if (!ctype_alnum($serialNumber)) {
+ } elseif (! ctype_alnum($serialNumber)) {
$warnMsg[] = 'Serial number should contain alpha-numeric values!';
- }
-
- else if (! ctype_digit((string) $quantity) || (int) $quantity <= 0) {
+ } elseif (! ctype_digit((string) $quantity) || (int) $quantity <= 0) {
$warnMsg[] = 'Quantity must be an integer and greater than 0!';
}
- if($batch){
+ if ($batch) {
if (Str::length($batch) < 5) {
$warnMsg[] = 'Batch should contain minimum 5 digits!';
}
}
- if($docNo){
+ if ($docNo) {
if (Str::length($docNo) < 5) {
$warnMsg[] = 'Document number contain minimum 5 digits!';
}
@@ -190,7 +179,7 @@ class StockDataMasterImporter extends Importer
$type = match ($typeValue) {
'FG' => '0',
- 'SFG' => '1',
+ 'NON-FG' => '1',
default => null,
};
@@ -199,7 +188,7 @@ class StockDataMasterImporter extends Importer
$record = StockDataMaster::where([
'plant_id' => $plantId,
'sticker_master_id' => $stickId,
- 'serial_number' => $serialNumber
+ 'serial_number' => $serialNumber,
])->first();
if ($record) {
@@ -234,10 +223,10 @@ class StockDataMasterImporter extends Importer
public static function getCompletedNotificationBody(Import $import): string
{
- $body = 'Your stock data master import has completed and ' . number_format($import->successful_rows) . ' ' . str('row')->plural($import->successful_rows) . ' imported.';
+ $body = 'Your stock data master import has completed and '.number_format($import->successful_rows).' '.str('row')->plural($import->successful_rows).' imported.';
if ($failedRowsCount = $import->getFailedRowsCount()) {
- $body .= ' ' . number_format($failedRowsCount) . ' ' . str('row')->plural($failedRowsCount) . ' failed to import.';
+ $body .= ' '.number_format($failedRowsCount).' '.str('row')->plural($failedRowsCount).' failed to import.';
}
return $body;
diff --git a/app/Filament/Pages/CycleCount.php b/app/Filament/Pages/CycleCount.php
index 84c373c..878bafd 100644
--- a/app/Filament/Pages/CycleCount.php
+++ b/app/Filament/Pages/CycleCount.php
@@ -2,25 +2,22 @@
namespace App\Filament\Pages;
-use App\Models\CustomerPoMaster;
use App\Models\InvoiceValidation;
use App\Models\Item;
use App\Models\NotInStock;
use App\Models\Plant;
use App\Models\StickerMaster;
use App\Models\StockDataMaster;
-use App\Models\WireMasterPacking;
-use Carbon\Carbon;
+use Filament\Actions\Action;
+use Filament\Actions\Concerns\InteractsWithActions;
use Filament\Facades\Filament;
-use Filament\Pages\Page;
-use Filament\Forms\Form;
-use Filament\Forms\Concerns\InteractsWithForms;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
+use Filament\Forms\Concerns\InteractsWithForms;
+use Filament\Forms\Form;
use Filament\Notifications\Notification;
-use Filament\Actions\Action;
-use Filament\Actions\Concerns\InteractsWithActions;
+use Filament\Pages\Page;
use Illuminate\Support\Facades\Auth;
class CycleCount extends Page
@@ -28,28 +25,40 @@ class CycleCount extends Page
protected static ?string $navigationIcon = 'heroicon-o-document-text';
protected static string $view = 'filament.pages.cycle-count';
+
protected static ?string $navigationGroup = 'Cycle Count Software';
- use InteractsWithForms;
-
use InteractsWithActions;
+ use InteractsWithForms;
public $serialNumber;
- public $location, $bin;
+ public $location;
+
+ public $bin;
public $snoCount = 0;
public $state = [];
- public $plantId, $itemCode, $batch, $docNo, $quantity, $sNo;
+ public $plantId;
+
+ public $itemCode;
+
+ public $batch;
+
+ public $docNo;
+
+ public $quantity;
+
+ public $sNo;
public array $filters = [];
public function mount()
{
$this->form->fill([
- 'plant_id'=>$this->plantId,
+ 'plant_id' => $this->plantId,
'pallet_quantity' => 0,
]);
}
@@ -66,6 +75,7 @@ class CycleCount extends Page
->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();
})
->required(),
@@ -74,9 +84,9 @@ class CycleCount extends Page
->reactive()
->required()
->readOnly(fn (callable $get) => ! $get('plant_id')),
- // ->extraAttributes([
- // 'wire:keydown.enter' => 'processLocation($event.target.value)',
- // ]),
+ // ->extraAttributes([
+ // 'wire:keydown.enter' => 'processLocation($event.target.value)',
+ // ]),
TextInput::make('bin')
->label('Bin')
->readOnly(fn (callable $get) => ! $get('plant_id') || ! $get('location'))
@@ -95,7 +105,7 @@ class CycleCount extends Page
// ->reactive()
// ->readOnly(),
])
- ->columns(4)
+ ->columns(4),
]);
}
@@ -123,8 +133,7 @@ class CycleCount extends Page
// $pattern2 = '/^[^|]+\|[^|]+\|[^|]+\|?$/'; Optional Pipeline at end
- if (!preg_match($pattern1, $value) && !preg_match($pattern2, $value) && !preg_match($pattern3, $value))
- {
+ if (! preg_match($pattern1, $value) && ! preg_match($pattern2, $value) && ! preg_match($pattern3, $value)) {
Notification::make()
->danger()
->title('Invalid QR Format')
@@ -142,20 +151,18 @@ class CycleCount extends Page
return;
}
- if(preg_match($pattern1, $value))
- {
+ if (preg_match($pattern1, $value)) {
$value = rtrim($value, '#');
$parts = explode('#', $value);
$this->itemCode = $parts[0] ?? null;
- $this->batch = $parts[1] ?? null;
- $this->docNo = $parts[2] ?? null;
+ $this->batch = $parts[1] ?? null;
+ $this->docNo = $parts[2] ?? null;
$this->quantity = $parts[3] ?? null;
- if (strlen($this->itemCode) < 6)
- {
+ if (strlen($this->itemCode) < 6) {
Notification::make()
- ->title("Unknown Item Code")
+ ->title('Unknown Item Code')
->body("Item Code should contain minimum 6 digits '$this->itemCode'")
->danger()
->send();
@@ -165,11 +172,11 @@ class CycleCount extends Page
'bin' => $bin,
'qr_code' => null,
]);
+
return;
- }
- elseif(!ctype_alnum($this->itemCode)){
+ } elseif (! ctype_alnum($this->itemCode)) {
Notification::make()
- ->title("Unknown Item Code")
+ ->title('Unknown Item Code')
->body("Item Code should contain alpha-numeric values '$this->itemCode'")
->danger()
->duration(5000)
@@ -180,13 +187,13 @@ class CycleCount extends Page
'bin' => $bin,
'qr_code' => null,
]);
- return;
- }
- elseif($this->batch != '' || $this->batch != null){
- if(strlen($this->batch) < 5){
+ return;
+ } elseif ($this->batch != '' || $this->batch != null) {
+
+ if (strlen($this->batch) < 5) {
Notification::make()
- ->title("Unknown Batch")
+ ->title('Unknown Batch')
->body("Batch should contain minimum 5 digits '$this->batch'")
->danger()
->duration(5000)
@@ -197,13 +204,13 @@ class CycleCount extends Page
'bin' => $bin,
'qr_code' => null,
]);
+
return;
}
- }
- elseif(strlen($this->docNo) < 5){
+ } elseif (strlen($this->docNo) < 5) {
Notification::make()
- ->title("Unknown Doc No")
+ ->title('Unknown Doc No')
->body("Doc No should contain minimum 5 digits '$this->docNo'")
->danger()
->duration(5000)
@@ -214,11 +221,11 @@ class CycleCount extends Page
'bin' => $bin,
'qr_code' => null,
]);
+
return;
- }
- elseif (!ctype_digit($this->quantity)) {
+ } elseif (! ctype_digit($this->quantity)) {
Notification::make()
- ->title("Unknown Quantity")
+ ->title('Unknown Quantity')
->body("Quantity must be an integer value '$this->quantity'")
->danger()
->duration(5000)
@@ -229,14 +236,15 @@ class CycleCount extends Page
'bin' => $bin,
'qr_code' => null,
]);
+
return;
}
$item = Item::where('code', $this->itemCode)->first();
- if(!$item){
+ if (! $item) {
Notification::make()
- ->title("Item Code Not Found")
+ ->title('Item Code Not Found')
->body("Item code not found '$this->itemCode'")
->danger()
->duration(5000)
@@ -247,6 +255,7 @@ class CycleCount extends Page
'bin' => $bin,
'qr_code' => null,
]);
+
return;
}
@@ -256,9 +265,9 @@ class CycleCount extends Page
$plantCode = $plantCo->code;
- if(!$itemCodeAgaPlant){
+ if (! $itemCodeAgaPlant) {
Notification::make()
- ->title("Item Code Not Found")
+ ->title('Item Code Not Found')
->body("Item code '$this->itemCode' not found against plant code '$plantCode'")
->danger()
->duration(5000)
@@ -269,15 +278,16 @@ class CycleCount extends Page
'bin' => $bin,
'qr_code' => null,
]);
+
return;
}
$stickerExists = StickerMaster::where('item_id', $item->id)->first();
- if (!$stickerExists) {
+ if (! $stickerExists) {
Notification::make()
- ->title("Unknown Sticker Master")
+ ->title('Unknown Sticker Master')
->body("Item code not found in sticker master '{$this->itemCode}'")
->danger()
->duration(5000)
@@ -297,10 +307,10 @@ class CycleCount extends Page
->where('item_id', $item->id)
->first();
- if (!$stickerExists) {
+ if (! $stickerExists) {
Notification::make()
- ->title("Unknown Sticker Master")
+ ->title('Unknown Sticker Master')
->body("Item code not found in sticker master '{$this->itemCode}' in plant '{$plantCode}'")
->danger()
->duration(5000)
@@ -322,7 +332,7 @@ class CycleCount extends Page
->where('location', $location)
->first();
- if(!$locationExist){
+ if (! $locationExist) {
$existingInOtherLocation = NotInStock::where('plant_id', $plantId)
->where('serial_number', $this->sNo)
@@ -361,8 +371,8 @@ class CycleCount extends Page
'stickerMasterId' => $stickerMasterId,
'batch' => $this->batch,
'docNo' => $this->docNo,
- 'quantity' => $this->quantity
- ])
+ 'quantity' => $this->quantity,
+ ]),
])
->send();
@@ -372,6 +382,7 @@ class CycleCount extends Page
'bin' => $bin,
'qr_code' => null,
]);
+
return;
}
@@ -380,7 +391,7 @@ class CycleCount extends Page
->where('location', $location)
->first();
- if(!$locationAgaPlant){
+ if (! $locationAgaPlant) {
$existingInOtherLocation = NotInStock::where('plant_id', $plantId)
->where('serial_number', $this->sNo)
@@ -418,8 +429,8 @@ class CycleCount extends Page
'stickerMasterId' => $stickerMasterId,
'batch' => $this->batch,
'docNo' => $this->docNo,
- 'quantity' => $this->quantity
- ])
+ 'quantity' => $this->quantity,
+ ]),
])
->send();
@@ -439,7 +450,7 @@ class CycleCount extends Page
->where('sticker_master_id', $stickerMasterId)
->first();
- if(!$locationItemAgaPlant){
+ if (! $locationItemAgaPlant) {
$existingInOtherLocation = NotInStock::where('plant_id', $plantId)
->where('serial_number', $this->sNo)
@@ -477,17 +488,17 @@ class CycleCount extends Page
'stickerMasterId' => $stickerMasterId,
'batch' => $this->batch,
'docNo' => $this->docNo,
- 'quantity' => $this->quantity
+ 'quantity' => $this->quantity,
]),
])
->send();
- $this->form->fill([
- 'plant_id' => $plantId,
- 'location' => $location,
- 'bin' => $bin,
- 'qr_code' => null,
- ]);
+ $this->form->fill([
+ 'plant_id' => $plantId,
+ 'location' => $location,
+ 'bin' => $bin,
+ 'qr_code' => null,
+ ]);
return;
}
@@ -530,17 +541,17 @@ class CycleCount extends Page
'stickerMasterId' => $stickerMasterId,
'batch' => $this->batch,
'docNo' => $this->docNo,
- 'quantity' => $this->quantity
+ 'quantity' => $this->quantity,
]),
])
->send();
- $this->form->fill([
- 'plant_id' => $plantId,
- 'location' => $location,
- 'bin' => $bin,
- 'qr_code' => null,
- ]);
+ $this->form->fill([
+ 'plant_id' => $plantId,
+ 'location' => $location,
+ 'bin' => $bin,
+ 'qr_code' => null,
+ ]);
return;
}
@@ -583,17 +594,17 @@ class CycleCount extends Page
'stickerMasterId' => $stickerMasterId,
'batch' => $this->batch,
'docNo' => $this->docNo,
- 'quantity' => $this->quantity
+ 'quantity' => $this->quantity,
]),
])
->send();
- $this->form->fill([
- 'plant_id' => $plantId,
- 'location' => $location,
- 'bin' => $bin,
- 'qr_code' => null,
- ]);
+ $this->form->fill([
+ 'plant_id' => $plantId,
+ 'location' => $location,
+ 'bin' => $bin,
+ 'qr_code' => null,
+ ]);
return;
}
@@ -611,7 +622,7 @@ class CycleCount extends Page
// $remainingStock = $stock->quantity - $currentScanned;
- if($stock->scanned_status == 'Scanned'){
+ if ($stock->scanned_status == 'Scanned') {
Notification::make()
->title('Duplicate Serial Number')
@@ -629,17 +640,18 @@ class CycleCount extends Page
'stickerMasterId' => $stickerMasterId,
'batch' => $this->batch,
'docNo' => $this->docNo,
- 'quantity' => $this->quantity
+ 'quantity' => $this->quantity,
]),
])
->send();
- $this->form->fill([
- 'plant_id' => $plantId,
- 'location' => $location,
- 'bin' => $bin,
- 'qr_code' => null,
- ]);
+ $this->form->fill([
+ 'plant_id' => $plantId,
+ 'location' => $location,
+ 'bin' => $bin,
+ 'qr_code' => null,
+ ]);
+
return;
}
@@ -667,31 +679,29 @@ class CycleCount extends Page
'bin' => $bin,
'batch' => $this->batch,
'scanned_quantity' => $newScannedQty,
- 'scanned_status' => $status
+ 'scanned_status' => $status,
]);
$this->dispatch('refreshSfgData', location: $location, plantId: $plantId, itemCode: $this->itemCode, docNo: $this->docNo);
- }
- else
- {
+ } else {
Notification::make()
- ->title('Unknown : Data Found')
- ->body("No matching record found for the given Location, Item Code, Batch, and Document Number under Plant Code '$plantCode' in stock data master.")
- ->danger()
- ->actions([
- \Filament\Notifications\Actions\Action::make('confirm_update')
- ->label('Yes, Update')
- ->button()
- ->dispatch('confirmStockUpdate', [
- 'plantId' => $plantId,
- 'location' => $location,
- 'bin' => $bin,
- 'stickerMasterId' => $stickerMasterId,
- 'batch' => $this->batch,
- 'docNo' => $this->docNo,
- 'quantity' => $this->quantity
- ]),
- ])
- ->send();
+ ->title('Unknown : Data Found')
+ ->body("No matching record found for the given Location, Item Code, Batch, and Document Number under Plant Code '$plantCode' in stock data master.")
+ ->danger()
+ ->actions([
+ \Filament\Notifications\Actions\Action::make('confirm_update')
+ ->label('Yes, Update')
+ ->button()
+ ->dispatch('confirmStockUpdate', [
+ 'plantId' => $plantId,
+ 'location' => $location,
+ 'bin' => $bin,
+ 'stickerMasterId' => $stickerMasterId,
+ 'batch' => $this->batch,
+ 'docNo' => $this->docNo,
+ 'quantity' => $this->quantity,
+ ]),
+ ])
+ ->send();
$this->form->fill([
'plant_id' => $plantId,
@@ -705,25 +715,22 @@ class CycleCount extends Page
return;
}
- }
- else if(preg_match($pattern2, $value))
- {
+ } elseif (preg_match($pattern2, $value)) {
$value = rtrim($value, '|');
$parts = explode('|', $value);
$this->itemCode = $parts[0] ?? null;
if (strlen($parts[1]) > strlen($parts[2])) {
- $this->sNo = $parts[1];
+ $this->sNo = $parts[1];
$this->batch = $parts[2];
} else {
$this->batch = $parts[1];
- $this->sNo = $parts[2];
+ $this->sNo = $parts[2];
}
- if (strlen($this->itemCode) < 6)
- {
+ if (strlen($this->itemCode) < 6) {
Notification::make()
- ->title("Unknown Item Code")
+ ->title('Unknown Item Code')
->body("Item Code should contain minimum 6 digits '$this->itemCode'")
->danger()
->send();
@@ -734,11 +741,11 @@ class CycleCount extends Page
'bin' => $bin,
'qr_code' => null,
]);
+
return;
- }
- elseif(!ctype_alnum($this->itemCode)){
+ } elseif (! ctype_alnum($this->itemCode)) {
Notification::make()
- ->title("Unknown Item Code")
+ ->title('Unknown Item Code')
->body("Item Code should contain alpha-numeric values '$this->itemCode'")
->danger()
->duration(5000)
@@ -749,20 +756,20 @@ class CycleCount extends Page
'bin' => $bin,
'qr_code' => null,
]);
+
return;
- }
- elseif(strlen($this->batch) < 5){
+ } elseif (strlen($this->batch) < 5) {
Notification::make()
- ->title("Unknown Batch")
+ ->title('Unknown Batch')
->body("Batch should contain minimum 5 digits '$this->batch'")
->danger()
->duration(5000)
->send();
+
return;
- }
- elseif(strlen($this->sNo) < 9){
+ } elseif (strlen($this->sNo) < 9) {
Notification::make()
- ->title("Unknown Serial Number")
+ ->title('Unknown Serial Number')
->body("Serial Number should contain minimum 9 digits '$this->sNo'")
->danger()
->duration(5000)
@@ -773,11 +780,11 @@ class CycleCount extends Page
'bin' => $bin,
'qr_code' => null,
]);
+
return;
- }
- elseif(!ctype_alnum($this->sNo)){
+ } elseif (! ctype_alnum($this->sNo)) {
Notification::make()
- ->title("Unknown Serial Number")
+ ->title('Unknown Serial Number')
->body("Serial Number should contain alpha-numeric values '$this->sNo'")
->danger()
->duration(5000)
@@ -788,14 +795,15 @@ class CycleCount extends Page
'bin' => $bin,
'qr_code' => null,
]);
+
return;
}
$item = Item::where('code', $this->itemCode)->first();
- if(!$item){
+ if (! $item) {
Notification::make()
- ->title("Item Code Not Found")
+ ->title('Item Code Not Found')
->body("Item code not found '$this->itemCode'")
->danger()
->duration(5000)
@@ -806,6 +814,7 @@ class CycleCount extends Page
'bin' => $bin,
'qr_code' => null,
]);
+
return;
}
@@ -815,9 +824,9 @@ class CycleCount extends Page
$plantCode = $plantCo->code;
- if(!$itemCodeAgaPlant){
+ if (! $itemCodeAgaPlant) {
Notification::make()
- ->title("Item Code Not Found")
+ ->title('Item Code Not Found')
->body("Item code '$this->itemCode' not found against plant code '$plantCode'")
->danger()
->duration(5000)
@@ -828,15 +837,16 @@ class CycleCount extends Page
'bin' => $bin,
'qr_code' => null,
]);
+
return;
}
$stickerExists = StickerMaster::where('item_id', $item->id)->first();
- if (!$stickerExists) {
+ if (! $stickerExists) {
Notification::make()
- ->title("Unknown Sticker Master")
+ ->title('Unknown Sticker Master')
->body("Item code not found in sticker master '{$this->itemCode}'")
->danger()
->duration(5000)
@@ -856,9 +866,9 @@ class CycleCount extends Page
->where('item_id', $item->id)
->first();
- if (!$stickerExists) {
+ if (! $stickerExists) {
Notification::make()
- ->title("Unknown Sticker Master")
+ ->title('Unknown Sticker Master')
->body("Item code not found in sticker master '{$this->itemCode}' in plant '{$plantCode}'")
->danger()
->duration(5000)
@@ -869,6 +879,7 @@ class CycleCount extends Page
'bin' => $bin,
'qr_code' => null,
]);
+
return;
}
@@ -878,7 +889,7 @@ class CycleCount extends Page
->where('type', '1')
->first();
- if(!$locationExist){
+ if (! $locationExist) {
$existingInOtherLocation = NotInStock::where('plant_id', $plantId)
->where('serial_number', $this->sNo)
@@ -917,7 +928,7 @@ class CycleCount extends Page
'stickerMasterId' => $stickerMasterId,
'batch' => $this->batch,
'docNo' => $this->docNo,
- 'quantity' => $this->quantity
+ 'quantity' => $this->quantity,
]),
])
->send();
@@ -937,7 +948,7 @@ class CycleCount extends Page
->where('type', '1')
->first();
- if(!$locationAgaPlant){
+ if (! $locationAgaPlant) {
$existingInOtherLocation = NotInStock::where('plant_id', $plantId)
->where('serial_number', $this->sNo)
@@ -976,7 +987,7 @@ class CycleCount extends Page
'stickerMasterId' => $stickerMasterId,
'batch' => $this->batch,
'docNo' => $this->docNo,
- 'quantity' => $this->quantity
+ 'quantity' => $this->quantity,
]),
])
->send();
@@ -991,7 +1002,7 @@ class CycleCount extends Page
return;
}
- if($bin == '' || $bin == null){
+ if ($bin == '' || $bin == null) {
Notification::make()
->title('Unknown Bin')
->body("Bin can't be empty!")
@@ -1010,7 +1021,7 @@ class CycleCount extends Page
$serialExist = StockDataMaster::where('serial_number', $this->sNo)->where('type', '1')->first();
- if(!$serialExist){
+ if (! $serialExist) {
$existingInOtherLocation = NotInStock::where('plant_id', $plantId)
->where('serial_number', $this->sNo)
@@ -1049,7 +1060,7 @@ class CycleCount extends Page
'stickerMasterId' => $stickerMasterId,
'batch' => $this->batch,
'docNo' => $this->docNo,
- 'quantity' => $this->quantity
+ 'quantity' => $this->quantity,
]),
])
->send();
@@ -1066,7 +1077,7 @@ class CycleCount extends Page
$serialAgaPlant = StockDataMaster::where('plant_id', $plantId)->where('serial_number', $this->sNo)->where('type', '1')->first();
- if(!$serialAgaPlant){
+ if (! $serialAgaPlant) {
$sNoExist = NotInStock::where('plant_id', $plantId)
->where('serial_number', $this->sNo)
@@ -1105,7 +1116,7 @@ class CycleCount extends Page
'stickerMasterId' => $stickerMasterId,
'batch' => $this->batch,
'docNo' => $this->docNo,
- 'quantity' => $this->quantity
+ 'quantity' => $this->quantity,
]),
])
->send();
@@ -1159,7 +1170,7 @@ class CycleCount extends Page
'stickerMasterId' => $stickerMasterId,
'batch' => $this->batch,
'docNo' => $this->docNo,
- 'quantity' => $this->quantity
+ 'quantity' => $this->quantity,
]),
])
->send();
@@ -1213,7 +1224,7 @@ class CycleCount extends Page
'stickerMasterId' => $stickerMasterId,
'batch' => $this->batch,
'docNo' => $this->docNo,
- 'quantity' => $this->quantity
+ 'quantity' => $this->quantity,
]),
])
->send();
@@ -1230,11 +1241,11 @@ class CycleCount extends Page
if ($serialAgaPlant->batch != '' || $serialAgaPlant->batch != null) {
- if($serialAgaPlant->batch != $this->batch){
+ if ($serialAgaPlant->batch != $this->batch) {
$sNoExistLocation = NotInStock::where('plant_id', $plantId)
- ->where('serial_number', $this->sNo)
- ->first();
+ ->where('serial_number', $this->sNo)
+ ->first();
if ($sNoExistLocation) {
Notification::make()
@@ -1269,7 +1280,7 @@ class CycleCount extends Page
'stickerMasterId' => $stickerMasterId,
'batch' => $this->batch,
'docNo' => $this->docNo,
- 'quantity' => $this->quantity
+ 'quantity' => $this->quantity,
]),
])
->send();
@@ -1326,14 +1337,13 @@ class CycleCount extends Page
// }
// }
-
$serial = StockDataMaster::where('plant_id', $plantId)
->where('serial_number', $this->sNo)
->where('location', $location)
->where('type', '1')
->first();
- if($serial->quantity == '' || $serial->quantity == null){
+ if ($serial->quantity == '' || $serial->quantity == null) {
Notification::make()
->warning()
->title('Unknown Quantity')
@@ -1341,16 +1351,15 @@ class CycleCount extends Page
->seconds(3)
->send();
- $this->form->fill([
- 'plant_id' => $plantId,
- 'location' => $location,
- 'bin' => $bin,
- 'qr_code' => null,
- ]);
+ $this->form->fill([
+ 'plant_id' => $plantId,
+ 'location' => $location,
+ 'bin' => $bin,
+ 'qr_code' => null,
+ ]);
- return;
- }
- elseif ((int) $serial->quantity > 1) {
+ return;
+ } elseif ((int) $serial->quantity > 1) {
Notification::make()
->warning()
->title('Invalid Quantity')
@@ -1358,19 +1367,19 @@ class CycleCount extends Page
->seconds(3)
->send();
- $this->form->fill([
- 'plant_id' => $plantId,
- 'location' => $location,
- 'bin' => $bin,
- 'qr_code' => null,
- ]);
+ $this->form->fill([
+ 'plant_id' => $plantId,
+ 'location' => $location,
+ 'bin' => $bin,
+ 'qr_code' => null,
+ ]);
- return;
+ return;
}
if ($serial) {
- if($serial->scanned_status == 'Scanned'){
+ if ($serial->scanned_status == 'Scanned') {
Notification::make()
->title('Duplicate Serial Number')
@@ -1388,17 +1397,18 @@ class CycleCount extends Page
'stickerMasterId' => $stickerMasterId,
'batch' => $this->batch,
'docNo' => $this->docNo,
- 'quantity' => $this->quantity
+ 'quantity' => $this->quantity,
]),
])
->send();
- $this->form->fill([
- 'plant_id' => $plantId,
- 'location' => $location,
- 'bin' => $bin,
- 'qr_code' => null,
- ]);
+ $this->form->fill([
+ 'plant_id' => $plantId,
+ 'location' => $location,
+ 'bin' => $bin,
+ 'qr_code' => null,
+ ]);
+
return;
}
@@ -1406,10 +1416,10 @@ class CycleCount extends Page
'bin' => $bin ?? null,
'batch' => $this->batch ?? null,
'doc_no' => $this->docNo ?? null,
- 'scanned_status' => 'Scanned',
- 'scanned_quantity' => '1',
+ 'scanned_status' => 'Scanned',
+ 'scanned_quantity' => '1',
'updated_at' => now(),
- 'updated_by' => $operatorName
+ 'updated_by' => $operatorName,
]);
$this->form->fill([
@@ -1421,9 +1431,7 @@ class CycleCount extends Page
$this->dispatch('refreshSfgNonData', location: $location, plantId: $plantId, serialNumber: $this->sNo, itemCode: $this->itemCode);
}
- }
- else
- {
+ } else {
$serNo = $value;
if (! preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})(?:\/[MmPp])?\|?$/', $serNo, $matches)) {
@@ -1489,12 +1497,12 @@ class CycleCount extends Page
->where('code', $itemCode)
->first();
- if(!$item){
+ if (! $item) {
Notification::make()
- ->title('Invalid Item Code')
- ->body("Item code '$this->itemCode' not found for the type FG against plant code '$plantCode'.")
- ->danger()
- ->send();
+ ->title('Invalid Item Code')
+ ->body("Item code '$this->itemCode' not found for the type FG against plant code '$plantCode'.")
+ ->danger()
+ ->send();
$this->form->fill([
'plant_id' => $plantId,
@@ -1502,6 +1510,7 @@ class CycleCount extends Page
'bin' => $bin,
'qr_code' => null,
]);
+
return;
}
@@ -1511,12 +1520,12 @@ class CycleCount extends Page
->where('item_id', $itemId)
->first();
- if(!$stickerMaster){
+ if (! $stickerMaster) {
Notification::make()
- ->title('Invalid Item Code')
- ->body("Item code '$this->itemCode' not found in sticker master for the type FG against plant code '$plantCode'.")
- ->danger()
- ->send();
+ ->title('Invalid Item Code')
+ ->body("Item code '$this->itemCode' not found in sticker master for the type FG against plant code '$plantCode'.")
+ ->danger()
+ ->send();
$this->form->fill([
'plant_id' => $plantId,
@@ -1524,6 +1533,7 @@ class CycleCount extends Page
'bin' => $bin,
'qr_code' => null,
]);
+
return;
}
@@ -1533,7 +1543,7 @@ class CycleCount extends Page
->where('type', '0')
->first();
- if(!$locationExist){
+ if (! $locationExist) {
$existingInOtherLocation = NotInStock::where('plant_id', $plantId)
->where('serial_number', $this->sNo)
@@ -1572,7 +1582,7 @@ class CycleCount extends Page
'stickerMasterId' => $stickerMasterId,
'batch' => $this->batch,
'docNo' => $this->docNo,
- 'quantity' => $this->quantity
+ 'quantity' => $this->quantity,
]),
])
->send();
@@ -1592,48 +1602,17 @@ class CycleCount extends Page
->where('type', '0')
->first();
- if(!$locationAgaPlant){
+ if (! $locationAgaPlant) {
- $existingInOtherLocation = NotInStock::where('plant_id', $plantId)
- ->where('serial_number', $this->sNo)
- ->first();
-
- if ($existingInOtherLocation) {
- Notification::make()
- ->title('Serial Number : Not In Stock')
- ->body("Serial number '{$this->sNo}' already exists against plant code '$plantCode' in not in stock table.")
- ->danger()
- ->send();
-
- $this->form->fill([
- 'plant_id' => $plantId,
- 'location' => $location,
- 'bin' => $bin,
- 'qr_code' => null,
- ]);
-
- return;
- }
+ $existingInOtherLocation = NotInStock::where('plant_id', $plantId)
+ ->where('serial_number', $this->sNo)
+ ->first();
+ if ($existingInOtherLocation) {
Notification::make()
- ->title('Unknown Location')
- ->body("location '$location' not found in stock data master for the type FG against plant code '$plantCode'.
Do you want to update in not in stock table?")
+ ->title('Serial Number : Not In Stock')
+ ->body("Serial number '{$this->sNo}' already exists against plant code '$plantCode' in not in stock table.")
->danger()
- ->actions([
- \Filament\Notifications\Actions\Action::make('confirm')
- ->label('Yes, Update')
- ->button()
- ->dispatch('confirmSerialUpdate', [
- 'plantId' => $plantId,
- 'location' => $location,
- 'bin' => $bin,
- 'serial_number' => $this->sNo,
- 'stickerMasterId' => $stickerMasterId,
- 'batch' => $this->batch,
- 'docNo' => $this->docNo,
- 'quantity' => $this->quantity
- ]),
- ])
->send();
$this->form->fill([
@@ -1646,6 +1625,37 @@ class CycleCount extends Page
return;
}
+ Notification::make()
+ ->title('Unknown Location')
+ ->body("location '$location' not found in stock data master for the type FG against plant code '$plantCode'.
Do you want to update in not in stock table?")
+ ->danger()
+ ->actions([
+ \Filament\Notifications\Actions\Action::make('confirm')
+ ->label('Yes, Update')
+ ->button()
+ ->dispatch('confirmSerialUpdate', [
+ 'plantId' => $plantId,
+ 'location' => $location,
+ 'bin' => $bin,
+ 'serial_number' => $this->sNo,
+ 'stickerMasterId' => $stickerMasterId,
+ 'batch' => $this->batch,
+ 'docNo' => $this->docNo,
+ 'quantity' => $this->quantity,
+ ]),
+ ])
+ ->send();
+
+ $this->form->fill([
+ 'plant_id' => $plantId,
+ 'location' => $location,
+ 'bin' => $bin,
+ 'qr_code' => null,
+ ]);
+
+ return;
+ }
+
$record = StockDataMaster::where('serial_number', $serialNumber)
->where('plant_id', $plantId)
->where('type', '0')
@@ -1681,22 +1691,22 @@ class CycleCount extends Page
$message = "serial number not found '$serialNumber' for the type FG against item code '$itemCode' and plant code '$plantCode'
Do you want to update in not in stock table";
Notification::make()
- ->title('Invalid Item Code')
- ->body($message)
- ->danger()
- ->actions([
- \Filament\Notifications\Actions\Action::make('confirm_update')
- ->label('Yes, Update')
- ->button()
- ->dispatch('confirmSerialFGUpdate', [
- 'plantId' => $plantId,
- 'location' => $location,
- 'bin' => $bin,
- 'serial_number' => $this->sNo,
- 'stickerMasterId' => $stickerMasterId,
- ]),
- ])
- ->send();
+ ->title('Invalid Item Code')
+ ->body($message)
+ ->danger()
+ ->actions([
+ \Filament\Notifications\Actions\Action::make('confirm_update')
+ ->label('Yes, Update')
+ ->button()
+ ->dispatch('confirmSerialFGUpdate', [
+ 'plantId' => $plantId,
+ 'location' => $location,
+ 'bin' => $bin,
+ 'serial_number' => $this->sNo,
+ 'stickerMasterId' => $stickerMasterId,
+ ]),
+ ])
+ ->send();
$this->form->fill([
'plant_id' => $plantId,
@@ -1704,6 +1714,7 @@ class CycleCount extends Page
'bin' => $bin,
'qr_code' => null,
]);
+
return;
}
@@ -1755,17 +1766,17 @@ class CycleCount extends Page
])
->send();
- $this->form->fill([
- 'plant_id' => $plantId,
- 'location' => $location,
- 'bin' => $bin,
- 'qr_code' => null,
- ]);
+ $this->form->fill([
+ 'plant_id' => $plantId,
+ 'location' => $location,
+ 'bin' => $bin,
+ 'qr_code' => null,
+ ]);
return;
}
- if($record->scanned_status == 'Scanned'){
+ if ($record->scanned_status == 'Scanned') {
Notification::make()
->title('Duplicate Serial Number')
@@ -1783,17 +1794,17 @@ class CycleCount extends Page
'stickerMasterId' => $stickerMasterId,
'batch' => $this->batch,
'docNo' => $this->docNo,
- 'quantity' => $this->quantity
+ 'quantity' => $this->quantity,
]),
])
->send();
- $this->form->fill([
- 'plant_id' => $plantId,
- 'location' => $location,
- 'bin' => $bin,
- 'qr_code' => null,
- ]);
+ $this->form->fill([
+ 'plant_id' => $plantId,
+ 'location' => $location,
+ 'bin' => $bin,
+ 'qr_code' => null,
+ ]);
return;
@@ -1839,8 +1850,7 @@ class CycleCount extends Page
$hasMotorQr = $record->stickerMasterRelation->pack_slip_motor ?? null;
$hasPumpQr = $record->stickerMasterRelation->pack_slip_pump ?? null;
$hasPumpSetQr = $record->stickerMasterRelation->pack_slip_pumpset ?? null;
- }
- else {
+ } else {
if (! $hasPumpSetQr && ! $hasPumpQr) {
$hasPumpQr = $record->stickerMasterRelation->pack_slip_pump ?? null;
}
@@ -2037,15 +2047,14 @@ class CycleCount extends Page
// ->send();
$this->form->fill([
- 'plant_id' => $plantId,
- 'location' => $location,
- 'bin' => $bin,
- 'qr_code' => null,
- ]);
+ 'plant_id' => $plantId,
+ 'location' => $location,
+ 'bin' => $bin,
+ 'qr_code' => null,
+ ]);
return;
- }
- elseif ($isMarkPs) {
+ } elseif ($isMarkPs) {
if (! $hasPumpSetQr) {
Notification::make()
->title('Unknown: Pump Set QR')
@@ -2112,11 +2121,11 @@ class CycleCount extends Page
// ->send();
$this->form->fill([
- 'plant_id' => $plantId,
- 'location' => $location,
- 'bin' => $bin,
- 'qr_code' => null,
- ]);
+ 'plant_id' => $plantId,
+ 'location' => $location,
+ 'bin' => $bin,
+ 'qr_code' => null,
+ ]);
return;
}
@@ -2144,9 +2153,9 @@ class CycleCount extends Page
$bin = $this->bin;
$stickerMaster = StickerMaster::whereHas('item', function ($query) use ($itemCode, $plantId) {
- $query->where('code', $itemCode)
- ->where('plant_id', $plantId);
- })
+ $query->where('code', $itemCode)
+ ->where('plant_id', $plantId);
+ })
->first();
if (! $stickerMaster) {
@@ -2155,6 +2164,7 @@ class CycleCount extends Page
->title('Sticker Master Not Found')
->danger()
->send();
+
return;
}
$existingRecord = NotInStock::where('serial_number', $this->serialNumber)
@@ -2174,6 +2184,7 @@ class CycleCount extends Page
->body("Serial number '{$this->serialNumber}' already exists with Item Code '{$existingItemCode}'.")
->danger()
->send();
+
return;
}
}
@@ -2186,21 +2197,22 @@ class CycleCount extends Page
})
->first();
- if($record){
+ if ($record) {
Notification::make()
->title('Duplicate : Item Code')
->body("Item Code '$itemCode' with Serial number '$this->serialNumber' already exist in not in stock table!")
->danger()
->send();
+
return;
}
NotInStock::create([
'serial_number' => $this->serialNumber,
- 'sticker_master_id' => $stickerMaster->id,
- 'plant_id' => $plantId,
- 'location' => $location,
- 'bin' => $bin,
+ 'sticker_master_id' => $stickerMaster->id,
+ 'plant_id' => $plantId,
+ 'location' => $location,
+ 'bin' => $bin,
]);
Notification::make()
@@ -2215,5 +2227,4 @@ class CycleCount extends Page
{
return Auth::check() && Auth::user()->can('view cycle count page');
}
-
}
diff --git a/app/Filament/Resources/DuplicateStockResource.php b/app/Filament/Resources/DuplicateStockResource.php
index 624acc8..eef05fe 100644
--- a/app/Filament/Resources/DuplicateStockResource.php
+++ b/app/Filament/Resources/DuplicateStockResource.php
@@ -3,7 +3,6 @@
namespace App\Filament\Resources;
use App\Filament\Resources\DuplicateStockResource\Pages;
-use App\Filament\Resources\DuplicateStockResource\RelationManagers;
use App\Models\DuplicateStock;
use Filament\Facades\Filament;
use Filament\Forms;
@@ -97,7 +96,7 @@ class DuplicateStockResource extends Resource
->searchable()
->formatStateUsing(fn ($state) => match ($state) {
'0' => 'FG',
- '1' => 'SFG',
+ '1' => 'NON-FG',
default => '-',
})
->sortable(),
diff --git a/app/Filament/Resources/NotInStockResource.php b/app/Filament/Resources/NotInStockResource.php
index 0da8b9b..826e53c 100644
--- a/app/Filament/Resources/NotInStockResource.php
+++ b/app/Filament/Resources/NotInStockResource.php
@@ -3,7 +3,6 @@
namespace App\Filament\Resources;
use App\Filament\Resources\NotInStockResource\Pages;
-use App\Filament\Resources\NotInStockResource\RelationManagers;
use App\Models\NotInStock;
use App\Models\StickerMaster;
use Filament\Facades\Filament;
@@ -38,15 +37,15 @@ class NotInStockResource extends Resource
->required()
->searchable()
->options(function ($get) {
- if (!$get('plant_id')) {
+ if (! $get('plant_id')) {
return [];
}
- return StickerMaster::with('item')
- ->where('plant_id', $get('plant_id'))
- ->get()
- ->pluck('item.code', 'id')
- ->toArray();
+ return StickerMaster::with('item')
+ ->where('plant_id', $get('plant_id'))
+ ->get()
+ ->pluck('item.code', 'id')
+ ->toArray();
}),
Forms\Components\TextInput::make('location')
->label('Location'),
@@ -64,7 +63,7 @@ class NotInStockResource extends Resource
->label('Type')
->options([
'0' => 'FG',
- '1' => 'SFG',
+ '1' => 'NON-FG',
]),
Forms\Components\TextInput::make('motor_scanned_status')
->label('Motor Scanned Status'),
@@ -122,7 +121,7 @@ class NotInStockResource extends Resource
->searchable()
->formatStateUsing(fn ($state) => match ($state) {
'0' => 'FG',
- '1' => 'SFG',
+ '1' => 'NON-FG',
default => '-',
})
->sortable(),
diff --git a/app/Filament/Resources/StockDataMasterResource.php b/app/Filament/Resources/StockDataMasterResource.php
index c305c05..77115ca 100644
--- a/app/Filament/Resources/StockDataMasterResource.php
+++ b/app/Filament/Resources/StockDataMasterResource.php
@@ -5,28 +5,26 @@ namespace App\Filament\Resources;
use App\Filament\Exports\StockDataMasterExporter;
use App\Filament\Imports\StockDataMasterImporter;
use App\Filament\Resources\StockDataMasterResource\Pages;
-use App\Filament\Resources\StockDataMasterResource\RelationManagers;
use App\Models\Item;
use App\Models\Plant;
-use App\Models\SerialValidation;
use App\Models\StickerMaster;
use App\Models\StockDataMaster;
use Filament\Facades\Filament;
use Filament\Forms;
+use Filament\Forms\Components\DateTimePicker;
+use Filament\Forms\Components\Radio;
+use Filament\Forms\Components\Select;
+use Filament\Forms\Components\TextInput;
use Filament\Forms\Form;
+use Filament\Notifications\Notification;
use Filament\Resources\Resource;
use Filament\Tables;
-use Filament\Tables\Table;
-use Illuminate\Database\Eloquent\Builder;
-use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Tables\Actions\ExportAction;
use Filament\Tables\Actions\ImportAction;
use Filament\Tables\Filters\Filter;
-use Filament\Forms\Components\Select;
-use Filament\Forms\Components\TextInput;
-use Filament\Forms\Components\DateTimePicker;
-use Filament\Forms\Components\Radio;
-use Filament\Notifications\Notification;
+use Filament\Tables\Table;
+use Illuminate\Database\Eloquent\Builder;
+use Illuminate\Database\Eloquent\SoftDeletingScope;
class StockDataMasterResource extends Resource
{
@@ -51,15 +49,15 @@ class StockDataMasterResource extends Resource
->required()
->searchable()
->options(function ($get) {
- if (!$get('plant_id')) {
+ if (! $get('plant_id')) {
return [];
}
- return StickerMaster::with('item')
- ->where('plant_id', $get('plant_id'))
- ->get()
- ->pluck('item.code', 'id')
- ->toArray();
+ return StickerMaster::with('item')
+ ->where('plant_id', $get('plant_id'))
+ ->get()
+ ->pluck('item.code', 'id')
+ ->toArray();
}),
Forms\Components\TextInput::make('location')
->label('Location'),
@@ -77,7 +75,7 @@ class StockDataMasterResource extends Resource
->label('Type')
->options([
'0' => 'FG',
- '1' => 'SFG',
+ '1' => 'NON-FG',
]),
Forms\Components\TextInput::make('motor_scanned_status')
->label('Motor Scanned Status'),
@@ -135,7 +133,7 @@ class StockDataMasterResource extends Resource
->searchable()
->formatStateUsing(fn ($state) => match ($state) {
'0' => 'FG',
- '1' => 'SFG',
+ '1' => 'NON-FG',
default => '-',
})
->sortable(),
@@ -258,27 +256,27 @@ class StockDataMasterResource extends Resource
return $scanned + $duplicate + $notInStock;
}),
- Tables\Columns\TextColumn::make('stock_difference')
- ->label('Stock Difference Count')
- ->alignCenter()
- ->getStateUsing(function ($record) {
+ Tables\Columns\TextColumn::make('stock_difference')
+ ->label('Stock Difference Count')
+ ->alignCenter()
+ ->getStateUsing(function ($record) {
- $duplicate = \App\Models\DuplicateStock::where('stock_data_master_id', $record->id)->count();
+ $duplicate = \App\Models\DuplicateStock::where('stock_data_master_id', $record->id)->count();
- $notInStock = \App\Models\NotInStock::where('serial_number', $record->serial_number)
- ->where('plant_id', $record->plant_id)
- ->count();
+ $notInStock = \App\Models\NotInStock::where('serial_number', $record->serial_number)
+ ->where('plant_id', $record->plant_id)
+ ->count();
- $scanned = (int) $record->scanned_quantity;
+ $scanned = (int) $record->scanned_quantity;
- $physicalStock = $scanned + $duplicate + $notInStock;
+ $physicalStock = $scanned + $duplicate + $notInStock;
- $systemStock = (int) $record->quantity;
+ $systemStock = (int) $record->quantity;
- $difference = $physicalStock - $systemStock;
+ $difference = $physicalStock - $systemStock;
- return max($difference, 0); // prevents negative values
- }),
+ return max($difference, 0); // prevents negative values
+ }),
Tables\Columns\TextColumn::make('created_at')
->label('Created At')
->alignCenter()
@@ -307,7 +305,7 @@ class StockDataMasterResource extends Resource
->label('Stock Type')
->options([
'0' => 'FG',
- '1' => 'SFG',
+ '1' => 'NON-FG',
])
->inline()
->default('0')
@@ -346,6 +344,7 @@ class StockDataMasterResource extends Resource
if (empty($pId)) {
return [];
}
+
return Item::whereHas('stickerMasters', function ($query) use ($pId) {
if ($pId) {
$query->where('plant_id', $pId);
@@ -389,7 +388,7 @@ class StockDataMasterResource extends Resource
->native(false),
])
->query(function ($query, array $data) {
- if (!isset($data['type']) && (empty($data['Plant']) && empty($data['location']) && empty($data['serial_number']) && empty($data['created_from']) && empty($data['created_to']) && empty($data['updated_by']) && empty($data['scanned_status']) && empty($data['sticker_master_id']))) {
+ if (! isset($data['type']) && (empty($data['Plant']) && empty($data['location']) && empty($data['serial_number']) && empty($data['created_from']) && empty($data['created_to']) && empty($data['updated_by']) && empty($data['scanned_status']) && empty($data['sticker_master_id']))) {
if (empty($data['type'])) {
Notification::make()
@@ -397,16 +396,17 @@ class StockDataMasterResource extends Resource
->danger()
->send();
}
+
return $query->whereRaw('1 = 0');
}
- if($data['type'] != ''){
+ if ($data['type'] != '') {
if ($data['type'] == '0') {
$query->where('type', '0');
- if (!empty($data['scanned_status'])) {
+ if (! empty($data['scanned_status'])) {
if ($data['scanned_status'] == 'Scanned') {
$query->whereNotNull('scanned_status')
@@ -428,32 +428,31 @@ class StockDataMasterResource extends Resource
if ($data['scanned_status'] == 'Scanned') {
- $query->whereNotNull('scanned_status')
+ $query->whereNotNull('scanned_status')
->where('scanned_status', '!=', '');
} elseif ($data['scanned_status'] == 'Pending') {
$query->where(function ($q) {
$q->whereNull('scanned_status')
- ->orWhere('scanned_status', '!=', 'Scanned');
+ ->orWhere('scanned_status', '!=', 'Scanned');
});
}
}
}
- }
- else{
+ } else {
if ($data['scanned_status']) {
if ($data['scanned_status'] == 'Scanned') {
- $query->whereNotNull('scanned_status')
+ $query->whereNotNull('scanned_status')
->where('scanned_status', '!=', '');
} elseif ($data['scanned_status'] == 'Pending') {
$query->where(function ($q) {
$q->whereNull('scanned_status')
- ->orWhere('scanned_status', '!=', 'Scanned');
+ ->orWhere('scanned_status', '!=', 'Scanned');
});
}
}