netgescon-day0/app/Http/Controllers/Admin/EtichetteController.php

37 lines
1.1 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\Stabile;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
class EtichetteController extends Controller
{
/**
* Etichetta per faldone (formato Dymo 99014 54x101mm).
*
* Query params:
* - stabile_id (required)
* - anno (default: current year)
* - faldone (required)
*/
public function faldone(Request $request)
{
$validated = $request->validate([
'stabile_id' => ['required', 'integer', 'exists:stabili,id'],
'anno' => ['nullable', 'digits:4'],
'faldone' => ['required', 'string', 'max:50'],
]);
$stabile = Stabile::findOrFail((int) $validated['stabile_id']);
$anno = (string) ($validated['anno'] ?? now()->format('Y'));
$faldone = trim((string) $validated['faldone']);
$codiceUnico = sprintf('STB-%d-%s-F%s', (int) $stabile->id, $anno, Str::upper($faldone));
return view('admin.etichette.faldone', compact('stabile', 'anno', 'faldone', 'codiceUnico'));
}
}