Added panel gr master logic and quantity logic in panel box validation
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 15s
Gemini PR Review / Gemini PR Review (pull_request) Failing after 16s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 16s
Laravel Pint / pint (pull_request) Successful in 2m30s
Laravel Larastan / larastan (pull_request) Failing after 4m12s
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 15s
Gemini PR Review / Gemini PR Review (pull_request) Failing after 16s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 16s
Laravel Pint / pint (pull_request) Successful in 2m30s
Laravel Larastan / larastan (pull_request) Failing after 4m12s
This commit is contained in:
@@ -17,6 +17,7 @@ use App\Models\Item;
|
|||||||
use App\Models\Line;
|
use App\Models\Line;
|
||||||
use App\Models\Plant;
|
use App\Models\Plant;
|
||||||
use App\Models\StickerMaster;
|
use App\Models\StickerMaster;
|
||||||
|
use App\Models\PanelGrMaster;
|
||||||
use Filament\Notifications\Notification;
|
use Filament\Notifications\Notification;
|
||||||
use Illuminate\Support\Facades\Mail;
|
use Illuminate\Support\Facades\Mail;
|
||||||
use App\Mail\InvalidQualityMail;
|
use App\Mail\InvalidQualityMail;
|
||||||
@@ -186,6 +187,7 @@ class PanelBoxValidationResource extends Resource
|
|||||||
$set('validation1_image_url', null);
|
$set('validation1_image_url', null);
|
||||||
$set('serialPanelConfirmed', false);
|
$set('serialPanelConfirmed', false);
|
||||||
|
|
||||||
|
|
||||||
if (! $pId) {
|
if (! $pId) {
|
||||||
$set('pqLineError', 'Please select a line.');
|
$set('pqLineError', 'Please select a line.');
|
||||||
} else {
|
} else {
|
||||||
@@ -228,7 +230,6 @@ class PanelBoxValidationResource extends Resource
|
|||||||
// Proceed with validation logic for new scanned QR code
|
// Proceed with validation logic for new scanned QR code
|
||||||
if (! $state || trim($state) == '') {
|
if (! $state || trim($state) == '') {
|
||||||
$set('validationError', null);
|
$set('validationError', null);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -276,48 +277,105 @@ class PanelBoxValidationResource extends Resource
|
|||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// }
|
|
||||||
|
|
||||||
|
$existInMasterPo = PanelGrMaster::where('document_number', $pOrder)->where('plant_id', $plantId)->first();
|
||||||
|
|
||||||
|
if(!$existInMasterPo){
|
||||||
|
Notification::make()
|
||||||
|
->title('Panel GR Record')
|
||||||
|
->body("Production Order (Or) Doc No'{$pOrder}' not found against plant code '{$plaCode}' in Panel Gr master.")
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$iId = Item::where('code', $iCode)->where('plant_id', $plantId)->first();
|
||||||
|
|
||||||
|
if(!$iId){
|
||||||
|
Notification::make()
|
||||||
|
->title('Item not found')
|
||||||
|
->body("Item code'{$iCode}' not found against plant code '{$plaCode}' in item master.")
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$existInMaster = PanelGrMaster::where('document_number', $pOrder)->where('item_id', $iId->id)->where('plant_id', $plantId)->first();
|
||||||
|
|
||||||
|
if(!$existInMaster){
|
||||||
|
Notification::make()
|
||||||
|
->title('Panel GR Record Not Found')
|
||||||
|
->body("No Panel GR record found for Production Order (Or) Doc No'{$pOrder}' and for Item '{$iCode}'.")
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if($existInMaster->supplier_number == '' || $existInMaster->supplier_number == null){
|
||||||
|
Notification::make()
|
||||||
|
->title('Panel GR Found')
|
||||||
|
->body("Supplier Number cannot be empty Panel GR record found for Production Order '{$pOrder}' and Item '{$iCode}'.")
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// else if($existInMaster->supplier_number != $supplier){
|
||||||
|
// Notification::make()
|
||||||
|
// ->title('Panel GR Found')
|
||||||
|
// ->body("Supplier code not match for Production Order (Or) Doc No'{$pOrder}' and Item '{$iCode}'.")
|
||||||
|
// ->danger()
|
||||||
|
// ->send();
|
||||||
|
// $set('item_id', null);
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
else if($existInMaster->quantity == '' || $existInMaster->quantity == null){
|
||||||
|
Notification::make()
|
||||||
|
->title('Panel GR Found')
|
||||||
|
->body("Quantity cannot be empty Panel GR record found for Production Order '{$pOrder}' and Item '{$iCode}'.")
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if($existInMaster->invoice_number == '' || $existInMaster->invoice_number == null){
|
||||||
|
Notification::make()
|
||||||
|
->title('Panel GR Found')
|
||||||
|
->body("Invoice Number cannot be empty Panel GR record found for Production Order '{$pOrder}' and Item '{$iCode}'.")
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$sticker = StickerMaster::where('plant_id', $plantId)->where('item_id', $iId->id)->first();
|
||||||
|
|
||||||
|
if(!$sticker){
|
||||||
|
Notification::make()
|
||||||
|
->title('Unknown Item Code')
|
||||||
|
->body("Item code not found '{$iId->code}' in sticker master.")
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
}
|
||||||
|
|
||||||
|
$existQuanInPanel = PanelBoxValidation::where('plant_id', $plantId)->where('production_order', $pOrder)->where('sticker_master_id', $sticker->id)->count();
|
||||||
|
|
||||||
|
if ($existQuanInPanel >= (int) $existInMaster->quantity) {
|
||||||
|
Notification::make()
|
||||||
|
->title('Quantity Completed')
|
||||||
|
->body("Panel box quantity '{$existQuanInPanel}' exceeds the available quantity '{$existInMaster->quantity}' in Panel GR Master for Production Order '{$pOrder}' and Item '{$iCode}'.")
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$set('validationError', null);
|
$set('validationError', null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// if ($state && str_contains($state, '|')) {
|
|
||||||
|
|
||||||
// $parts = explode('|', $state);
|
|
||||||
|
|
||||||
// $itemCode = trim($parts[0]); // Extract item code // 123456|123456789
|
|
||||||
|
|
||||||
// $serialNumber = trim($parts[1]);
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// // $parts = explode('/', $state);
|
|
||||||
|
|
||||||
// // $itemCode = trim($parts[1] ?? ''); // item code
|
|
||||||
// // $serialNumber = trim($parts[2] ?? ''); // serial number
|
|
||||||
|
|
||||||
// $parts = array_map('trim', explode('/', $state));
|
|
||||||
|
|
||||||
// // Expected format: 121245/165467/2606/1002634
|
|
||||||
// if (count($parts) != 4) {
|
|
||||||
// Notification::make()
|
|
||||||
// ->title('Invalid QR Format')
|
|
||||||
// ->body('Expected format: plantcode/itemcode/yearmm/serialnumber')
|
|
||||||
// ->danger()
|
|
||||||
// ->send();
|
|
||||||
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// $serialNumber = end($parts); // last part
|
|
||||||
|
|
||||||
// $itemCode = $parts[1] ?? '';
|
|
||||||
// }
|
|
||||||
|
|
||||||
// Store serial number before resetting fields
|
|
||||||
|
|
||||||
|
|
||||||
if (str_contains($state, '|')) {
|
if (str_contains($state, '|')) {
|
||||||
|
|
||||||
$parts = array_map('trim', explode('|', $state));
|
$parts = array_map('trim', explode('|', $state));
|
||||||
@@ -351,6 +409,101 @@ class PanelBoxValidationResource extends Resource
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$existInMasterPo = PanelGrMaster::where('document_number', $pOrder)->where('plant_id', $plantId)->first();
|
||||||
|
|
||||||
|
if(!$existInMasterPo){
|
||||||
|
Notification::make()
|
||||||
|
->title('Panel GR Record')
|
||||||
|
->body("Production Order (Or) Doc No'{$pOrder}' not found against plant code '{$plaCode}' in Panel Gr master.")
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$iId = Item::where('code', $itemCode)->where('plant_id', $plantId)->first();
|
||||||
|
|
||||||
|
if(!$iId){
|
||||||
|
Notification::make()
|
||||||
|
->title('Item not found')
|
||||||
|
->body("Item code'{$itemCode}' not found against plant code '{$plaCode}' in item master.")
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$existInMaster = PanelGrMaster::where('document_number', $pOrder)->where('item_id', $iId->id)->where('plant_id', $plantId)->first();
|
||||||
|
|
||||||
|
if(!$existInMaster){
|
||||||
|
Notification::make()
|
||||||
|
->title('Panel GR Record Not Found')
|
||||||
|
->body("No Panel GR record found for Production Order (Or) Doc No'{$pOrder}' and for Item '{$itemCode}'.")
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if($existInMaster->supplier_number == '' || $existInMaster->supplier_number == null){
|
||||||
|
Notification::make()
|
||||||
|
->title('Panel GR Found')
|
||||||
|
->body("Supplier Number cannot be empty Panel GR record found for Production Order '{$pOrder}' and Item '{$itemCode}'.")
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// else if($existInMaster->supplier_number != $supplier){
|
||||||
|
// Notification::make()
|
||||||
|
// ->title('Panel GR Found')
|
||||||
|
// ->body("Supplier code not match for Production Order (Or) Doc No'{$pOrder}' and Item '{$iCode}'.")
|
||||||
|
// ->danger()
|
||||||
|
// ->send();
|
||||||
|
// $set('item_id', null);
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
else if($existInMaster->quantity == '' || $existInMaster->quantity == null){
|
||||||
|
Notification::make()
|
||||||
|
->title('Panel GR Found')
|
||||||
|
->body("Quantity cannot be empty Panel GR record found for Production Order '{$pOrder}' and Item '{$itemCode}'.")
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if($existInMaster->invoice_number == '' || $existInMaster->invoice_number == null){
|
||||||
|
Notification::make()
|
||||||
|
->title('Panel GR Found')
|
||||||
|
->body("Invoice Number cannot be empty Panel GR record found for Production Order '{$pOrder}' and Item '{$itemCode}'.")
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$sticker = StickerMaster::where('plant_id', $plantId)->where('item_id', $iId->id)->first();
|
||||||
|
|
||||||
|
if(!$sticker){
|
||||||
|
Notification::make()
|
||||||
|
->title('Unknown Item Code')
|
||||||
|
->body("Item code not found '{$iId->code}' in sticker master.")
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
}
|
||||||
|
|
||||||
|
$existQuanInPanel = PanelBoxValidation::where('plant_id', $plantId)->where('production_order', $pOrder)->where('sticker_master_id', $sticker->id)->count();
|
||||||
|
|
||||||
|
if ($existQuanInPanel >= (int) $existInMaster->quantity) {
|
||||||
|
Notification::make()
|
||||||
|
->title('Quantity Completed')
|
||||||
|
->body("Panel box quantity '{$existQuanInPanel}' exceeds the available quantity '{$existInMaster->quantity}' in Panel GR Master for Production Order '{$pOrder}' and Item '{$itemCode}'.")
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
elseif (str_contains($state, '/'))
|
elseif (str_contains($state, '/'))
|
||||||
{
|
{
|
||||||
@@ -372,6 +525,12 @@ class PanelBoxValidationResource extends Resource
|
|||||||
$yearMonth = $parts[2];
|
$yearMonth = $parts[2];
|
||||||
$serialNumber = $parts[3];
|
$serialNumber = $parts[3];
|
||||||
|
|
||||||
|
$supplier = $parts[0];
|
||||||
|
$panelBoxCode = $parts[1];
|
||||||
|
$yearMonth = $parts[2];
|
||||||
|
$serialNumber = $parts[3];
|
||||||
|
$panelBoxSerialNo = $parts[2] . $parts[3];
|
||||||
|
|
||||||
if($serialNumber == '' || $serialNumber == null){
|
if($serialNumber == '' || $serialNumber == null){
|
||||||
Notification::make()
|
Notification::make()
|
||||||
->title('Unknown Serial number')
|
->title('Unknown Serial number')
|
||||||
@@ -382,20 +541,110 @@ class PanelBoxValidationResource extends Resource
|
|||||||
$set('item_id', null);
|
$set('item_id', null);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
elseif (! ctype_alnum($serialNumber)) {
|
if (! ctype_alnum($serialNumber)) {
|
||||||
$set('validationError', 'Serial Number should contain alpha-numeric values.');
|
$set('validationError', 'Serial Number should contain alpha-numeric values.');
|
||||||
$set('item_id', null);
|
$set('item_id', null);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// else if($plantCode != $plaCode){
|
|
||||||
// Notification::make()
|
$existInMasterPo = PanelGrMaster::where('document_number', $pOrder)->where('plant_id', $plantId)->first();
|
||||||
// ->title('Invalid Plant Code')
|
|
||||||
// ->body("Scanned plant code doesn't match the selected plant.")
|
if(!$existInMasterPo){
|
||||||
// ->danger()
|
Notification::make()
|
||||||
// ->send();
|
->title('Panel GR Record')
|
||||||
// $set('item_id', null);
|
->body("Production Order (Or) Doc No'{$pOrder}' not found against plant code '{$plaCode}' in Panel Gr master.")
|
||||||
// return;
|
->danger()
|
||||||
// }
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$iId = Item::where('code', $itemCode)->where('plant_id', $plantId)->first();
|
||||||
|
|
||||||
|
if(!$iId){
|
||||||
|
Notification::make()
|
||||||
|
->title('Item not found')
|
||||||
|
->body("Item code'{$itemCode}' not found against plant code '{$plaCode}' in item master.")
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$existInMaster = PanelGrMaster::where('document_number', $pOrder)->where('item_id', $iId->id)->where('plant_id', $plantId)->first();
|
||||||
|
|
||||||
|
if(!$existInMaster){
|
||||||
|
Notification::make()
|
||||||
|
->title('Panel GR Record Not Found')
|
||||||
|
->body("No Panel GR record found for Production Order (Or) Doc No'{$pOrder}' and for Item '{$itemCode}'.")
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if($existInMaster->supplier_number == '' || $existInMaster->supplier_number == null){
|
||||||
|
Notification::make()
|
||||||
|
->title('Panel GR Found')
|
||||||
|
->body("Supplier Number cannot be empty Panel GR record found for Production Order '{$pOrder}' and Item '{$itemCode}'.")
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if($existInMaster->supplier_number != $supplier){
|
||||||
|
Notification::make()
|
||||||
|
->title('Panel GR Found')
|
||||||
|
->body("Supplier code not match for Production Order (Or) Doc No'{$pOrder}' and Item '{$itemCode}'.")
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if($existInMaster->quantity == '' || $existInMaster->quantity == null){
|
||||||
|
Notification::make()
|
||||||
|
->title('Panel GR Found')
|
||||||
|
->body("Quantity cannot be empty Panel GR record found for Production Order '{$pOrder}' and Item '{$itemCode}'.")
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if($existInMaster->invoice_number == '' || $existInMaster->invoice_number == null){
|
||||||
|
Notification::make()
|
||||||
|
->title('Panel GR Found')
|
||||||
|
->body("Invoice Number cannot be empty Panel GR record found for Production Order '{$pOrder}' and Item '{$itemCode}'.")
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$sticker = StickerMaster::where('plant_id', $plantId)->where('item_id', $iId->id)->first();
|
||||||
|
|
||||||
|
if(!$sticker){
|
||||||
|
Notification::make()
|
||||||
|
->title('Unknown Item Code')
|
||||||
|
->body("Item code not found '{$iId->code}' in sticker master.")
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
}
|
||||||
|
|
||||||
|
$existQuanInPanel = PanelBoxValidation::where('plant_id', $plantId)->where('production_order', $pOrder)->where('sticker_master_id', $sticker->id)->count();
|
||||||
|
|
||||||
|
if ($existQuanInPanel >= (int) $existInMaster->quantity) {
|
||||||
|
Notification::make()
|
||||||
|
->title('Quantity Completed')
|
||||||
|
->body("Panel box quantity '{$existQuanInPanel}' exceeds the available quantity '{$existInMaster->quantity}' in Panel GR Master for Production Order '{$pOrder}' and Item '{$itemCode}'.")
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$set('panel_box_supplier', $supplier);
|
||||||
|
$set('panel_box_serial_number', $panelBoxSerialNo);
|
||||||
|
$set('panel_box_code', $panelBoxCode);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
||||||
@@ -431,9 +680,6 @@ class PanelBoxValidationResource extends Resource
|
|||||||
$set('validationError', null);
|
$set('validationError', null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$plantId = $get('plant_id'); // Get selected plant
|
|
||||||
|
|
||||||
if (! $plantId) {
|
if (! $plantId) {
|
||||||
$set('validationError', 'Please select a plant first.');
|
$set('validationError', 'Please select a plant first.');
|
||||||
$set('item_id', null);
|
$set('item_id', null);
|
||||||
@@ -593,6 +839,7 @@ class PanelBoxValidationResource extends Resource
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
$set('serial_number', $serialNumber);
|
$set('serial_number', $serialNumber);
|
||||||
|
|
||||||
// Find item based on scanned code
|
// Find item based on scanned code
|
||||||
$item = Item::where('code', $itemCode)
|
$item = Item::where('code', $itemCode)
|
||||||
->where('plant_id', $plantId)->first();
|
->where('plant_id', $plantId)->first();
|
||||||
@@ -677,6 +924,12 @@ class PanelBoxValidationResource extends Resource
|
|||||||
->reactive(),
|
->reactive(),
|
||||||
Forms\Components\Hidden::make('serial_number')
|
Forms\Components\Hidden::make('serial_number')
|
||||||
->reactive(),
|
->reactive(),
|
||||||
|
Forms\Components\Hidden::make('panel_box_supplier')
|
||||||
|
->reactive(),
|
||||||
|
Forms\Components\Hidden::make('panel_box_serial_number')
|
||||||
|
->reactive(),
|
||||||
|
Forms\Components\Hidden::make('panel_box_code')
|
||||||
|
->reactive(),
|
||||||
Forms\Components\TextInput::make('serial_number_motor_qr')
|
Forms\Components\TextInput::make('serial_number_motor_qr')
|
||||||
->label('Serial Number')
|
->label('Serial Number')
|
||||||
->reactive()
|
->reactive()
|
||||||
@@ -722,6 +975,29 @@ class PanelBoxValidationResource extends Resource
|
|||||||
$set('serialPanelError', null);
|
$set('serialPanelError', null);
|
||||||
$set('serial_number_panel_qr', $extracted);
|
$set('serial_number_panel_qr', $extracted);
|
||||||
$set('serial_number_panel', '1');
|
$set('serial_number_panel', '1');
|
||||||
|
|
||||||
|
$panelParts = array_map('trim', explode('/', $state));
|
||||||
|
|
||||||
|
if (count($panelParts) != 4) {
|
||||||
|
|
||||||
|
Notification::make()
|
||||||
|
->title('Invalid QR Format')
|
||||||
|
->body('Expected format: plantcode/itemcode/yearmm/serialnumber')
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$supplier = $panelParts[0];
|
||||||
|
$panelBoxCode = $panelParts[1];
|
||||||
|
$yearMonth = $panelParts[2];
|
||||||
|
$serialNumber = $panelParts[3];
|
||||||
|
$panelBoxSerialNo = $yearMonth . $serialNumber;
|
||||||
|
|
||||||
|
$set('panel_box_supplier', $supplier);
|
||||||
|
$set('panel_box_serial_number', $panelBoxSerialNo);
|
||||||
|
$set('panel_box_code', $panelBoxCode);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -774,6 +1050,28 @@ class PanelBoxValidationResource extends Resource
|
|||||||
$set('packSlipPanelError', null);
|
$set('packSlipPanelError', null);
|
||||||
$set('pack_slip_panel_qr', $extracted);
|
$set('pack_slip_panel_qr', $extracted);
|
||||||
$set('pack_slip_panel', '1');
|
$set('pack_slip_panel', '1');
|
||||||
|
$panelParts = array_map('trim', explode('/', $state));
|
||||||
|
|
||||||
|
if (count($panelParts) != 4) {
|
||||||
|
|
||||||
|
Notification::make()
|
||||||
|
->title('Invalid QR Format')
|
||||||
|
->body('Expected format: plantcode/itemcode/yearmm/serialnumber')
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$supplier = $panelParts[0];
|
||||||
|
$panelBoxCode = $panelParts[1];
|
||||||
|
$yearMonth = $panelParts[2];
|
||||||
|
$serialNumber = $panelParts[3];
|
||||||
|
$panelBoxSerialNo = $yearMonth . $serialNumber;
|
||||||
|
|
||||||
|
$set('panel_box_supplier', $supplier);
|
||||||
|
$set('panel_box_serial_number', $panelBoxSerialNo);
|
||||||
|
$set('panel_box_code', $panelBoxCode);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -827,6 +1125,28 @@ class PanelBoxValidationResource extends Resource
|
|||||||
$set('namePlatePanelError', null);
|
$set('namePlatePanelError', null);
|
||||||
$set('name_plate_panel_qr', $extracted);
|
$set('name_plate_panel_qr', $extracted);
|
||||||
$set('name_plate_panel', '1');
|
$set('name_plate_panel', '1');
|
||||||
|
$panelParts = array_map('trim', explode('/', $state));
|
||||||
|
|
||||||
|
if (count($panelParts) != 4) {
|
||||||
|
|
||||||
|
Notification::make()
|
||||||
|
->title('Invalid QR Format')
|
||||||
|
->body('Expected format: plantcode/itemcode/yearmm/serialnumber')
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$supplier = $panelParts[0];
|
||||||
|
$panelBoxCode = $panelParts[1];
|
||||||
|
$yearMonth = $panelParts[2];
|
||||||
|
$serialNumber = $panelParts[3];
|
||||||
|
$panelBoxSerialNo = $yearMonth . $serialNumber;
|
||||||
|
|
||||||
|
$set('panel_box_supplier', $supplier);
|
||||||
|
$set('panel_box_serial_number', $panelBoxSerialNo);
|
||||||
|
$set('panel_box_code', $panelBoxCode);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -880,6 +1200,28 @@ class PanelBoxValidationResource extends Resource
|
|||||||
$set('tubeStickerPanelError', null);
|
$set('tubeStickerPanelError', null);
|
||||||
$set('tube_sticker_panel_qr', $extracted);
|
$set('tube_sticker_panel_qr', $extracted);
|
||||||
$set('tube_sticker_panel', '1');
|
$set('tube_sticker_panel', '1');
|
||||||
|
$panelParts = array_map('trim', explode('/', $state));
|
||||||
|
|
||||||
|
if (count($panelParts) != 4) {
|
||||||
|
|
||||||
|
Notification::make()
|
||||||
|
->title('Invalid QR Format')
|
||||||
|
->body('Expected format: plantcode/itemcode/yearmm/serialnumber')
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$supplier = $panelParts[0];
|
||||||
|
$panelBoxCode = $panelParts[1];
|
||||||
|
$yearMonth = $panelParts[2];
|
||||||
|
$serialNumber = $panelParts[3];
|
||||||
|
$panelBoxSerialNo = $yearMonth . $serialNumber;
|
||||||
|
|
||||||
|
$set('panel_box_supplier', $supplier);
|
||||||
|
$set('panel_box_serial_number', $panelBoxSerialNo);
|
||||||
|
$set('panel_box_code', $panelBoxCode);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -934,6 +1276,28 @@ class PanelBoxValidationResource extends Resource
|
|||||||
$set('warrantyCardPanelError', null);
|
$set('warrantyCardPanelError', null);
|
||||||
$set('warranty_card_qr', $extracted);
|
$set('warranty_card_qr', $extracted);
|
||||||
$set('warranty_card_panel', '1');
|
$set('warranty_card_panel', '1');
|
||||||
|
$panelParts = array_map('trim', explode('/', $state));
|
||||||
|
|
||||||
|
if (count($panelParts) != 4) {
|
||||||
|
|
||||||
|
Notification::make()
|
||||||
|
->title('Invalid QR Format')
|
||||||
|
->body('Expected format: plantcode/itemcode/yearmm/serialnumber')
|
||||||
|
->danger()
|
||||||
|
->send();
|
||||||
|
$set('item_id', null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$supplier = $panelParts[0];
|
||||||
|
$panelBoxCode = $panelParts[1];
|
||||||
|
$yearMonth = $panelParts[2];
|
||||||
|
$serialNumber = $panelParts[3];
|
||||||
|
$panelBoxSerialNo = $yearMonth . $serialNumber;
|
||||||
|
|
||||||
|
$set('panel_box_supplier', $supplier);
|
||||||
|
$set('panel_box_serial_number', $panelBoxSerialNo);
|
||||||
|
$set('panel_box_code', $panelBoxCode);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -1266,6 +1630,11 @@ class PanelBoxValidationResource extends Resource
|
|||||||
->alignCenter()
|
->alignCenter()
|
||||||
->searchable()
|
->searchable()
|
||||||
->sortable(),
|
->sortable(),
|
||||||
|
Tables\Columns\TextColumn::make('production_order')
|
||||||
|
->label('Production Order/Doc No')
|
||||||
|
->alignCenter()
|
||||||
|
->searchable()
|
||||||
|
->sortable(),
|
||||||
Tables\Columns\TextColumn::make('serial_number')
|
Tables\Columns\TextColumn::make('serial_number')
|
||||||
->label('Serial Number')
|
->label('Serial Number')
|
||||||
->alignCenter()
|
->alignCenter()
|
||||||
@@ -1321,6 +1690,21 @@ class PanelBoxValidationResource extends Resource
|
|||||||
->alignCenter()
|
->alignCenter()
|
||||||
->searchable()
|
->searchable()
|
||||||
->sortable(),
|
->sortable(),
|
||||||
|
Tables\Columns\TextColumn::make('panel_box_supplier')
|
||||||
|
->label('Panel Box Supplier')
|
||||||
|
->alignCenter()
|
||||||
|
->searchable()
|
||||||
|
->sortable(),
|
||||||
|
Tables\Columns\TextColumn::make('panel_box_serial_number')
|
||||||
|
->label('Panel Box Serial Number')
|
||||||
|
->alignCenter()
|
||||||
|
->searchable()
|
||||||
|
->sortable(),
|
||||||
|
Tables\Columns\TextColumn::make('panel_box_code')
|
||||||
|
->label('Panel Box Code')
|
||||||
|
->alignCenter()
|
||||||
|
->searchable()
|
||||||
|
->sortable(),
|
||||||
Tables\Columns\TextColumn::make('created_at')
|
Tables\Columns\TextColumn::make('created_at')
|
||||||
->label('Created At')
|
->label('Created At')
|
||||||
->alignCenter()
|
->alignCenter()
|
||||||
|
|||||||
Reference in New Issue
Block a user