Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

DocumentNumber.php 893B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. namespace App\Utilities;
  3. use App\Interfaces\Utility\DocumentNumber as DocumentNumberInterface;
  4. use Illuminate\Database\Eloquent\Model;
  5. class DocumentNumber implements DocumentNumberInterface
  6. {
  7. public function getNextNumber(?Model $model, ?string $type, int|string $number, string $prefix, int|string $digits, bool|null $padded = false): string
  8. {
  9. if ($model) {
  10. $numberNext = $model?->newQuery()
  11. ->where('type', $type)
  12. ->value($number);
  13. } else {
  14. $numberNext = $number;
  15. }
  16. if ($padded) {
  17. return $prefix . str_pad($numberNext, $digits, '0', STR_PAD_LEFT);
  18. }
  19. return $numberNext;
  20. }
  21. public function incrementNumber(Model $model, string $type): void
  22. {
  23. $model->newQuery()
  24. ->where('type', $type)
  25. ->increment('number_next');
  26. }
  27. }