37 lines
1.1 KiB
PHP
Executable File
37 lines
1.1 KiB
PHP
Executable File
<?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'));
|
|
}
|
|
}
|