18 Commits

Author SHA1 Message Date
dhanabalan
bfed40f535 Add Laravel Pint workflow for code style checks
Some checks failed
Laravel Pint / pint (pull_request) Failing after 2m3s
2025-07-28 16:04:45 +05:30
dhanabalan
83f98d9e83 Added import / export permissions to mfm meter and create permission to production sticker reprint page 2025-07-25 12:34:01 +05:30
dhanabalan
3d84661640 removed unwanted notification for production quantity 2025-07-25 11:43:26 +05:30
dhanabalan
26ecaf49ef Added sticker master get controller production reprint 2025-07-24 18:03:00 +05:30
dhanabalan
5fe2b74174 Aded filter list api for invoice 2025-07-22 11:11:26 +05:30
dhanabalan
ce901e3b78 Added scan_quantity and pend_quantity fields with respective validations 2025-07-18 20:37:11 +05:30
dhanabalan
31ad036d0e Updated duration for failure messages to 5 seconds and label changed for total sno quantity field 2025-07-18 19:11:51 +05:30
dhanabalan
c363faa357 Updated duration for failure messages to 5 seconds 2025-07-18 19:06:42 +05:30
dhanabalan
a71864905e Updated validation functionality on import 2025-07-18 19:04:30 +05:30
dhanabalan
c75ac4781f Updated duration for success message to 600 ms 2025-07-18 18:57:48 +05:30
dhanabalan
c76cf1fb98 Added permission for import and export file 2025-07-18 18:26:39 +05:30
dhanabalan
95a4ddf11e Added mfm parameter api controller 2025-07-18 18:25:32 +05:30
dhanabalan
c309bed7d9 Added mfm reading policy file 2025-07-18 18:24:15 +05:30
dhanabalan
b2dc9e7024 Added mfm reading resource file 2025-07-18 18:23:57 +05:30
dhanabalan
bff2601ddc Added Mfm reading model file 2025-07-18 18:22:54 +05:30
dhanabalan
e80812b82e Added mfm reading migration file 2025-07-18 18:22:31 +05:30
dhanabalan
81c7812ef6 Added mfm parameter exporter file 2025-07-18 18:18:59 +05:30
dhanabalan
14b5f4ae8b Added importer file for mfm parameter 2025-07-18 18:18:37 +05:30
29 changed files with 1611 additions and 376 deletions

30
.github/workflows/pint.yaml vendored Normal file
View File

@@ -0,0 +1,30 @@
name: Laravel Pint
on:
pull_request:
workflow_dispatch:
jobs:
pint:
runs-on: ubuntu-latest
steps:
# Reinstall system libraries to ensure compatibility
- name: Ensure system libraries are up-to-date
run: |
sudo apt-get update
sudo apt-get install --reinstall --yes git libc6
- uses: actions/checkout@v4
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: "8.3"
- name: Install dependencies
run: composer install --no-interaction --prefer-dist --no-progress
# Run pint in test mode, check only files different from master branch
- name: Run Laravel Pint in test mode
run: vendor/bin/pint --test --diff=master

View File

@@ -0,0 +1,43 @@
<?php
namespace App\Filament\Exports;
use App\Models\MfmParameter;
use Filament\Actions\Exports\ExportColumn;
use Filament\Actions\Exports\Exporter;
use Filament\Actions\Exports\Models\Export;
class MfmParameterExporter extends Exporter
{
protected static ?string $model = MfmParameter::class;
public static function getColumns(): array
{
return [
ExportColumn::make('id')
->label('ID'),
ExportColumn::make('plant.name'),
ExportColumn::make('name'),
ExportColumn::make('register_id'),
ExportColumn::make('identifier'),
ExportColumn::make('byte_to_convert'),
ExportColumn::make('type_to_convert'),
ExportColumn::make('decimal_to_display'),
ExportColumn::make('created_at'),
ExportColumn::make('updated_at'),
ExportColumn::make('deleted_at'),
ExportColumn::make('mfmMeter.name'),
];
}
public static function getCompletedNotificationBody(Export $export): string
{
$body = 'Your mfm parameter 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.';
}
return $body;
}
}

View File

