From 5b54fd17959399a1ecb7ee0d10dbd5a7c41b29f3 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Wed, 7 Oct 2026 15:19:07 +0530 Subject: [PATCH] Changed logic according to serial number removed to serial number logic in bulk sticker printing page --- app/Filament/Pages/BulkStickerPrinting.php | 126 +++++++++++---------- 1 file changed, 67 insertions(+), 59 deletions(-) diff --git a/app/Filament/Pages/BulkStickerPrinting.php b/app/Filament/Pages/BulkStickerPrinting.php index d5968b2b..45599f4e 100644 --- a/app/Filament/Pages/BulkStickerPrinting.php +++ b/app/Filament/Pages/BulkStickerPrinting.php @@ -24,6 +24,7 @@ use Filament\Forms\Form; use Filament\Forms\Components\Section; use Filament\Forms\Components\Select; use Filament\Forms\Components\TextInput; +use Illuminate\Support\Facades\Log; class BulkStickerPrinting extends Page implements HasForms { @@ -872,18 +873,18 @@ class BulkStickerPrinting extends Page implements HasForms return; } - if($stickerId == 'SelfPriming Monoblock Pump Dual'){ - if ($fromSerNo % 2 == 0 || $toSerNo % 2 != 0) { + // if($stickerId == 'SelfPriming Monoblock Pump Dual'){ + // if ($fromSerNo % 2 == 0 || $toSerNo % 2 != 0) { - Notification::make() - ->danger() - ->title('Invalid Serial Number') - ->body('For SelfPriming Monoblock Pump Dual, serial numbers must be even.') - ->send(); + // Notification::make() + // ->danger() + // ->title('Invalid Serial Number') + // ->body('For SelfPriming Monoblock Pump Dual, serial numbers must be even.') + // ->send(); - return; - } - } + // return; + // } + // } $pOrderExist = ClassCharacteristic::where('plant_id',$plantId)->where('aufnr', $pOrder)->first(); @@ -915,25 +916,22 @@ class BulkStickerPrinting extends Page implements HasForms } } - $updatePrintStatusCompleted = StickerOrder::where('plant_id', $plantId)->where('production_order', $pOrder)->where('sticker_id', $stickerId)->where('from_serial_number', $fromSerNo)->where('to_serial_number', $toSerNo)->where('sticker_id', $stickerId)->where('print_status', 'Printed')->first(); + // $updatePrintStatusCompleted = StickerOrder::where('plant_id', $plantId)->where('production_order', $pOrder)->where('sticker_id', $stickerId)->where('from_serial_number', $fromSerNo)->where('to_serial_number', $toSerNo)->where('sticker_id', $stickerId)->where('print_status', 'Printed')->first(); - if ($updatePrintStatusCompleted) { - Notification::make() - ->danger() - ->title('Duplicate Sticker') - ->body("Already StickerId '$stickerId' generated successfully for Production Order '$pOrder' and plant '$plantName'.") - ->send(); - return; - } + // if ($updatePrintStatusCompleted) { + // Notification::make() + // ->danger() + // ->title('Duplicate Sticker') + // ->body("Already StickerId '$stickerId' generated successfully for Production Order '$pOrder' and plant '$plantName'.") + // ->send(); + // return; + // } $existingSticker = StickerOrder::where('plant_id', $plantId) ->where('production_order', $pOrder) ->where('sticker_id', $stickerId) ->where('print_status', 'Printed') - ->where(function ($query) use ($fromSerNo, $toSerNo) { - $query->whereIn('from_serial_number', [$fromSerNo, $toSerNo]) - ->orWhereIn('to_serial_number', [$fromSerNo, $toSerNo]); - }) + ->whereIn('serial_number', [$fromSerNo, $toSerNo]) ->first(); if ($existingSticker) { @@ -1157,29 +1155,6 @@ class BulkStickerPrinting extends Page implements HasForms $pdfContent ); - $written = file_put_contents( - $tempPdfPath, - $pdfContent - ); - - \Log::info('STICKER PDF DEBUG', [ - 'path' => $tempPdfPath, - 'written' => $written, - 'exists' => file_exists($tempPdfPath), - 'size' => file_exists($tempPdfPath) ? filesize($tempPdfPath) : 0, - 'header' => substr($pdfContent, 0, 10), - ]); - - if ($written === false) { - Notification::make() - ->danger() - ->title('PDF Save Failed') - ->body('Unable to save generated PDF.') - ->send(); - - return; - } - $pdfUrl = route( 'sticker.preview', [ @@ -1193,20 +1168,54 @@ class BulkStickerPrinting extends Page implements HasForms $item = Item::where('id', $itemCharacteristicId)->where('plant_id', $plantId)->first(); - $updatePrintStatus = StickerOrder::where('plant_id', $plantId)->where('production_order', $pOrder)->where('from_serial_number', $fromSerNo)->where('to_serial_number', $toSerNo)->first(); + // $updatePrintStatus = StickerOrder::where('plant_id', $plantId)->where('production_order', $pOrder)->where('from_serial_number', $fromSerNo)->where('to_serial_number', $toSerNo)->first(); - if (!$updatePrintStatus) { - StickerOrder::create([ - 'plant_id' => $plantId, - 'item_id' => $item->id, - 'production_order' => $pOrder, - 'from_serial_number' => $fromSerNo, - 'to_serial_number' => $toSerNo, - 'sticker_id' => $stickerId, - 'print_status' => 'Printed', - ]); + // if (!$updatePrintStatus) { + // StickerOrder::create([ + // 'plant_id' => $plantId, + // 'item_id' => $item->id, + // 'production_order' => $pOrder, + // 'serial_number' => $fromSerNo, + // 'to_serial_number' => $toSerNo, + // 'sticker_id' => $stickerId, + // 'print_status' => 'Printed', + // ]); - Notification::make() + // Notification::make() + // ->success() + // ->title('Sticker Generated') + // ->body("{$totalStickers} sticker(s) generated successfully.") + // ->seconds(3) + // ->send(); + + // return; + // } + + $from = (int) $fromSerNo; + $to = (int) $toSerNo; + + for ($serial = $from; $serial <= $to; $serial++) { + + $serialNumber = (string) $serial; + + $exists = StickerOrder::where('plant_id', $plantId) + ->where('production_order', $pOrder) + ->where('serial_number', $serialNumber) + ->first(); + + if (!$exists) { + StickerOrder::create([ + 'plant_id' => $plantId, + 'item_id' => $item->id, + 'production_order' => $pOrder, + 'serial_number' => $serialNumber, + 'sticker_id' => $stickerId, + 'print_status' => 'Printed', + ]); + } + } + + Notification::make() ->success() ->title('Sticker Generated') ->body("{$totalStickers} sticker(s) generated successfully.") @@ -1214,7 +1223,6 @@ class BulkStickerPrinting extends Page implements HasForms ->send(); return; - } } -- 2.49.1