Changed logic according to serial number removed to serial number logic in bulk sticker printing page #1199

Merged
jothi merged 1 commits from ranjith-dev into master 2026-10-07 09:49:22 +00:00

View File

@@ -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;
}
}