| 123456789101112131415161718192021222324252627282930313233 | 
							- <?php
 - 
 - namespace App\Utilities;
 - 
 - use App\Interfaces\Utility\DocumentNumber as DocumentNumberInterface;
 - use Illuminate\Database\Eloquent\Model;
 - 
 - class DocumentNumber implements DocumentNumberInterface
 - {
 -     public function getNextNumber(?Model $model, ?string $type, int|string $number, string $prefix, int|string $digits, bool|null $padded = false): string
 -     {
 -         if ($model) {
 -             $numberNext = $model?->newQuery()
 -             ->where('type', $type)
 -             ->value($number);
 -         } else {
 -             $numberNext = $number;
 -         }
 - 
 -         if ($padded) {
 -             return $prefix . str_pad($numberNext, $digits, '0', STR_PAD_LEFT);
 -         }
 - 
 -         return $numberNext;
 -     }
 - 
 -     public function incrementNumber(Model $model, string $type): void
 -     {
 -         $model->newQuery()
 -             ->where('type', $type)
 -             ->increment('number_next');
 -     }
 - }
 
 
  |