@@ -59,17 +59,19 @@ class ItemImporter extends Importer
public function resolveRecord(): ?Item
{
$warnMsg = [];
$iCode = trim($this->data['code']);
$description = trim($this->data['description']);
$plant = Plant::where('name', $this->data['plant'])->first();
if (!$plant) {
$warnMsg[] = "Plant not found"; // '" . $this->data['plant'] . "'
}
if (Str::length($this->data['code']) < 6 || !ctype_alnum($this->data['code'])) {
if (Str::length($iCode) < 6 || !ctype_alnum($iCode)) {
$warnMsg[] = "Invalid item code found";
}
// if (Str::length($this->data['uom']) <= 0) {
// $warnMsg[] = "Invalid unit of measure found";
// }
if (Str::length($this->data['description']) < 5) {
if (Str::length($description) < 5) {
$warnMsg[] = "Invalid description found";
}
if (Str::length($this->data['hourly_quantity']) < 0 || !is_numeric($this->data['hourly_quantity']) || $this->data['hourly_quantity'] <= 0) {
@@ -79,14 +81,14 @@ class ItemImporter extends Importer
throw new RowImportFailedException(implode(', ', $warnMsg));
}
return Item::updateOrCreate([
'code' => $this->data['code'],
'code' => $iCode,
'plant_id' => $plant->id
],
[
'category' => $this->data['category'],
'description' => $this->data['description'],
'category' => trim($this->data['category']),
'description' => $description,
'hourly_quantity' => $this->data['hourly_quantity'],
'uom' => $this->data['uom']
'uom' => trim($this->data['uom'])
]
);
// return new Item;

View File

@@ -0,0 +1,91 @@
<?php
namespace App\Filament\Imports;
use App\Models\MfmParameter;
use Filament\Actions\Imports\ImportColumn;
use Filament\Actions\Imports\Importer;
use Filament\Actions\Imports\Models\Import;
class MfmParameterImporter extends Importer
{
protected static ?string $model = MfmParameter::class;
public static function getColumns(): array
{
return [
ImportColumn::make('plant')
->requiredMapping()
->exampleHeader('Plant Name')
->example('Ransar Industries-I')
->label('Plant Name')
->relationship(resolveUsing:'name')
->rules(['required']),
ImportColumn::make('mfmMeter')
->requiredMapping()
->exampleHeader('Mfm Meter Sequence')
->example('1')
->label('Mfm Meter Sequence')
->relationship(resolveUsing:'sequence')
->rules(['required']),
ImportColumn::make('name')
->requiredMapping()
->exampleHeader('Parameter Name')
->example('apparent_energy_received')
->label('Parameter Name')
->rules(['required']),
ImportColumn::make('register_id')
->requiredMapping()
->exampleHeader('Register ID')
->example('2715')
->label('Register ID')
->rules(['required']),
ImportColumn::make('identifier')
->requiredMapping()
->exampleHeader('Identifier')
->example('Kvah')
->label('Identifier')
->rules(['required']),
ImportColumn::make('byte_to_convert')
->requiredMapping()
->exampleHeader('Byte To Convert')
->example('1')
->label('Byte To Convert')
->rules(['required', 'integer']),
ImportColumn::make('type_to_convert')
->requiredMapping()
->exampleHeader('Type To Convert')
->example('FLOAT32')
->label('Type To Convert')
->rules(['required']),
ImportColumn::make('decimal_to_display')
->requiredMapping()
->exampleHeader('Decimal To Display')
->example('2')
->label('Decimal To Display')
->rules(['required', 'integer']),
];
}
public function resolveRecord(): ?MfmParameter
{
// return MfmParameter::firstOrNew([
// // Update existing records, matching them by `$this->data['column_name']`
// 'email' => $this->data['email'],
// ]);
return new MfmParameter();
}
public static function getCompletedNotificationBody(Import $import): string
{
$body = 'Your mfm parameter 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.';
}
return $body;
}
}

View File

@@ -61,7 +61,7 @@ class InvoiceFinder extends Page implements HasForms
->readOnly()
->reactive(),
TextInput::make('total_sno_quantity')
->label('Total SNo. Quantity')
->label('Invoice Quantity')
->readOnly()
->reactive(),
@@ -79,7 +79,7 @@ class InvoiceFinder extends Page implements HasForms
Notification::make()
->title("Invoice number '$invoiceNo' can't be empty!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', [], [], [], [], $plantId);
$this->form->fill([
@@ -101,7 +101,7 @@ class InvoiceFinder extends Page implements HasForms
Notification::make()
->title("Invoice number '$invoiceNo' does not exist in locator invoice table!")
->danger()
->duration(2000)
->duration(5000)
->send();
$this->dispatch('loadData', '', [], [], [], [], $plantId);
$this->form->fill([
@@ -128,7 +128,7 @@ class InvoiceFinder extends Page implements HasForms
Notification::make()
->title("Invoice number '$invoiceNo' already completed the scanning process..!")
->success()
->duration(2000)
->duration(5000)
->send();
$this->dispatch('loadData', '', [], [], [], [], $plantId);

View File

@@ -138,7 +138,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Pallet number can't be empty!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -159,7 +159,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Pallet number '$palletNo' must be at least 10 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -183,7 +183,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Pallet number '$palletNo' does not found in pallet table.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -267,7 +267,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Pallet number '{$palletNo}' does not completed the master packing.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -348,7 +348,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Serial number can't be empty!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -369,7 +369,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Serial number should contain minimum 9 digits and maximum 20 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -390,7 +390,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Serial number '$serialNo' must contain alpha-numeric values only.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -419,7 +419,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Serial number '$serialNo' already exists in invoice number '$invoiceNo' and completed the scanning process..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -457,7 +457,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Scanned serial number '$serialNo' already exist in pallet number '$palletnumber'!<br>Scan the valid new serial number to proceed...")
->danger()
->duration(1200)
->duration(5000)
->send();
// $this->form->fill([
@@ -550,7 +550,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Locator number can't be empty!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -571,7 +571,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Locator number '$scanLocator' must be at least 7 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -597,7 +597,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Locator number '{$scanLocator}' does not exist in the master.")
->danger()
->duration(1200)
->duration(5000)
->send();
// $this->form->fill([
@@ -630,7 +630,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("No space available for locator number '{$scanLocator}'.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -659,7 +659,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Pallet number '$palletNo' must be at least 10 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -688,7 +688,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Pallet number '{$palletNo}' does not completed the master packing.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -714,7 +714,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Pallet number '$palletNo' is already assigned to locator number '{$locatorExist->locator_number}'.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -755,7 +755,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Serial number is required to add or remove when pallet number is empty.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -776,7 +776,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Serial number should contain minimum 9 digits and maximum 20 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -797,7 +797,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Serial number '$serialNo' must contain alpha-numeric values only.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -826,7 +826,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Serial number '$serialNo' already exists in invoice number '$invoiceNo' and completed the scanning process..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -852,7 +852,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Serial number '$serialNo' is already assigned to locator number '{$serialExist->locator_number}'.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -873,7 +873,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Serial number '$serialNo' already exists in pallet number '{$serialExist->pallet_number}'.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -958,7 +958,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Locator number can't be empty!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -979,7 +979,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Locator number '$scanLocator' must be at least 7 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1005,7 +1005,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Locator number '{$scanLocator}' does not exist in the master.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1030,7 +1030,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("No space available for locator number '{$scanLocator}'.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1054,7 +1054,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Pallet number '$palletNo' must be at least 10 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1078,7 +1078,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Pallet number '$palletNo' does not found in pallet table.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1107,7 +1107,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Pallet number '{$palletNo}' does not completed the master packing.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1136,7 +1136,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Pallet number '{$palletNo}' is already added into locator number '{$alreadyAssigned->locator_number}'.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1204,7 +1204,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("pallet number failed to add into locator number '$scanLocator'")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1227,7 +1227,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Serial number is required to add when pallet number is empty.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1248,7 +1248,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Serial number should contain minimum 9 digits and maximum 20 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1269,7 +1269,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Serial number '$serialNo' must contain alpha-numeric values only.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1298,7 +1298,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Serial number '$serialNo' already exists in invoice number '$invoiceNo' and completed the scanning process..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1326,7 +1326,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Serial number '$serialNo' already exists in pallet number '{$palletexists->pallet_number}'.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1354,7 +1354,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Serial number '$serialNo' already exists in locator number '{$exists->locator_number}'.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1451,7 +1451,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Locator number can't be empty!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1472,7 +1472,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Locator number '$scanLocator' must be at least 7 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1498,7 +1498,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Locator number '{$scanLocator}' does not exist in the master.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1522,7 +1522,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Pallet number '$palletNo' must be at least 10 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1545,7 +1545,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Pallet number '$palletNo' does not found in pallet table.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1574,7 +1574,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Pallet number '{$palletNo}' does not completed the master packing.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1602,7 +1602,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Pallet number '$palletNo' is exists in locator number '$palletValidation->locator_number'<br>Scan the valid locator number to remove pallet number.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator', '', $plantId);
@@ -1630,7 +1630,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Pallet number '{$palletNo}' doesn't exist in locator number.<br>Add locator number to proceed...")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1724,7 +1724,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("No matching pallet found or locator number already empty.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1749,7 +1749,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Serial number is required to remove when pallet number is empty.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1770,7 +1770,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Serial number should contain minimum 9 digits and maximum 20 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1791,7 +1791,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Serial number '$serialNo' must contain alpha-numeric values only.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1819,7 +1819,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Serial number '$serialNo' already exists in invoice number '$invoiceNo' and completed the scanning process..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1844,7 +1844,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Serial number '{$serialNo}' doesn't exist in the pallet table to remove.<br>Add serial number to proceed...")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1871,7 +1871,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Serial number '{$serialNo}' already exists in pallet number '$existsInPallet->pallet_number'.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1898,7 +1898,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Serial number '{$serialNo}' exist in the locator number '$existsInPallet->locator_number'.<br>Scan the valid locator number to remove serial number.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -1947,7 +1947,7 @@ class LocatorValidation extends Page implements HasForms
Notification::make()
->title("Serial number failed to remove from locator number '$scanLocator'.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);

View File

@@ -145,7 +145,7 @@ class PalletFromLocator extends Page implements HasForms
Notification::make()
->title('Press enter on "Scan Serial Number" field to proceed..!')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $this->records, $plantId);
@@ -164,7 +164,7 @@ class PalletFromLocator extends Page implements HasForms
Notification::make()
->title('Press enter on "Remove Serial Number" field to proceed..!')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $this->records, $plantId);
@@ -185,7 +185,7 @@ class PalletFromLocator extends Page implements HasForms
->title('Invalid: Locator Number')
->body("Locator number can't be empty!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $this->records, $plantId);
@@ -205,7 +205,7 @@ class PalletFromLocator extends Page implements HasForms
->title('Invalid: Locator Number')
->body("Locator number '$locatorNo' must be at least 7 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $this->records, $plantId);
@@ -230,7 +230,7 @@ class PalletFromLocator extends Page implements HasForms
->title('Unknown: Locator Number')
->body("Locator number '$locatorNo' does not exist in the master.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $this->records, $plantId);
@@ -263,7 +263,7 @@ class PalletFromLocator extends Page implements HasForms
->body("Scanned locator number '$locatorNo' does not have any locator serial numbers to store into the pallet.<br>
Please scan a valid stored locator number to proceed.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $this->records, $plantId);
@@ -514,7 +514,7 @@ class PalletFromLocator extends Page implements HasForms
Notification::make()
->title('Press enter on "Scan Locator Number" field to proceed..!')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $this->records, $plantId);
@@ -533,7 +533,7 @@ class PalletFromLocator extends Page implements HasForms
Notification::make()
->title('Press enter on "Remove Serial Number" field to proceed..!')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $this->records, $plantId);
@@ -554,7 +554,7 @@ class PalletFromLocator extends Page implements HasForms
->title('Invalid: Serial Number')
->body("Serial number can't be empty!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $this->records, $plantId);
@@ -574,7 +574,7 @@ class PalletFromLocator extends Page implements HasForms
->title('Invalid: Serial Number')
->body("Serial number should contain minimum 9 digits and maximum 20 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $this->records, $plantId);
@@ -594,7 +594,7 @@ class PalletFromLocator extends Page implements HasForms
->title('Invalid: Serial Number')
->body("Serial number '$serialNo' must contain alpha-numeric values only.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $this->records, $plantId);
@@ -633,7 +633,7 @@ class PalletFromLocator extends Page implements HasForms
->title('Invalid: Serial Number')
->body("Serial number '$serialNo' already exists in invoice number '$invoiceNo' and completed the scanning process..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $this->records, $plantId);
@@ -653,7 +653,7 @@ class PalletFromLocator extends Page implements HasForms
->title('Unknown: Serial Number')
->body("Scanned serial number: '$serialNo' doesn't exist in pallet table.<br>Scan the valid exist locator-serial number to proceed..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $this->records, $plantId);
@@ -674,7 +674,7 @@ class PalletFromLocator extends Page implements HasForms
->title('Invalid: Serial Number')
->body("Scanned serial number: '$serialNo' already exist in pallet number '".$serialLocator->pallet_number."'.<br>Scan the valid locator-serial number to proceed..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $this->records, $plantId);
@@ -707,7 +707,7 @@ class PalletFromLocator extends Page implements HasForms
->title('Locator Serials Not Found')
->body("Add some locator serial numbers to proceed generate pallet..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $this->records, $plantId);
@@ -822,7 +822,7 @@ class PalletFromLocator extends Page implements HasForms
->title('Failed: Pallet Generated')
->body("No locator serial number records found to generate pallet..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $this->records, $plantId);
@@ -882,7 +882,7 @@ class PalletFromLocator extends Page implements HasForms
Notification::make()
->title('Press enter on "Scan Locator Number" field to proceed..!')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $this->records, $plantId);
@@ -901,7 +901,7 @@ class PalletFromLocator extends Page implements HasForms
Notification::make()
->title('Press enter on "Scan Serial Number" field to proceed..!')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $this->records, $plantId);
@@ -922,7 +922,7 @@ class PalletFromLocator extends Page implements HasForms
->title('Invalid: Serial Number')
->body("Serial number can't be empty!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $this->records, $plantId);
@@ -942,7 +942,7 @@ class PalletFromLocator extends Page implements HasForms
->title('Invalid: Serial Number')
->body("Serial number should contain minimum 9 digits and maximum 20 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $this->records, $plantId);
@@ -962,7 +962,7 @@ class PalletFromLocator extends Page implements HasForms
->title('Invalid: Serial Number')
->body("Serial number '$removeSno' must contain alpha-numeric values only.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $this->records, $plantId);
@@ -995,7 +995,7 @@ class PalletFromLocator extends Page implements HasForms
->title('Unknown: Serial Number')
->body("Scanned serial number: '$removeSno' doesn't exist in 'PALLET DATA' table.<br>Scan the valid exist locator-serial number to proceed..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $this->records, $plantId);

View File

@@ -433,12 +433,6 @@ class ProductionQuantityPage extends Page implements HasForms
$this->recQr = $itemCode && $serialNumber ? "{$itemCode} | {$serialNumber}" : null;
}
Notification::make()
->title("Scanned the valid QR code is $formQRData)")
->info()
->send();
if (empty($formQRData)) {
$this->form->fill([
'plant_id'=> $this->pId,

View File

@@ -15,7 +15,6 @@ use Filament\Forms\Form;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Radio;
use Filament\Forms\Get;
use Filament\Notifications\Notification;
use Illuminate\Support\Facades\Auth;
@@ -129,7 +128,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title('Please select a plant first.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', 0);
@@ -151,7 +150,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title('Please upload a file!')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', 0);
@@ -175,7 +174,7 @@ class UploadSerialLocator extends Page implements HasForms
->title('Choose a proper Excel file')
->body('The file must be an Excel file (xlsx, xls, csv).')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', 0);
@@ -197,7 +196,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title('File not found after upload!')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', 0);
@@ -255,7 +254,7 @@ class UploadSerialLocator extends Page implements HasForms
->title('Invalid Serial Numbers Found')
->body('The following serial numbers are invalid, length should contain minimum of 9 digits (and maximum 20 digits) alpha numeric values:<br>' . implode(', ', $uniqueInvalidSerial))
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', 0);
@@ -275,7 +274,7 @@ class UploadSerialLocator extends Page implements HasForms
->title('Invalid Locator Numbers Found')
->body('The following locator numbers are invalid, length should contain minimum of 7 digits alpha numeric values:<br>' . implode(', ', $uniqueInvalidLocator))
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', 0);
@@ -310,7 +309,7 @@ class UploadSerialLocator extends Page implements HasForms
->title('Duplicate Serial Numbers in Excel')
->body('The following serial numbers are duplicated in the file:<br>' . implode(', ', $duplicates))
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', 0);
@@ -336,7 +335,7 @@ class UploadSerialLocator extends Page implements HasForms
->title('Locators with Insufficient Space')
->body('The following locators does not have space:<br>' . implode(', ', $locatorsWithQuantityTwo))
->warning()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('open-confirm-modal', locatorNo: $locator, plantId: $plantId);
@@ -356,7 +355,7 @@ class UploadSerialLocator extends Page implements HasForms
->title('Duplicate Serial Numbers Found')
->body('The following serial numbers already exist and cannot be imported:<br>' . implode(', ', $existingSerials))
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('open-confirm-serial', locatorNo: $locator, plantId: $plantId);
@@ -398,7 +397,7 @@ class UploadSerialLocator extends Page implements HasForms
if ($insertedCount > 0) {
Notification::make()
->title('Serial Locators imported successfully!')
->body("{$insertedCount} locator serial number(s) have been imported.")
->body("'{$insertedCount}' locator serial number(s) have been imported.")
->success()
->duration(1000)
->send();
@@ -419,7 +418,7 @@ class UploadSerialLocator extends Page implements HasForms
->title('Serial Locators imported Failed!')
->body('No new serial number(s) found in the uploaded excel file..!')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', 0);
@@ -445,7 +444,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title('Please select a plant first.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', 0);
@@ -467,7 +466,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title('Please upload a file!')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', 0);
@@ -491,7 +490,7 @@ class UploadSerialLocator extends Page implements HasForms
->title('Choose a proper Excel file')
->body('The file must be an Excel file (xlsx, xls, csv).')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', 0);
@@ -513,7 +512,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title('File not found after upload!')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', 0);
@@ -571,7 +570,7 @@ class UploadSerialLocator extends Page implements HasForms
->title('Duplicate Serial Numbers Found')
->body('The following serial numbers already exist and cannot be imported: ' . implode(', ', $existingSerials))
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('open-confirm-serial', locatorNo: $locator, plantId: $plantId);
@@ -612,7 +611,7 @@ class UploadSerialLocator extends Page implements HasForms
if ($insertedCount > 0) {
Notification::make()
->title('Serial Locators imported successfully!')
->body("{$insertedCount} locator serial number(s) have been imported.")
->body("'{$insertedCount}' locator serial number(s) have been imported.")
->success()
->duration(1000)
->send();
@@ -633,7 +632,7 @@ class UploadSerialLocator extends Page implements HasForms
->title('Serial Locators imported Failed!')
->body('No new serial number(s) found in the uploaded excel file..!')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', 0);
@@ -672,7 +671,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title('Please select a plant first.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', 0);
@@ -694,7 +693,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title('Please upload a file!')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', 0);
@@ -718,7 +717,7 @@ class UploadSerialLocator extends Page implements HasForms
->title('Choose a proper Excel file')
->body('The file must be an Excel file (xlsx, xls, csv).')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', 0);
@@ -740,7 +739,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title('File not found after upload!')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', 0);
@@ -825,7 +824,7 @@ class UploadSerialLocator extends Page implements HasForms
if ($insertedCount > 0) {
Notification::make()
->title('Serial Locators imported successfully!')
->body("{$insertedCount} locator serial number(s) have been imported.")
->body("'{$insertedCount}' locator serial number(s) have been imported.")
->success()
->duration(1000)
->send();
@@ -844,7 +843,7 @@ class UploadSerialLocator extends Page implements HasForms
->title('Serial Locators imported Failed!')
->body('No new serial number(s) found in the uploaded excel file..!')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', 0);
@@ -883,7 +882,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title('Please select a plant first.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', 0);
@@ -902,7 +901,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title('Please enter serial number and locator number to add data.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -921,7 +920,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title('Please enter serial number to add data.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -939,7 +938,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Serial number should contain minimum 9 digits and maximum 20 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -957,7 +956,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title('Serial number must contain alpha-numeric values only.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -976,7 +975,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title('Please enter locator number to add data.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -993,7 +992,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Locator number '$scanLocator' must be at least 7 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1016,7 +1015,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Locator number '$scanLocator' does not exist in the master.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1035,7 +1034,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("No space available for locator number '{$scanLocator}'.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1062,7 +1061,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Serial number '$scanSno' already exists in locator number '$palletRecord->locator_number'.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1080,7 +1079,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Serial number '$scanSno' already exists in pallet number '$palletRecord->pallet_number'.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1098,7 +1097,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Serial number '$scanSno' already exists in pallet number '$palletRecord->pallet_number' with locator number '$palletRecord->locator_number'.")
->warning()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1126,7 +1125,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Serial number '$scanSno' already exists in invoice number '$invoiceNo' and completed the scanning process.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1180,7 +1179,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Failed to add serial number '$scanSno' into locator number '$scanLocator'!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->form->fill
@@ -1207,7 +1206,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title('Please select a plant first.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', 0);
@@ -1226,7 +1225,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title('Please enter atleast a serial number or locator number to view data.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1245,7 +1244,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Serial number should contain minimum 9 digits and maximum 20 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1263,7 +1262,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title('Serial number must contain alpha-numeric values only.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1281,7 +1280,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Locator number '$scanLocator' must be at least 7 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1303,7 +1302,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Locator number '$scanLocator' does not exist in the master.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1329,7 +1328,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Serial number '$scanSno' exists in invoice number '$invoiceNo' and completed the scanning process.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1352,7 +1351,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Serial number '$scanSno' and locator number '$scanLocator' does not exist in pallet table.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1372,7 +1371,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Serial number '$scanSno' already exists in pallet number '$serialNumberExists->pallet_number' with locator number '$serialNumberExists->locator_number'.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1411,7 +1410,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Serial number should contain minimum 9 digits and maximum 20 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1429,7 +1428,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title('Serial number must contain alpha-numeric values only.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1473,7 +1472,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Serial number '$scanSno' already exists in pallet number '$palletRecord->pallet_number'.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1491,7 +1490,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Serial number '$scanSno' already exists in pallet number '$palletRecord->pallet_number' with locator number '$palletRecord->locator_number'.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1519,7 +1518,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Serial number '$scanSno' exists in invoice number '$invoiceNo' and completed the scanning process.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1537,7 +1536,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Serial number '$scanSno' does not exist in pallet table.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1558,7 +1557,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Locator number '$scanLocator' must be at least 7 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1580,7 +1579,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Locator number '$scanLocator' does not exist in the master.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1601,7 +1600,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Locator number '$scanLocator' does not exist in pallet table.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1647,7 +1646,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title('Please select a plant first.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', 0);
@@ -1666,7 +1665,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title('Please enter serial number and locator number to delete data.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1684,7 +1683,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title('Please enter serial number to delete data.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1701,7 +1700,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Serial number should contain minimum 9 digits and maximum 20 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1719,7 +1718,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title('Serial number must contain alpha-numeric values only.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1737,7 +1736,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title('Please enter locator number to delete data.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1755,7 +1754,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Locator number '$scanLocator' must be at least 7 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1775,7 +1774,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Locator number '$scanLocator' does not exist in the master.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1801,7 +1800,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Serial number '$scanSno' exists in invoice number '$invoiceNo' and completed the scanning process.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1827,7 +1826,7 @@ class UploadSerialLocator extends Page implements HasForms
Notification::make()
->title("Serial number '$scanSno' already exists in pallet number '$palletExists->pallet_number'!<br>Please enter locator serial number to remove data.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);
@@ -1869,7 +1868,7 @@ class UploadSerialLocator extends Page implements HasForms
->title("Failed to remove serial number '$scanSno' from locator number '$scanLocator'!")
//->title("Serial number '{$scanSno}' and Locator number '{$scanLocator}' does not exist in pallet table.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $scanLocator, $scanSno, $plantId);

View File

@@ -65,7 +65,9 @@ class LocatorInvoiceValidationResource extends Resource
$set('invoice_number', null);
$set('pallet_number', null);
$set('serial_number', null);
$set('sno_quantity', null);
$set('sno_quantity', 0);
$set('scan_quantity', 0);
$set('pend_quantity', 0);
}
else
{
@@ -73,7 +75,9 @@ class LocatorInvoiceValidationResource extends Resource
$set('invoice_number', null);
$set('pallet_number', null);
$set('serial_number', null);
$set('sno_quantity', null);
$set('sno_quantity', 0);
$set('scan_quantity', 0);
$set('pend_quantity', 0);
}
}),
@@ -92,14 +96,28 @@ class LocatorInvoiceValidationResource extends Resource
->readOnly(fn (callable $get) => !$get('plant') || $get('pallet_number') || $get('serial_number'))
->afterStateUpdated(function ($state, callable $set, callable $get) {
$plantId = $get('plant');
$invNo = $get('invoice_number');
$snoCount = 0;
$pendingCount = 0;
$scannedCount = 0;
if (!$plantId) {
$set('invoice_number', null);
$set('pallet_number', null);
}
else if ($invNo)
{
$snoCount = LocatorInvoiceValidation::where('plant_id', $plantId)->where('invoice_number', $invNo)->count();
$pendingCount = LocatorInvoiceValidation::where('invoice_number', $invNo)->where('plant_id', $plantId)->whereNull('scanned_status')->orWhere('scanned_status', '=', '')->count();
$scannedCount = LocatorInvoiceValidation::where('invoice_number', $invNo)->where('plant_id', $plantId)->where('scanned_status', '=', 'Scanned')->count();
}
$set('update_invoice', null);
$set('pallet_number', null);
$set('serial_number', null);
$set('sno_quantity', $snoCount);
$set('scan_quantity', $scannedCount);
$set('pend_quantity', $pendingCount);
}),
Forms\Components\TextInput::make('pallet_number')
->label('Scan Pallet No')
@@ -180,7 +198,18 @@ class LocatorInvoiceValidationResource extends Resource
'x-on:keydown.enter.prevent' => '$wire.processSerialNo()',
]),
Forms\Components\TextInput::make('sno_quantity')
->label('SNo. Quantity')
->label('Invoice Quantity')
->default(0)
->readOnly(),
Forms\Components\TextInput::make('scan_quantity')
->label('Scanned Quantity')
->default(0)
->readOnly(),
Forms\Components\TextInput::make('pend_quantity')
->label('Pending Quantity')
->default(0)
->readOnly(),
//Forms\Components\View::make('forms.components.update-invoice-button'),
@@ -268,7 +297,7 @@ class LocatorInvoiceValidationResource extends Resource
Notification::make()
->title("Pallet number '{$palletNumber}' does not exist.")
->danger()
->duration(1200)
->duration(5000)
->send();
return;
}
@@ -290,7 +319,7 @@ class LocatorInvoiceValidationResource extends Resource
Notification::make()
->title("Pallet number '{$palletNumber}' is not completed in masters")
->danger()
->duration(1200)
->duration(5000)
->send();
return;
}
@@ -528,7 +557,7 @@ class LocatorInvoiceValidationResource extends Resource
->title('Invalid Locator Invoice Found')
->body('Uploaded excel sheet is empty or<br>contains no valid data.')
->danger()
->duration(1200)
->duration(5000)
->send();
if ($disk->exists($path)) {
@@ -579,7 +608,7 @@ class LocatorInvoiceValidationResource extends Resource
->title('Invalid Serial Numbers Found')
->body('The following serial numbers should contain minimum 9 digit (and maximum 20 digit) alpha numeric values:<br>' . implode(', ', $uniqueSerialCodes))
->danger()
->duration(1200)
->duration(5000)
->send();
if ($disk->exists($path)) {
@@ -595,7 +624,7 @@ class LocatorInvoiceValidationResource extends Resource
->title('Duplicate Serial Numbers Found')
->body('The following serial numbers are already exist in imported excel:<br>' . implode(', ', $duplicateSerialCodes))
->danger()
->duration(1200)
->duration(5000)
->send();
if ($disk->exists($path)) {
@@ -609,7 +638,7 @@ class LocatorInvoiceValidationResource extends Resource
->title('Invalid Locator Invoice Found')
->body('Uploaded excel sheet is empty or<br>contains no valid data.')
->danger()
->duration(1200)
->duration(5000)
->send();
if ($disk->exists($path)) {
@@ -631,7 +660,7 @@ class LocatorInvoiceValidationResource extends Resource
->title('Duplicate Serial Numbers Found')
->body('The following serial numbers already exist with a different invoice number:<br>' . implode(', ', $existingSerials))
->danger()
->duration(1200)
->duration(5000)
->send();
if ($disk->exists($path)) {

View File

@@ -62,8 +62,9 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->title('Plant Not Found')
->body("Plant can't be empty!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', $plantId);
$this->form->fill([
'plant_id' => $plantId,
@@ -71,7 +72,9 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'invoice_number' => $invoiceNumber,
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => null,
'sno_quantity' => 0,
'scan_quantity' => 0,
'pend_quantity' => 0,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -104,16 +107,19 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->title('Completed: Locator Invoice')
->body("Locator invoice '$invoiceNumber' completed the scanning process.<br>Scan the next 'Locator Invoice' to proceed..!")
->info()
->duration(1000)
->duration(5000)
->send();
$this->dispatch('loadData', '', $plantId);
$this->form->fill([
'plant_id' => $plantId,
'plant' => $plantId,
'invoice_number' => $invoiceNumber,
'invoice_number' => null,
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => null,
'sno_quantity' => 0,
'scan_quantity' => 0,
'pend_quantity' => 0,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -149,15 +155,18 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->title('Invoice File Not Found')
->body("Import the scanned 'Invoice' file to proceed..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->form->fill([
'plant_id' => $plantId,
'plant' => $plantId,
'invoice_number' => $invoiceNumber,
'invoice_number' => null,
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => 0,
'scan_quantity' => 0,
'pend_quantity' => 0,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -177,7 +186,7 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->title('Invalid Locator Invoice Found')
->body('Uploaded excel sheet is empty or<br>contains no valid data.')
->danger()
->duration(1200)
->duration(5000)
->send();
if ($disk->exists($filePath))
@@ -188,10 +197,12 @@ class CreateLocatorInvoiceValidation extends CreateRecord
$this->form->fill([
'plant_id' => $plantId,
'plant' => $plantId,
'invoice_number' => $invoiceNumber,
'invoice_number' => null,
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => null,
'sno_quantity' => 0,
'scan_quantity' => 0,
'pend_quantity' => 0,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -240,58 +251,7 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->title('Invalid Serial Numbers Found')
->body('The following serial numbers should contain minimum 9 digit (and maximum 20 digit) alpha numeric values:<br>' . implode(', ', $uniqueSerialCodes))
->danger()
->duration(1200)
->send();
if ($disk->exists($filePath)) {
$disk->delete($filePath);
}
$this->dispatch('loadData', '', $plantId);
$this->form->fill([
'plant_id' => $plantId,
'plant' => $plantId,
'invoice_number' => $invoiceNumber,
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => null,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
return;
}
$duplicateSerialCodes = array_unique($duplicateSerials);
if (!empty($duplicateSerialCodes)) {
Notification::make()
->title('Duplicate Serial Numbers Found')
->body('The following serial numbers are already exist in imported excel:<br>' . implode(', ', $duplicateSerialCodes))
->danger()
->duration(1200)
->send();
if ($disk->exists($filePath)) {
$disk->delete($filePath);
}
$this->dispatch('loadData', '', $plantId);
$this->form->fill([
'plant_id' => $plantId,
'invoice_number' => $invoiceNumber,
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => null,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
return;
}
if (!$validRowsFound) {
Notification::make()
->title('Invalid Locator Invoice Found')
->body('Uploaded excel sheet is empty or<br>contains no valid data.')
->danger()
->duration(1200)
->duration(5000)
->send();
if ($disk->exists($filePath)) {
@@ -305,6 +265,63 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => 0,
'scan_quantity' => 0,
'pend_quantity' => 0,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
return;
}
$duplicateSerialCodes = array_unique($duplicateSerials);
if (!empty($duplicateSerialCodes)) {
Notification::make()
->title('Duplicate Serial Numbers Found')
->body('The following serial numbers are already exist in imported excel:<br>' . implode(', ', $duplicateSerialCodes))
->danger()
->duration(5000)
->send();
if ($disk->exists($filePath)) {
$disk->delete($filePath);
}
$this->dispatch('loadData', '', $plantId);
$this->form->fill([
'plant_id' => $plantId,
'invoice_number' => $invoiceNumber,
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => 0,
'scan_quantity' => 0,
'pend_quantity' => 0,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
return;
}
if (!$validRowsFound) {
Notification::make()
->title('Invalid Locator Invoice Found')
->body('Uploaded excel sheet is empty or<br>contains no valid data.')
->danger()
->duration(5000)
->send();
if ($disk->exists($filePath)) {
$disk->delete($filePath);
}
$this->dispatch('loadData', '', $plantId);
$this->form->fill([
'plant_id' => $plantId,
'plant' => $plantId,
'invoice_number' => null,
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => 0,
'scan_quantity' => 0,
'pend_quantity' => 0,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -324,7 +341,7 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->title('Duplicate Serial Numbers Found')
->body('The following serial numbers already exist with a different invoice number:<br>' . implode(', ', $existingSerials))
->danger()
->duration(1200)
->duration(5000)
->send();
if ($disk->exists($filePath))
@@ -339,6 +356,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => 0,
'scan_quantity' => 0,
'pend_quantity' => 0,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -405,22 +424,28 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->info()
->duration(800)
->send();
if ($disk->exists($filePath))
{
$disk->delete($filePath);
}
$snoCount = LocatorInvoiceValidation::where('plant_id', $plantId)
->where('invoice_number', $invoiceNumber)
->count();
$snoCount = LocatorInvoiceValidation::where('plant_id', $plantId)->where('invoice_number', $invoiceNumber)->count();
$pendingCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->whereNull('scanned_status')->orWhere('scanned_status', '=', '')->count();
$scannedCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->where('scanned_status', '=', 'Scanned')->count();
$this->form->fill([
'plant_id' => $plantId,
'plant' => $plantId,
'invoice_number' => $invoiceNumber,
'update_invoice' => 0,
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => $snoCount,
'scan_quantity' => $scannedCount,
'pend_quantity' => $pendingCount,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -454,23 +479,19 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->title('Updated Invoice File Not Found')
->body("Import the updated 'Invoice' file to proceed..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->form->fill([
'plant_id' => $plantId,
'plant' => $plantId,
'invoice_number' => $invoiceNumber,
'serial_number' => null,
]);
$this->dispatch('loadData', '', $plantId);
$this->form->fill([
'plant_id' => $plantId,
'plant' => $plantId,
'invoice_number' => $invoiceNumber,
'invoice_number' => null,
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => null,
'sno_quantity' => 0,
'scan_quantity' => 0,
'pend_quantity' => 0,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -489,7 +510,7 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->title('Invalid Updated Locator Invoice Found')
->body('Uploaded excel sheet is empty or<br>contains no valid data.')
->danger()
->duration(1200)
->duration(5000)
->send();
if ($disk->exists($filePath))
@@ -500,10 +521,12 @@ class CreateLocatorInvoiceValidation extends CreateRecord
$this->form->fill([
'plant_id' => $plantId,
'plant' => $plantId,
'invoice_number' => $invoiceNumber,
'invoice_number' => null,
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => null,
'sno_quantity' => 0,
'scan_quantity' => 0,
'pend_quantity' => 0,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -552,7 +575,7 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->title('Invalid Serial Numbers Found')
->body('The following serial numbers should contain minimum 9 digit (and maximum 20 digit) alpha numeric values:<br>' . implode(', ', $uniqueSerialCodes))
->danger()
->duration(1200)
->duration(5000)
->send();
if ($disk->exists($filePath)) {
@@ -565,7 +588,9 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'invoice_number' => $invoiceNumber,
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => null,
'sno_quantity' => 0,
'scan_quantity' => 0,
'pend_quantity' => 0,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -579,7 +604,7 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->title('Duplicate Serial Numbers Found')
->body('The following serial numbers are already exist in imported excel:<br>' . implode(', ', $duplicateSerialCodes))
->danger()
->duration(1200)
->duration(5000)
->send();
if ($disk->exists($filePath))
@@ -593,7 +618,9 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'invoice_number' => $invoiceNumber,
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => null,
'sno_quantity' => 0,
'scan_quantity' => 0,
'pend_quantity' => 0,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -605,7 +632,7 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->title('Invalid Updated Locator Invoice Found')
->body('Uploaded excel sheet is empty or<br>contains no valid data.')
->danger()
->duration(1200)
->duration(5000)
->send();
if ($disk->exists($filePath)) {
@@ -615,10 +642,12 @@ class CreateLocatorInvoiceValidation extends CreateRecord
$this->form->fill([
'plant_id' => $plantId,
'plant' => $plantId,
'invoice_number' => $invoiceNumber,
'invoice_number' => null,
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => null,
'sno_quantity' => 0,
'scan_quantity' => 0,
'pend_quantity' => 0,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -638,7 +667,7 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->title('Duplicate Serial Numbers Found')
->body('The following serial numbers already exist with a different invoice number:<br>' . implode(', ', $existingSerials))
->danger()
->duration(1200)
->duration(5000)
->send();
if ($disk->exists($filePath)) {
@@ -651,7 +680,9 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'invoice_number' => $invoiceNumber,
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => null,
'sno_quantity' => 0,
'scan_quantity' => 0,
'pend_quantity' => 0,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -697,22 +728,28 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->info()
->duration(800)
->send();
if ($disk->exists($filePath))
{
$disk->delete($filePath);
}
$snoCount = LocatorInvoiceValidation::where('plant_id', $plantId)
->where('invoice_number', $invoiceNumber)
->count();
$snoCount = LocatorInvoiceValidation::where('plant_id', $plantId)->where('invoice_number', $invoiceNumber)->count();
$pendingCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->whereNull('scanned_status')->orWhere('scanned_status', '=', '')->count();
$scannedCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->where('scanned_status', '=', 'Scanned')->count();
$this->form->fill([
'plant_id' => $plantId,
'plant' => $plantId,
'invoice_number' => $invoiceNumber,
'update_invoice' => 0,
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => $snoCount,
'scan_quantity' => $scannedCount,
'pend_quantity' => $pendingCount,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -730,9 +767,11 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->duration(1000)
->send();
$snoCount = LocatorInvoiceValidation::where('plant_id', $plantId)
->where('invoice_number', $invoiceNumber)
->count();
$snoCount = LocatorInvoiceValidation::where('plant_id', $plantId)->where('invoice_number', $invoiceNumber)->count();
$pendingCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->whereNull('scanned_status')->orWhere('scanned_status', '=', '')->count();
$scannedCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->where('scanned_status', '=', 'Scanned')->count();
$this->form->fill([
'plant_id' => $plantId,
@@ -741,6 +780,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => $snoCount,
'scan_quantity' => $scannedCount,
'pend_quantity' => $pendingCount,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -755,13 +796,16 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->title('Error: Locator invoice insertion (or updation).')
->body($e->getMessage())
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNumber, $plantId);
$snoCount = LocatorInvoiceValidation::where('plant_id', $plantId)
->where('invoice_number', $invoiceNumber)
->count();
$snoCount = LocatorInvoiceValidation::where('plant_id', $plantId)->where('invoice_number', $invoiceNumber)->count();
$pendingCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->whereNull('scanned_status')->orWhere('scanned_status', '=', '')->count();
$scannedCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->where('scanned_status', '=', 'Scanned')->count();
$this->dispatch('loadData', $invoiceNumber, $plantId);
$this->form->fill([
'plant_id' => $plantId,
'plant' => $plantId,
@@ -769,6 +813,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => $snoCount,
'scan_quantity' => $scannedCount,
'pend_quantity' => $pendingCount,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -812,17 +858,19 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->title('Invoice Not Found')
->body("Scanned invoice number '$invoiceNumber' does not exist in invoice table!<br>Import the scanned 'Invoice' file to proceed..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNumber, $plantId);
$this->form->fill([
'plant_id' => $plantId,
'plant' => $plantId,
'invoice_number' => $invoiceNumber,
'invoice_number' => null,
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => null,
'sno_quantity' => 0,
'scan_quantity' => 0,
'pend_quantity' => 0,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -856,10 +904,12 @@ class CreateLocatorInvoiceValidation extends CreateRecord
$this->form->fill([
'plant_id' => $plantId,
'plant' => $plantId,
'invoice_number' => $invoiceNumber,
'invoice_number' => null,
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => null,
'sno_quantity' => 0,
'scan_quantity' => 0,
'pend_quantity' => 0,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -867,16 +917,20 @@ class CreateLocatorInvoiceValidation extends CreateRecord
}
}
$snoCount = LocatorInvoiceValidation::where('plant_id', $plantId)->where('invoice_number', $invoiceNumber)->count();
$pendingCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->whereNull('scanned_status')->orWhere('scanned_status', '=', '')->count();
$scannedCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->where('scanned_status', '=', 'Scanned')->count();
if ($palletNumber == '' || $palletNumber == null)
{
Notification::make()
->title("Pallet number can't be empty!")
->danger()
->duration(1200)
->duration(5000)
->send();
$snoCount = LocatorInvoiceValidation::where('plant_id', $plantId)->where('invoice_number', $invoiceNumber)
->count();
$this->dispatch('loadData', $invoiceNumber, $plantId);
$this->form->fill([
'plant_id' => $plantId,
@@ -886,19 +940,20 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'update_invoice' => 0,
'serial_number' => null,
'sno_quantity' => $snoCount,
'scan_quantity' => $scannedCount,
'pend_quantity' => $pendingCount,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
return;
}
$snoCount = LocatorInvoiceValidation::where('plant_id', $plantId)->where('invoice_number', $invoiceNumber)->count();
if (strlen($palletNumber) < 10)
{
Notification::make()
->title("Pallet number '$palletNumber' must be at least 10 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNumber, $plantId);
@@ -910,6 +965,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'update_invoice' => 0,
'serial_number' => null,
'sno_quantity' => $snoCount,
'scan_quantity' => $scannedCount,
'pend_quantity' => $pendingCount,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -925,7 +982,7 @@ class CreateLocatorInvoiceValidation extends CreateRecord
Notification::make()
->title("Pallet number '{$palletNumber}' does not exist in pallet table.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNumber, $plantId);
@@ -937,6 +994,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'update_invoice' => 0,
'serial_number' => null,
'sno_quantity' => $snoCount,
'scan_quantity' => $scannedCount,
'pend_quantity' => $pendingCount,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -960,7 +1019,7 @@ class CreateLocatorInvoiceValidation extends CreateRecord
Notification::make()
->title("Pallet number '{$palletNumber}' does not completed the master packing!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNumber, $plantId);
@@ -972,6 +1031,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'update_invoice' => 0,
'serial_number' => null,
'sno_quantity' => $snoCount,
'scan_quantity' => $scannedCount,
'pend_quantity' => $pendingCount,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -1002,7 +1063,7 @@ class CreateLocatorInvoiceValidation extends CreateRecord
Notification::make()
->title("Scanned pallet number '$palletNumber' does not have invoice serial numbers.<br>Scan the valid exist pallet number to start the scanning process..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNumber, $plantId);
@@ -1014,6 +1075,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'update_invoice' => 0,
'serial_number' => null,
'sno_quantity' => $snoCount,
'scan_quantity' => $scannedCount,
'pend_quantity' => $pendingCount,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -1043,7 +1106,7 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->title("Partial Pallet Serial Numbers Found")
->body($missingSerialsString)
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNumber, $plantId);
@@ -1055,6 +1118,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'update_invoice' => 0,
'serial_number' => null,
'sno_quantity' => $snoCount,
'scan_quantity' => $scannedCount,
'pend_quantity' => $pendingCount,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -1138,11 +1203,13 @@ class CreateLocatorInvoiceValidation extends CreateRecord
$this->form->fill([
'plant_id' => $plantId,
'plant' => $plantId,
'invoice_number' => $invoiceNumber,
'invoice_number' => null,
'pallet_number' => null,
'update_invoice' => 0,
'serial_number' => null,
'sno_quantity' => null,
'sno_quantity' => 0,
'scan_quantity' => 0,
'pend_quantity' => 0,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -1150,6 +1217,10 @@ class CreateLocatorInvoiceValidation extends CreateRecord
}
else
{
$pendingCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->whereNull('scanned_status')->orWhere('scanned_status', '=', '')->count();
$scannedCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->where('scanned_status', '=', 'Scanned')->count();
$this->dispatch('loadData', $invoiceNumber, $plantId);
$this->form->fill([
'plant_id' => $plantId,
@@ -1159,6 +1230,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'update_invoice' => 0,
'serial_number' => null,
'sno_quantity' => $snoCount,
'scan_quantity' => $scannedCount,
'pend_quantity' => $pendingCount,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -1228,11 +1301,13 @@ class CreateLocatorInvoiceValidation extends CreateRecord
$this->form->fill([
'plant_id' => $plantId,
'plant' => $plantId,
'invoice_number' => $invoiceNumber,
'invoice_number' => null,
'pallet_number' => null,
'update_invoice' => 0,
'serial_number' => null,
'sno_quantity' => null,
'sno_quantity' => 0,
'scan_quantity' => 0,
'pend_quantity' => 0,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -1240,6 +1315,10 @@ class CreateLocatorInvoiceValidation extends CreateRecord
}
else
{
$pendingCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->whereNull('scanned_status')->orWhere('scanned_status', '=', '')->count();
$scannedCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->where('scanned_status', '=', 'Scanned')->count();
$this->dispatch('loadData', $invoiceNumber, $plantId);
$this->form->fill([
'plant_id' => $plantId,
@@ -1249,6 +1328,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'update_invoice' => 0,
'serial_number' => null,
'sno_quantity' => $snoCount,
'scan_quantity' => $scannedCount,
'pend_quantity' => $pendingCount,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -1295,7 +1376,7 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->title('Invoice Not Found')
->body("Scanned invoice number '$invoiceNumber' does not exist in invoice table!<br>Import the scanned 'Invoice' file to proceed..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->form->fill([
@@ -1304,7 +1385,9 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'invoice_number' => $invoiceNumber,
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => null,
'sno_quantity' => 0,
'scan_quantity' => 0,
'pend_quantity' => 0,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -1338,10 +1421,12 @@ class CreateLocatorInvoiceValidation extends CreateRecord
$this->form->fill([
'plant_id' => $plantId,
'plant' => $plantId,
'invoice_number' => $invoiceNumber,
'invoice_number' => null,
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => null,
'sno_quantity' => 0,
'scan_quantity' => 0,
'pend_quantity' => 0,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -1350,13 +1435,18 @@ class CreateLocatorInvoiceValidation extends CreateRecord
}
$snoCount = LocatorInvoiceValidation::where('plant_id', $plantId)->where('invoice_number', $invoiceNumber)->count();
$pendingCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->whereNull('scanned_status')->orWhere('scanned_status', '=', '')->count();
$scannedCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->where('scanned_status', '=', 'Scanned')->count();
if ($serialNumber == '' || $serialNumber == null)
{
Notification::make()
->title("Invalid: Serial Number")
->body("Serial number can't be empty!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNumber, $plantId);
@@ -1368,6 +1458,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'update_invoice' => 0,
'serial_number' => null,
'sno_quantity' => $snoCount,
'scan_quantity' => $scannedCount,
'pend_quantity' => $pendingCount,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -1379,7 +1471,7 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Serial Number")
->body('Serial number should contain minimum 9 digits and maximum 20 digits.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNumber, $plantId);
@@ -1390,6 +1482,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => $snoCount,
'scan_quantity' => $scannedCount,
'pend_quantity' => $pendingCount,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -1401,7 +1495,7 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Serial Number")
->body('Serial number must contain alpha-numeric values only.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNumber, $plantId);
@@ -1412,6 +1506,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => $snoCount,
'scan_quantity' => $scannedCount,
'pend_quantity' => $pendingCount,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -1426,7 +1522,7 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->title("Unknown: Serial Number")
->body("Serial number '{$serialNumber}' does not exist in invoice number '$invoiceNumber'.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNumber, $plantId);
@@ -1437,6 +1533,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => $snoCount,
'scan_quantity' => $scannedCount,
'pend_quantity' => $pendingCount,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -1448,7 +1546,7 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->title("Completed: Serial Number")
->body("Serial number '{$serialNumber}' already completed the scanning process for the invoice number '$invoiceNumber'.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNumber, $plantId);
@@ -1459,6 +1557,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => $snoCount,
'scan_quantity' => $scannedCount,
'pend_quantity' => $pendingCount,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -1480,7 +1580,7 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->title("Unknown: Serial Number")
->body("Serial number '{$serialNumber}' does not exist in pallet table.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNumber, $plantId);
@@ -1491,6 +1591,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => $snoCount,
'scan_quantity' => $scannedCount,
'pend_quantity' => $pendingCount,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -1513,7 +1615,7 @@ class CreateLocatorInvoiceValidation extends CreateRecord
->title("Incompleted Pallet: Serial Number")//Pallet number '{$existPallNum}' does not completed the master packing!
->body("Serial number '{$serialNumber}' exist in pallet number '$existPallNum' and it does not completed the master packing!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNumber, $plantId);
@@ -1524,6 +1626,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'pallet_number' => null,
'serial_number' => null,
'sno_quantity' => $snoCount,
'scan_quantity' => $scannedCount,
'pend_quantity' => $pendingCount,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -1609,11 +1713,13 @@ class CreateLocatorInvoiceValidation extends CreateRecord
$this->form->fill([
'plant_id' => $plantId,
'plant' => $plantId,
'invoice_number' => $invoiceNumber,
'invoice_number' => null,
'pallet_number' => null,
'update_invoice' => 0,
'serial_number' => null,
'sno_quantity' => null,
'sno_quantity' => 0,
'scan_quantity' => 0,
'pend_quantity' => 0,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -1621,14 +1727,21 @@ class CreateLocatorInvoiceValidation extends CreateRecord
}
else
{
$pendingCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->whereNull('scanned_status')->orWhere('scanned_status', '=', '')->count();
$scannedCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->where('scanned_status', '=', 'Scanned')->count();
$this->dispatch('loadData', $invoiceNumber, $plantId);
$this->form->fill([
'plant_id' => $plantId,
'plant' => $plantId,
'invoice_number' => $invoiceNumber,
'pallet_number' => null,
'update_invoice' => 0,
'serial_number' => null,
'sno_quantity' => $snoCount,
'scan_quantity' => $scannedCount,
'pend_quantity' => $pendingCount,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
@@ -1640,7 +1753,7 @@ class CreateLocatorInvoiceValidation extends CreateRecord
Notification::make()
->title("Failed to check Serial number '{$serialNumber}' existence.<br>Scan the valid serial number to proceed...")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNumber, $plantId);
@@ -1649,8 +1762,11 @@ class CreateLocatorInvoiceValidation extends CreateRecord
'plant' => $plantId,
'invoice_number' => $invoiceNumber,
'pallet_number' => null,
'update_invoice' => 0,
'serial_number' => null,
'sno_quantity' => $snoCount,
'scan_quantity' => $scannedCount,
'pend_quantity' => $pendingCount,
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);

View File

@@ -0,0 +1,223 @@
<?php
namespace App\Filament\Resources;
use App\Filament\Resources\MfmReadingResource\Pages;
use App\Filament\Resources\MfmReadingResource\RelationManagers;
use App\Models\MfmReading;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class MfmReadingResource extends Resource
{
protected static ?string $model = MfmReading::class;
protected static ?string $navigationIcon = 'heroicon-o-rectangle-stack';
protected static ?string $navigationGroup = 'Power House';
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\Select::make('plant_id')
->relationship('plant', 'name')
->required(),
Forms\Components\Select::make('mfm_meter_id')
->relationship('mfmMeter', 'name')
->required(),
Forms\Components\TextInput::make('apparent_energy_received'),
Forms\Components\TextInput::make('reactive_energy_received'),
Forms\Components\TextInput::make('active_energy_received'),
Forms\Components\TextInput::make('active_power_r'),
Forms\Components\TextInput::make('active_power_y'),
Forms\Components\TextInput::make('active_power_b'),
Forms\Components\TextInput::make('active_power_total'),
Forms\Components\TextInput::make('voltage_ry'),
Forms\Components\TextInput::make('voltage_yb'),
Forms\Components\TextInput::make('voltage_br'),
Forms\Components\TextInput::make('current_r'),
Forms\Components\TextInput::make('current_y'),
Forms\Components\TextInput::make('current_b'),
Forms\Components\TextInput::make('current_n'),
Forms\Components\TextInput::make('voltage_r_n'),
Forms\Components\TextInput::make('voltage_y_n'),
Forms\Components\TextInput::make('voltage_b_n'),
Forms\Components\TextInput::make('frequency'),
Forms\Components\TextInput::make('power_factor_r'),
Forms\Components\TextInput::make('power_factor_y'),
Forms\Components\TextInput::make('power_factor_b'),
Forms\Components\TextInput::make('power_factor_total'),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('id')
->label('ID')
->alignCenter()
->numeric()
->sortable(),
Tables\Columns\TextColumn::make('plant.name')
->label('Plant')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('mfmMeter.name')
->label('Mfm Meter')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('apparent_energy_received')
->label('Apparent Energy Received')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('reactive_energy_received')
->label('Reactive Energy Received')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('active_energy_received')
->label('Active Energy Received')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('active_power_r')
->label('Active Power R')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('active_power_y')
->label('Active Power Y')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('active_power_b')
->label('Active Power B')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('active_power_total')
->label('Active Power Total')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('voltage_ry')
->label('Voltage RY')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('voltage_yb')
->label('Voltage YB')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('voltage_br')
->label('Voltage BR')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('current_r')
->label('Current R')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('current_y')
->label('Current Y')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('current_b')
->label('Current B')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('current_n')
->label('Current N')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('voltage_r_n')
->label('Voltage R N')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('voltage_y_n')
->label('Voltage Y N')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('voltage_b_n')
->label('Voltage B N')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('frequency')
->label('Frequency')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('power_factor_r')
->label('Power Factor R')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('power_factor_y')
->label('Power Factor Y')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('power_factor_b')
->label('Power Factor B')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('power_factor_total')
->label('Power Factor Total')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('created_at')
->label('Created At')
->alignCenter()
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('updated_at')
->label('Updated At')
->alignCenter()
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('deleted_at')
->label('Deleted At')
->alignCenter()
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
])
->filters([
Tables\Filters\TrashedFilter::make(),
])
->actions([
Tables\Actions\ViewAction::make(),
Tables\Actions\EditAction::make(),
])
->bulkActions([
Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make(),
Tables\Actions\ForceDeleteBulkAction::make(),
Tables\Actions\RestoreBulkAction::make(),
]),
]);
}
public static function getRelations(): array
{
return [
//
];
}
public static function getPages(): array
{
return [
'index' => Pages\ListMfmReadings::route('/'),
'create' => Pages\CreateMfmReading::route('/create'),
'view' => Pages\ViewMfmReading::route('/{record}'),
'edit' => Pages\EditMfmReading::route('/{record}/edit'),
];
}
public static function getEloquentQuery(): Builder
{
return parent::getEloquentQuery()
->withoutGlobalScopes([
SoftDeletingScope::class,
]);
}
}

View File

@@ -0,0 +1,12 @@
<?php
namespace App\Filament\Resources\MfmReadingResource\Pages;
use App\Filament\Resources\MfmReadingResource;
use Filament\Actions;
use Filament\Resources\Pages\CreateRecord;
class CreateMfmReading extends CreateRecord
{
protected static string $resource = MfmReadingResource::class;
}

View File

@@ -0,0 +1,22 @@
<?php
namespace App\Filament\Resources\MfmReadingResource\Pages;
use App\Filament\Resources\MfmReadingResource;
use Filament\Actions;
use Filament\Resources\Pages\EditRecord;
class EditMfmReading extends EditRecord
{
protected static string $resource = MfmReadingResource::class;
protected function getHeaderActions(): array
{
return [
Actions\ViewAction::make(),
Actions\DeleteAction::make(),
Actions\ForceDeleteAction::make(),
Actions\RestoreAction::make(),
];
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\MfmReadingResource\Pages;
use App\Filament\Resources\MfmReadingResource;
use Filament\Actions;
use Filament\Resources\Pages\ListRecords;
class ListMfmReadings extends ListRecords
{
protected static string $resource = MfmReadingResource::class;
protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\MfmReadingResource\Pages;
use App\Filament\Resources\MfmReadingResource;
use Filament\Actions;
use Filament\Resources\Pages\ViewRecord;
class ViewMfmReading extends ViewRecord
{
protected static string $resource = MfmReadingResource::class;
protected function getHeaderActions(): array
{
return [
Actions\EditAction::make(),
];
}
}

View File

@@ -20,7 +20,6 @@ use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Forms\Components\Actions;
use Filament\Notifications\Notification;
use Filament\Tables\Actions\ExportAction;
use Filament\Tables\Actions\ImportAction;
use Log;

View File

@@ -62,7 +62,7 @@ class CreatePalletValidation extends CreateRecord
Notification::make()
->title("Pallet number can't be empty")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->form->fill([
@@ -85,7 +85,7 @@ class CreatePalletValidation extends CreateRecord
Notification::make()
->title('Serial number is required to add.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $palletNumber, $plantId);
@@ -105,7 +105,7 @@ class CreatePalletValidation extends CreateRecord
Notification::make()
->title('Serial number should contain minimum 9 digits and maximum 20 digits.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $palletNumber, $plantId);
@@ -125,7 +125,7 @@ class CreatePalletValidation extends CreateRecord
Notification::make()
->title('Serial number must contain alpha-numeric values only.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $palletNumber, $plantId);
@@ -152,7 +152,7 @@ class CreatePalletValidation extends CreateRecord
Notification::make()
->title("Scanned serial number '{$serialNumber}' already completed the scanning process and exist in invoice number : {$invoiceNumber}.<br>Scan the new serial number to add!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $palletNumber, $plantId);
@@ -179,7 +179,7 @@ class CreatePalletValidation extends CreateRecord
// Notification::make()
// ->title("Scanned serial number '{$serialNumber}' exists in pallet table .<br>scan the valid serial number to proceed...")
// ->danger()
// ->duration(1200)
// ->duration(5000)
// ->send();
// $this->form->fill([
// 'serial_number' => null,
@@ -198,7 +198,7 @@ class CreatePalletValidation extends CreateRecord
Notification::make()
->title("Scanned serial number '{$serialNumber}' is already exists in pallet number '{$palletNumber}'.<br>Scan the new serial number to proceed...")
->danger()
->duration(1200)
->duration(5000)
->send();
}
else if ($existingRecord && $existingRecord->pallet_number && $existingRecord->pallet_number != $palletNumber)
@@ -206,7 +206,7 @@ class CreatePalletValidation extends CreateRecord
Notification::make()
->title("Scanned serial number '{$serialNumber}' already exists in pallet number '{$existingRecord->pallet_number}'.<br>Scan the new serial number to proceed...")
->danger()
->duration(1200)
->duration(5000)
->send();
}
else if ($existingRecord && $existingRecord->locator_number)
@@ -214,7 +214,7 @@ class CreatePalletValidation extends CreateRecord
Notification::make()
->title("Scanned serial number '{$serialNumber}' is already exists in locator number '{$existingRecord->locator_number}'.<br>Scan the new serial number to proceed...")
->danger()
->duration(1200)
->duration(5000)
->send();
}
$this->dispatch('loadData', $palletNumber, $plantId);
@@ -284,7 +284,7 @@ class CreatePalletValidation extends CreateRecord
Notification::make()
->title("Failed to insert scanned serial number '$serialNumber' into pallet table!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $palletNumber, $plantId);
@@ -305,7 +305,7 @@ class CreatePalletValidation extends CreateRecord
->title('Error: Serial not inserted.')
->body("Something went wrong while inserting serial number '{$serialNumber}' into pallet table!\nScan the new serial number to proceed...")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $palletNumber, $plantId);
@@ -381,7 +381,7 @@ class CreatePalletValidation extends CreateRecord
Notification::make()
->title("Pallet number '$palletNumber' does not have serial numbers to save!<br>Add the valid serial number into pallet number to proceed...")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $palletNumber, $plantId);
@@ -407,7 +407,7 @@ class CreatePalletValidation extends CreateRecord
Notification::make()
->title("Pallet number '$palletNumber' already completed the master packing!<br>Generate the new pallet number or choose from pending pallet list!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', $plantId);
@@ -438,7 +438,11 @@ class CreatePalletValidation extends CreateRecord
if ($updated > 0)
{
Notification::make()->title("Pallet number '$palletNumber' records saved successfully!")->success()->duration(800)->send();
Notification::make()
->title("Pallet number '$palletNumber' records saved successfully!")
->success()
->duration(800)
->send();
$this->dispatch('loadData', '', $plantId);
$this->form->fill([
@@ -465,7 +469,11 @@ class CreatePalletValidation extends CreateRecord
if ($updated > 0)
{
Notification::make()->title("Pallet number '$palletNumber' completed the master packing successfully!")->success()->duration(800)->send();
Notification::make()
->title("Pallet number '$palletNumber' completed the master packing successfully!")
->success()
->duration(800)
->send();
$this->dispatch('loadData', '', $plantId);
$this->form->fill([
@@ -507,7 +515,7 @@ class CreatePalletValidation extends CreateRecord
Notification::make()
->title('Pallet number is required to remove.')
->danger()
->duration(1200)
->duration(5000)
->send();
return;
}
@@ -522,7 +530,7 @@ class CreatePalletValidation extends CreateRecord
Notification::make()
->title('Serial number is required to remove.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $palletNumber, $plantId);
@@ -542,7 +550,7 @@ class CreatePalletValidation extends CreateRecord
Notification::make()
->title('Serial number should contain minimum 9 digits and maximum 20 digits.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $palletNumber, $plantId);
@@ -562,7 +570,7 @@ class CreatePalletValidation extends CreateRecord
Notification::make()
->title('Serial number must contain alpha-numeric values only.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $palletNumber, $plantId);
@@ -588,7 +596,7 @@ class CreatePalletValidation extends CreateRecord
Notification::make()
->title("Scanned serial number '{$serialNumber}' already completed the scanning process and exist in invoice number '{$invoiceExist->invoice_number}'.<br>Scan the valid exist serial number to remove!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $palletNumber, $plantId);
@@ -612,7 +620,7 @@ class CreatePalletValidation extends CreateRecord
Notification::make()
->title('Serial number not exists in pallet table.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $palletNumber, $plantId);
@@ -639,8 +647,9 @@ class CreatePalletValidation extends CreateRecord
Notification::make()
->title("Scanned serial number exist in pallet number '$palletExist->pallet_number'.<br>Scan the valid exist serial number to remove!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $palletNumber, $plantId);
$this->form->fill([
'serial_number' => null,
@@ -665,8 +674,9 @@ class CreatePalletValidation extends CreateRecord
Notification::make()
->title("Scanned serial number exist in locator number '$locatorExist->locator_number'.<br>Scan the valid exist serial number to remove!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $palletNumber, $plantId);
$this->form->fill([
'serial_number' => null,
@@ -715,7 +725,7 @@ class CreatePalletValidation extends CreateRecord
Notification::make()
->title("Failed to remove scanned serial number '$serialNumber' from pallet table!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $palletNumber, $plantId);
@@ -728,7 +738,6 @@ class CreatePalletValidation extends CreateRecord
'created_by' => $operatorName,
'scanned_by' => $operatorName,
]);
}
//$this->dispatch('removeSno', $serialNumber, $palletNumber, $plantId);
@@ -770,7 +779,7 @@ class CreatePalletValidation extends CreateRecord
Notification::make()
->title('Pallet number is required.')
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', $plantId);
@@ -791,7 +800,7 @@ class CreatePalletValidation extends CreateRecord
Notification::make()
->title("Pallet number '$palletNumber' must be at least 10 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadLocator' ,'',$plantId);
@@ -823,7 +832,7 @@ class CreatePalletValidation extends CreateRecord
Notification::make()
->title("Already completed for pallet number $palletNumber!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $palletNumber, $plantId);

View File

@@ -1050,7 +1050,7 @@ class CreateProductionQuantity extends CreateRecord
->body("Valid QR code scanned:<br>{$this->qrData}")
->success()
// ->persistent()
->seconds(2)
->duration(600)
->send();
$formQRData = null;

View File

@@ -172,8 +172,9 @@ class ReworkLocatorInvoiceValidationResource extends Resource
Notification::make()
->title("Scanned invoice number: '$invoiceNumber' does not completed the scanning process!<br>Has '$notCompletedCount' pending serial number to scan!<br>Please, scan the valid completed invoice number to proceed...")
->danger()
->duration(1200)
->duration(5000)
->send();
$set('invoice_number', null);
$set('update_invoice', null);
return;
@@ -209,8 +210,9 @@ class ReworkLocatorInvoiceValidationResource extends Resource
Notification::make()
->title("Scanned pallet number '$palletNumber' does not completed the master packing!<br>Please, scan the valid completed pallet number to proceed...")
->danger()
->duration(1200)
->duration(5000)
->send();
$set('scan_pallet_no', null);
$set('update_pallet', null);
return;

View File

@@ -54,7 +54,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Invoice Number")
->body("Invoice number can't be empty!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', $plantId, $reworkType);
@@ -83,7 +83,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title('Invoice Not Found')
->body("Invoice number '$invoiceNo' doesn't exist in invoice table!<br><br>Scan the valid exist 'Invoice Number' to proceed..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', $plantId, $reworkType);
@@ -129,7 +129,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Pallet Number")
->body("Pallet number '$palletNo' must be at least 10 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNo, '', $plantId, $reworkType);
@@ -154,7 +154,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Serial Number")
->body("Serial number should contain minimum 9 digits and maximum 20 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNo, '', $plantId, $reworkType);
@@ -179,7 +179,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Serial Number")
->body("Serial number '$serialNo' must contain alpha-numeric values only.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNo, '', $plantId, $reworkType);
@@ -252,7 +252,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title('Completed: Invoice Found')
->body("Press 'Yes' and Press 'Enter' in Scan Invoice No to do rework for entire invoice.<br><br>Press 'No' to do rework against 'Pallet or Serial Number'..!")
->info()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNo, '', $plantId, $reworkType);
@@ -278,7 +278,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title('Invoice Not Completed')
->body("Scanned invoice number '$invoiceNo' doesn't completed the scanning process!<br><br>Has '$notCompletedCount' pending serial number to scan!<br><br>Please, scan the valid completed invoice number to proceed..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', $plantId, $reworkType);
@@ -304,7 +304,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title("Choosed: Pallet Rework Type")
->body("Scan valid pallet number to proceed..!")
->danger()
->duration(1200)
->duration(5000)
->send();
return;
}
@@ -313,7 +313,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
Notification::make()
->title("Rework Type Not Found")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', $plantId, $reworkType);
@@ -369,7 +369,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Invoice Number")
->body("Invoice number can't be empty!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', $plantId, $reworkType);
@@ -398,7 +398,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title('Invoice Not Found')
->body("Invoice number '$invoiceNo' doesn't exist in invoice table!<br><br>Scan the valid exist 'Invoice Number' to proceed..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', $plantId, $reworkType);
@@ -444,7 +444,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Pallet Number")
->body("Pallet number can't be empty!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNo, '', $plantId, $reworkType);
@@ -470,7 +470,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Pallet Number")
->body("Pallet number '$palletNo' must be at least 10 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNo, '', $plantId, $reworkType);
@@ -498,7 +498,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title('Pallet Not Found')
->body("Pallet number '$palletNo' doesn't exist in scanned invoice number '$invoiceNo'!<br><br>Scan the valid exist 'Pallet Number' to proceed..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNo, '', $plantId, $reworkType);
@@ -524,7 +524,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Serial Number")
->body("Serial number should contain minimum 9 digits and maximum 20 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNo, $palletNo, $plantId, $reworkType);
@@ -549,7 +549,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Serial Number")
->body("Serial number '$serialNo' must contain alpha-numeric values only.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNo, $palletNo, $plantId, $reworkType);
@@ -651,7 +651,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title('Invoice Not Completed')
->body("Scanned invoice number '$invoiceNo' doesn't completed the scanning process!<br><br>Has '$notCompletedCount' pending serial number to scan!<br><br>Please, scan the valid completed invoice number to proceed..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', $plantId, $reworkType);
@@ -679,7 +679,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Pallet Number")
->body("Pallet number can't be empty!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', $plantId, $reworkType);
@@ -705,7 +705,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Pallet Number")
->body("Pallet number '$palletNo' must be at least 10 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', $plantId, $reworkType);
@@ -733,7 +733,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title('Pallet Not Found')
->body("Pallet number '$palletNo' doesn't exist in pallet table!<br><br>Scan the valid exist 'Pallet Number' to proceed..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', $plantId, $reworkType);
@@ -773,7 +773,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title('Locator Pallet Found')
->body("Scanned pallet number '$palletNo' exist in locator number '$locatExist'.<br><br>Remove scanned 'Pallet' from 'Locator' to proceed re-master packing..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', $plantId, $reworkType);
@@ -800,7 +800,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Serial Number")
->body("Serial number should contain minimum 9 digits and maximum 20 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', $palletNo, $plantId, $reworkType);
@@ -825,7 +825,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Serial Number")
->body("Serial number '$serialNo' must contain alpha-numeric values only.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', $palletNo, $plantId, $reworkType);
@@ -881,7 +881,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title('Completed: Pallet Found')
->body("Press 'Yes' and Press 'Enter' in Scan Pallet No to do re-master packing for entire pallet.<br><br>Press 'No' to do partial re-master packing against 'Serial Number'..!")
->info()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', $palletNo, $plantId, $reworkType);
@@ -908,7 +908,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title('Pallet Not Completed')
->body("Scanned pallet number '$palletNo' doesn't completed the master packing!<br><br>Please, scan the valid completed pallet number to proceed..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', $plantId, $reworkType);
@@ -933,7 +933,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
Notification::make()
->title("Rework Type Not Found")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', $plantId, $reworkType);
@@ -989,7 +989,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Invoice Number")
->body("Invoice number can't be empty!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', $plantId, $reworkType);
@@ -1018,7 +1018,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title('Invoice Not Found')
->body("Invoice number '$invoiceNo' doesn't exist in invoice table!<br><br>Scan the valid exist 'Invoice Number' to proceed..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', $plantId, $reworkType);
@@ -1064,7 +1064,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Pallet Number")
->body("Pallet number '$palletNo' must be at least 10 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNo, '', $plantId, $reworkType);
@@ -1089,7 +1089,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Serial Number")
->body("Serial number can't be empty!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNo, '', $plantId, $reworkType);
@@ -1115,7 +1115,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Serial Number")
->body("Serial number should contain minimum 9 digits and maximum 20 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNo, '', $plantId, $reworkType);
@@ -1140,7 +1140,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Serial Number")
->body("Serial number '$serialNo' must contain alpha-numeric values only.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNo, '', $plantId, $reworkType);
@@ -1168,7 +1168,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title('Serial Not Found')
->body("Serial number '$serialNo' doesn't exist in scanned invoice number '$invoiceNo'!<br><br>Scan the valid exist 'Serial Number' to proceed..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', $invoiceNo, '', $plantId, $reworkType);
@@ -1270,7 +1270,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title('Invoice Not Completed')
->body("Scanned invoice number '$invoiceNo' doesn't completed the scanning process!<br><br>Has '$notCompletedCount' pending serial number to scan!<br><br>Please, scan the valid completed invoice number to proceed..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', $plantId, $reworkType);
@@ -1298,7 +1298,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Pallet Number")
->body("Pallet number can't be empty!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', $plantId, $reworkType);
@@ -1324,7 +1324,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Pallet Number")
->body("Pallet number '$palletNo' must be at least 10 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', $plantId, $reworkType);
@@ -1352,7 +1352,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title('Pallet Not Found')
->body("Pallet number '$palletNo' doesn't exist in pallet table!<br><br>Scan the valid exist 'Pallet Number' to proceed..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', $plantId, $reworkType);
@@ -1392,7 +1392,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title('Locator Pallet Found')
->body("Scanned pallet number '$palletNo' exist in locator number '$locatExist'.<br><br>Remove scanned 'Pallet' from 'Locator' to proceed re-master packing..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '' , '', $plantId, $reworkType);
@@ -1419,7 +1419,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Serial Number")
->body("Serial number can't be empty!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', $palletNo, $plantId, $reworkType);
@@ -1445,7 +1445,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Serial Number")
->body("Serial number should contain minimum 9 digits and maximum 20 digits.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', $palletNo, $plantId, $reworkType);
@@ -1470,7 +1470,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title("Invalid: Serial Number")
->body("Serial number '$serialNo' must contain alpha-numeric values only.")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', $palletNo, $plantId, $reworkType);
@@ -1498,7 +1498,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title('Serial Not Found')
->body("Serial number '$serialNo' doesn't exist in pallet number '$palletNo'!<br><br>Scan the valid exist 'Serial Number' to proceed..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', $palletNo, $plantId, $reworkType);
@@ -1589,7 +1589,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
->title('Pallet Not Completed')
->body("Pallet number '$palletNo' doesn't completed the master packing for scanned serial number '$serialNo'!<br><br>Please, scan the valid completed pallet number to proceed..!")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '' , '', $plantId, $reworkType);
@@ -1614,7 +1614,7 @@ class CreateReworkLocatorInvoiceValidation extends CreateRecord
Notification::make()
->title("Rework Type Not Found")
->danger()
->duration(1200)
->duration(5000)
->send();
$this->dispatch('loadData', '', '', $plantId, $reworkType);

View File

@@ -0,0 +1,205 @@
<?php
namespace App\Http\Controllers;
use App\Models\MfmMeter;
use App\Models\MfmParameter;
use App\Models\Plant;
use Illuminate\Http\Request;
class MfmParameterController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
//
}
public function get_mfm_parameterid(Request $request)
{
$expectedUser = env('API_AUTH_USER');
$expectedPw = env('API_AUTH_PW');
$header_auth = $request->header('Authorization');
$expectedToken = $expectedUser . ':' . $expectedPw;
if ("Bearer " . $expectedToken != $header_auth) {
return response()->json([
'status_code' => 'ERROR',
'status_description' => 'Invalid authorization token!'
], 403);
}
$plantCode = $request->header('plant-code');
if (!$plantCode) {
return response()->json([
'status_code' => 'ERROR',
'status_description' => "Plant Code value can't be empty"
], 404);
}
$plant = Plant::where('code', $plantCode)->first();
if (!$plant)
{
return response()->json([
'status_code' => 'ERROR',
'status_description' => "Plant Code '{$plantCode}' not found!"
], 404);
}
// $sequences = MfmMeter::where('plant_id', $plant->id)
// ->whereNotNull('sequence')
// ->distinct()
// ->orderBy('sequence', 'asc')
// ->pluck('sequence');
$sequences = MfmMeter::where('plant_id', $plant->id)
->whereNotNull('sequence')
->pluck('sequence')
->unique()
->map(fn($s) => is_numeric($s) ? (int) $s : $s)
->sort()
->values();
if ($sequences->isEmpty())
{
return response()->json([
'status_code' => 'ERROR',
'status_description' => 'No sequences found for the given plant.'
], 404);
}
return response()->json([
'status_code' => 'SUCCESS',
'status_description' => $sequences
], 200);
}
public function get_mfm_parameter(Request $request)
{
$expectedUser = env('API_AUTH_USER');
$expectedPw = env('API_AUTH_PW');
$header_auth = $request->header('Authorization');
$expectedToken = $expectedUser . ':' . $expectedPw;
if ("Bearer " . $expectedToken != $header_auth) {
return response()->json([
'status_code' => 'ERROR',
'status_description' => 'Invalid authorization token!'
], 403);
}
$plantCode = $request->header('plant-code');
$mfmParameterSeq = $request->header('mfm-meter-sequence');
if (!$plantCode) {
return response()->json([
'status_code' => 'ERROR',
'status_description' => "Plant Code value can't be empty"
], 404);
}
else if (!$mfmParameterSeq) {
return response()->json([
'status_code' => 'ERROR',
'status_description' => "Mfm Parameter sequence value can't be empty"
], 404);
}
$plant = Plant::where('code', $plantCode)->first();
if (!$plant)
{
return response()->json([
'status_code' => 'ERROR',
'status_description' => "Plant Code '{$plantCode}' not found!"
], 404);
}
// Find mfm_meter by sequence and plant_id
$mfmMeter = MfmMeter::where('sequence', trim($mfmParameterSeq))
->where('plant_id', $plant->id)
->first();
if (!$mfmMeter) {
return response()->json([
'status_code' => 'ERROR',
'status_description' => "MFM Meter with sequence '{$mfmParameterSeq}' not found for plant code '{$plantCode}'"
], 404);
}
// Now fetch mfm_parameters for this plant and meter
$mfmParameters = MfmParameter::where('plant_id', $plant->id)
->where('mfm_meter_id', $mfmMeter->id)
->get(['register_id', 'byte_to_convert', 'type_to_convert', 'decimal_to_display']);
$transformed = $mfmParameters->map(function ($item) {
$array = $item->toArray();
foreach ($array as $key => $value) {
if (is_null($value)) {
$array[$key] = "";
}
}
return $array;
});
//..if want to send all values in string
// $transformed = $mfmParameters->map(function ($item) {
// $array = $item->toArray();
// foreach ($array as $key => $value) {
// // Always cast to string (empty string if null)
// $array[$key] = is_null($value) ? "" : strval($value);
// }
// return $array;
// });
if ($transformed->isEmpty()) {
return response()->json([
'status_code' => 'ERROR',
'status_description' => "No MFM parameters found for the specified plant and meter."
], 404);
}
// Success: return list
return response()->json([
'status_code' => 'SUCCESS',
'status_description' => $transformed
], 200);
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*/
public function show(string $id)
{
//
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, string $id)
{
//
}
/**
* Remove the specified resource from storage.
*/
public function destroy(string $id)
{
//
}
}

View File

@@ -3,6 +3,7 @@
namespace App\Http\Controllers;
use App\Models\InvoiceValidation;
use App\Models\ModuleList;
use App\Models\Plant;
use Illuminate\Http\Request;
@@ -16,6 +17,62 @@ class ModuleInvoiceTypeController extends Controller
//
}
public function get_invoiceFilter(Request $request)
{
$expectedUser = env('API_AUTH_USER');
$expectedPw = env('API_AUTH_PW');
$header_auth = $request->header('Authorization');
$expectedToken = $expectedUser . ':' . $expectedPw;
if ("Bearer " . $expectedToken != $header_auth)
{
return response()->json([
'status_code' => 'ERROR',
'status_description' => 'Invalid authorization token!'
], 403);
}
$filterName = $request->header('filter-name');
if (empty($filterName))
{
return response()->json([
'status_code' => 'ERROR',
'status_description' => "Filter Name can't be empty!"
], 404);
}
$headerValue = $request->header('filter-name');
if ($headerValue != 'Filter List') {
return response()->json([
'status_code' => 'ERROR',
'status_description' => "Invalid value for 'module-name' header!"
], 404);
}
$uniqueModules = ModuleList::select('filter_name', 'created_at')
->orderBy('created_at', 'asc')
->get()
->unique('filter_name')
->pluck('filter_name')
->values();
if ($uniqueModules->isEmpty()) {
return response()->json([
'status_code' => 'ERROR',
'status_description' => 'Filter names not found'
], 404);
}
return response()->json([
'status_code' => 'SUCCESS',
'status_description' => $uniqueModules
], 200);
}
// public function get_invoiceCountData(Request $request)
// {
// $expectedUser = env('API_AUTH_USER');

View File

@@ -27,6 +27,126 @@ class StickerMasterController extends Controller
//
}
public function get_master_type(Request $request)
{
$expectedUser = env('API_AUTH_USER');
$expectedPw = env('API_AUTH_PW');
$header_auth = $request->header('Authorization');
$expectedToken = $expectedUser . ':' . $expectedPw;
if ("Bearer " . $expectedToken != $header_auth)
{
return response()->json([
'status_code' => 'ERROR',
'status_description' => 'Invalid authorization token!'
], 403);
}
$plantCode = $request->header('plant-code');
$itemCode = $request->header('item-code');
if ($plantCode == null || $plantCode == '')
{
return response()->json([
'status_code' => 'ERROR',
'status_description' => "Plant code can't be empty!"
], 400);
}
else if (Str::length($plantCode) < 4 || !is_numeric($plantCode) || !preg_match('/^[1-9]\d{3,}$/', $plantCode))
{
return response()->json([
'status_code' => 'ERROR',
'status_description' => "Invalid plant code found!"
], 400);
}
else if ($itemCode == null || $itemCode == '')
{
return response()->json([
'status_code' => 'ERROR',
'status_description' => "Item Code can't be empty!"
], 400);
}
else if (Str::length($itemCode) < 6 || !ctype_alnum($itemCode))
{
return response()->json([
'status_code' => 'ERROR',
'status_description' => "Invalid item code found!"
], 400);
}
$plant = Plant::where('code', $plantCode)->first();
if (!$plant) {
return response()->json([
'status_code' => 'ERROR',
'status_description' => "Plant not found!"
], 400);
}
$plantId = $plant->id;
$item = Item::where('code', $itemCode)->first();
if (!$item)
{
return response()->json([
'status_code' => 'ERROR',
'status_description' => "Item Code not found in item table!"
], 404);
}
$item = Item::where('plant_id', $plantId)->where('code', $itemCode)->first();
if (!$item)
{
return response()->json([
'status_code' => 'ERROR',
'status_description' => "Item Code not found in item table for the plant : '$plant->name'!"
], 404);
}
$stickerMaster = StickerMaster::where('plant_id', $plantId)->where('item_id', $item->id)->first();
if (!$stickerMaster)
{
return response()->json([
'status_code' => 'ERROR',
'status_description' => "Item Code not found in sticker master table for the plant : '$plant->name'!"
], 404);
}
$serial_number_motor = $stickerMaster->serial_number_motor ?? null;
$serial_number_pump = $stickerMaster->serial_number_pump ?? null;
if ($serial_number_motor != 1 && $serial_number_pump != 1) {
return response()->json([
'status_code' => 'ERROR',
'status_description' => "The Item Code '$itemCode' does not have serial pump or serial motor selected!"
], 400);
}
$serialInfo = [];
if ($serial_number_motor == 1 && $serial_number_pump == 1)
{
$serialInfo[] = 'Serial Pump';
}
else
{
if ($serial_number_motor == 1) {
$serialInfo[] = 'Serial Motor';
}
if ($serial_number_pump == 1) {
$serialInfo[] = 'Serial Pump';
}
}
$output = [
'status_code' => 'SUCCESS',
'status_description' => implode(', ', $serialInfo),
];
return response()->json($output, 200);
}
/**
* Display the specified resource.
*/

51
app/Models/MfmReading.php Normal file
View File

@@ -0,0 +1,51 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes;
class MfmReading extends Model
{
use SoftDeletes;
protected $fillable = [
'plant_id',
'mfm_meter_id',
'apparent_energy_received',
'reactive_energy_received',
'active_energy_received',
'active_power_r',
'active_power_y',
'active_power_b',
'active_power_total',
'voltage_ry',
'voltage_yb',
'voltage_br',
'current_r',
'current_y',
'current_b',
'current_n',
'voltage_r_n',
'voltage_y_n',
'voltage_b_n',
'frequency',
'power_factor_r',
'power_factor_y',
'power_factor_b',
'power_factor_total',
'created_at',
'updated_at',
];
public function plant(): BelongsTo
{
return $this->belongsTo(Plant::class);
}
public function mfmMeter(): BelongsTo
{
return $this->belongsTo(MfmMeter::class, 'mfm_meter_id');
}
}

View File

@@ -0,0 +1,106 @@
<?php
namespace App\Policies;
use Illuminate\Auth\Access\Response;
use App\Models\MfmReading;
use App\Models\User;
class MfmReadingPolicy
{
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
{
return $user->checkPermissionTo('view-any MfmReading');
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, MfmReading $mfmreading): bool
{
return $user->checkPermissionTo('view MfmReading');
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
return $user->checkPermissionTo('create MfmReading');
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, MfmReading $mfmreading): bool
{
return $user->checkPermissionTo('update MfmReading');
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, MfmReading $mfmreading): bool
{
return $user->checkPermissionTo('delete MfmReading');
}
/**
* Determine whether the user can delete any models.
*/
public function deleteAny(User $user): bool
{
return $user->checkPermissionTo('delete-any MfmReading');
}
/**
* Determine whether the user can restore the model.
*/
public function restore(User $user, MfmReading $mfmreading): bool
{
return $user->checkPermissionTo('restore MfmReading');
}
/**
* Determine whether the user can restore any models.
*/
public function restoreAny(User $user): bool
{
return $user->checkPermissionTo('restore-any MfmReading');
}
/**
* Determine whether the user can replicate the model.
*/
public function replicate(User $user, MfmReading $mfmreading): bool
{
return $user->checkPermissionTo('replicate MfmReading');
}
/**
* Determine whether the user can reorder the models.
*/
public function reorder(User $user): bool
{
return $user->checkPermissionTo('reorder MfmReading');
}
/**
* Determine whether the user can permanently delete the model.
*/
public function forceDelete(User $user, MfmReading $mfmreading): bool
{
return $user->checkPermissionTo('force-delete MfmReading');
}
/**
* Determine whether the user can permanently delete any models.
*/
public function forceDeleteAny(User $user): bool
{
return $user->checkPermissionTo('force-delete-any MfmReading');
}
}

View File

@@ -0,0 +1,65 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
$sql = <<<'SQL'
CREATE TABLE mfm_readings (
id BIGINT GENERATED always AS IDENTITY PRIMARY KEY,
plant_id BIGINT NOT NULL,
mfm_meter_id BIGINT NOT NULL,
apparent_energy_received TEXT DEFAULT NULL,
reactive_energy_received TEXT DEFAULT NULL,
active_energy_received TEXT DEFAULT NULL,
active_power_r TEXT DEFAULT NULL,
active_power_y TEXT DEFAULT NULL,
active_power_b TEXT DEFAULT NULL,
active_power_total TEXT DEFAULT NULL,
voltage_ry TEXT DEFAULT NULL,
voltage_yb TEXT DEFAULT NULL,
voltage_br TEXT DEFAULT NULL,
current_r TEXT DEFAULT NULL,
current_y TEXT DEFAULT NULL,
current_b TEXT DEFAULT NULL,
current_n TEXT DEFAULT NULL,
voltage_r_n TEXT DEFAULT NULL,
voltage_y_n TEXT DEFAULT NULL,
voltage_b_n TEXT DEFAULT NULL,
frequency TEXT DEFAULT NULL,
power_factor_r TEXT DEFAULT NULL,
power_factor_y TEXT DEFAULT NULL,
power_factor_b TEXT DEFAULT NULL,
power_factor_total TEXT DEFAULT NULL,
created_at TIMESTAMP NOT NULL DEFAULT NOW(),
updated_at TIMESTAMP NOT NULL DEFAULT NOW(),
deleted_at TIMESTAMP,
UNIQUE (plant_id, created_at, mfm_meter_id),
FOREIGN KEY (plant_id) REFERENCES plants (id),
FOREIGN KEY (mfm_meter_id) REFERENCES mfm_meters (id)
);
SQL;
DB::statement($sql);
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('mfm_readings');
}
};

View File

@@ -124,6 +124,12 @@ class PermissionSeeder extends Seeder
Permission::updateOrCreate(['name' => 'create serial locator page']);
Permission::updateOrCreate(['name' => 'view reprint pallet number']);
Permission::updateOrCreate(['name' => 'view import mfm parameter']);
Permission::updateOrCreate(['name' => 'view export mfm parameter']);
Permission::updateOrCreate(['name' => 'view import mfm meter']);
Permission::updateOrCreate(['name' => 'view export mfm meter']);
//Dashboard Permissions
Permission::updateOrCreate(['name' => 'view invoice dashboard']); //invoice dashboard
Permission::updateOrCreate(['name' => 'view production hourly count dashboard']); //hourly production
@@ -134,6 +140,8 @@ class PermissionSeeder extends Seeder
Permission::updateOrCreate(['name' => 'view guard patrol day count dashboard']);
Permission::updateOrCreate(['name' => 'view guard patrol hourly count dashboard']);
Permission::updateOrCreate(['name' => 'view invoice serial quantity dashboard']);
Permission::updateOrCreate(['name' => 'create production sticker reprint page']);
//Send To Sap Permissions
Permission::updateOrCreate(['name' => 'view quality data send to sap']);

View File

@@ -1,6 +1,7 @@
<?php
use App\Http\Controllers\MachineController;
use App\Http\Controllers\MfmParameterController;
use App\Http\Controllers\ModuleChartController;
use App\Http\Controllers\ModuleController;
use App\Http\Controllers\ModuleFGLineController;
@@ -20,6 +21,7 @@ use App\Http\Controllers\ModuleProductionOrderDataController;
use App\Http\Controllers\ObdController;
use App\Http\Controllers\PalletController;
use App\Http\Controllers\PlantController;
use App\Http\Controllers\ProductionStickerReprintController;
use App\Http\Controllers\StickerMasterController;
use App\Http\Controllers\TestingPanelController;
use App\Http\Controllers\UserController;
@@ -76,8 +78,12 @@ Route::get('machine/get-all-data', [MachineController::class, 'get_all_data']);
Route::get('laser/item/get-master-data', [StickerMasterController::class, 'get_master']);
Route::get('sticker/get-master-type-data', [StickerMasterController::class, 'get_master_type']);
Route::get('/download-qr-pdf/{palletNo}', [PalletController::class, 'downloadQrPdf'])->name('download-qr-pdf');
Route::get('/download-qr1-pdf/{palletNo}', [ProductionStickerReprintController::class, 'downloadQrPdf'])->name('download-qr1-pdf');
//Production Dashboard Controller
Route::get('get/module-name/data', [ModuleController::class, 'get_module']);
@@ -104,6 +110,8 @@ Route::get('get/module-production-linestop/data', [ModuleProductionLineStopContr
Route::get('get/module-invoice-type/data', [ModuleInvoiceDataController::class, 'get_invoiceData']);
Route::get('get/module-invoice-filter/data', [ModuleInvoiceTypeController::class, 'get_invoiceFilter']);
Route::get('get/module-invoice-count/data', [ModuleInvoiceTypeController::class, 'get_invoiceCountData']);
Route::get('get/module-invoice-quantity/data', [ModuleInvoiceQuantityController::class, 'get_invoiceQuantityData']);
@@ -115,3 +123,9 @@ Route::get('get/module-guard-day/data', [ModuleGuardDayCountController::class, '
Route::get('get/module-guard-hourly/data', [ModuleGuardHourlyCountController::class, 'get_guardDay_hourlyData']);
Route::get('get/module-guard-name/data', [ModuleGuardNameController::class, 'get_guard_name_Data']);
//Power house controller
Route::get('get/mfm-parameter/data', [MfmParameterController::class, 'get_mfm_parameter']);
Route::get('get/mfm-parameterid/data', [MfmParameterController::class, 'get_mfm_parameterid']);