From 0cc4f4974299e7227676a3c368c3e2da97ea1207 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Mon, 24 Aug 2026 17:12:00 +0530 Subject: [PATCH] added logic to check data exist same record in panel gr master --- .../Pages/CreatePanelGrMaster.php | 47 +++++++++++-------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/app/Filament/Resources/PanelGrMasterResource/Pages/CreatePanelGrMaster.php b/app/Filament/Resources/PanelGrMasterResource/Pages/CreatePanelGrMaster.php index 714e049..e71cace 100644 --- a/app/Filament/Resources/PanelGrMasterResource/Pages/CreatePanelGrMaster.php +++ b/app/Filament/Resources/PanelGrMasterResource/Pages/CreatePanelGrMaster.php @@ -13,26 +13,33 @@ class CreatePanelGrMaster extends CreateRecord { protected static string $resource = PanelGrMasterResource::class; - // protected function mutateFormDataBeforeCreate(array $data): array - // { - // $exists = PanelGrMaster::where('plant_id', $data['plant_id']) - // ->where('item_id', $data['item_id']) - // ->where('document_number', $data['document_number']) - // ->where('invoice_number', $data['invoice_number']) - // ->where('supplier_number', $data['supplier_number']) - // ->exists(); + protected function mutateFormDataBeforeCreate(array $data): array + { + $exists = PanelGrMaster::where('plant_id', $data['plant_id']) + ->where('item_id', $data['item_id']) + ->where('document_number', $data['document_number']) + ->where('invoice_number', $data['invoice_number']) + ->where('supplier_number', $data['supplier_number']) + ->where('inspection_lot_number', $data['inspection_lot_number']) + ->first(); - // if ($exists) { - // Notification::make() - // ->title('Duplicate Record') - // ->body('This combination already exists in Master.') - // ->danger() - // ->send(); - // throw ValidationException::withMessages([ - // 'item_id' => 'This combination already exists in Master.', - // ]); - // } + if ($exists) { + $message = 'Duplicate record found. ' + . 'Document Number: ' . $data['document_number'] + . ', Invoice Number: ' . $data['invoice_number'] + . ', Inspection Lot Number: ' . $data['inspection_lot_number']; - // return $data; - // } + Notification::make() + ->title('Duplicate Record') + ->body($message) + ->danger() + ->send(); + + throw ValidationException::withMessages([ + 'document_number' => $message, + ]); + } + + return $data; + } }