Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

DocumentNumber.php 892B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. namespace App\Utilities;
  3. use App\Contracts\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 $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. }